diff options
Diffstat (limited to 'src/mscorlib/corefx/System/Globalization/TextInfo.Unix.cs')
-rw-r--r-- | src/mscorlib/corefx/System/Globalization/TextInfo.Unix.cs | 126 |
1 files changed, 0 insertions, 126 deletions
diff --git a/src/mscorlib/corefx/System/Globalization/TextInfo.Unix.cs b/src/mscorlib/corefx/System/Globalization/TextInfo.Unix.cs deleted file mode 100644 index 67836d89d6..0000000000 --- a/src/mscorlib/corefx/System/Globalization/TextInfo.Unix.cs +++ /dev/null @@ -1,126 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information. - -using System.Diagnostics; -using System.Diagnostics.Contracts; -using System.Security; -using System.Text; - -namespace System.Globalization -{ - public partial class TextInfo - { - [NonSerialized] - private Tristate _needsTurkishCasing = Tristate.NotInitialized; - - ////////////////////////////////////////////////////////////////////////// - //// - //// TextInfo Constructors - //// - //// Implements CultureInfo.TextInfo. - //// - ////////////////////////////////////////////////////////////////////////// - internal unsafe TextInfo(CultureData cultureData) - { - _cultureData = cultureData; - _cultureName = _cultureData.CultureName; - _textInfoName = _cultureData.STEXTINFO; - FinishInitialization(_textInfoName); - } - - private void FinishInitialization(string textInfoName) - { - } - - private unsafe string ChangeCase(string s, bool toUpper) - { - Debug.Assert(s != null); - - if (s.Length == 0) - { - return string.Empty; - } - - string result = string.FastAllocateString(s.Length); - - fixed (char* pSource = s) - { - fixed (char* pResult = result) - { - if (IsAsciiCasingSameAsInvariant && s.IsAscii()) - { - int length = s.Length; - char* a = pSource, b = pResult; - if (toUpper) - { - while (length-- != 0) - { - *b++ = ToUpperAsciiInvariant(*a++); - } - } - else - { - while (length-- != 0) - { - *b++ = ToLowerAsciiInvariant(*a++); - } - } - } - else - { - ChangeCase(pSource, s.Length, pResult, result.Length, toUpper); - } - } - } - - return result; - } - - private unsafe char ChangeCase(char c, bool toUpper) - { - char dst = default(char); - - ChangeCase(&c, 1, &dst, 1, toUpper); - - return dst; - } - - // ----------------------------- - // ---- PAL layer ends here ---- - // ----------------------------- - - private bool NeedsTurkishCasing(string localeName) - { - Debug.Assert(localeName != null); - - return CultureInfo.GetCultureInfo(localeName).CompareInfo.Compare("\u0131", "I", CompareOptions.IgnoreCase) == 0; - } - - private bool IsInvariant { get { return _cultureName.Length == 0; } } - - internal unsafe void ChangeCase(char* src, int srcLen, char* dstBuffer, int dstBufferCapacity, bool bToUpper) - { - if (IsInvariant) - { - Interop.GlobalizationInterop.ChangeCaseInvariant(src, srcLen, dstBuffer, dstBufferCapacity, bToUpper); - } - else - { - if (_needsTurkishCasing == Tristate.NotInitialized) - { - _needsTurkishCasing = NeedsTurkishCasing(_textInfoName) ? Tristate.True : Tristate.False; - } - if (_needsTurkishCasing == Tristate.True) - { - Interop.GlobalizationInterop.ChangeCaseTurkish(src, srcLen, dstBuffer, dstBufferCapacity, bToUpper); - } - else - { - Interop.GlobalizationInterop.ChangeCase(src, srcLen, dstBuffer, dstBufferCapacity, bToUpper); - } - } - } - - } -} |