diff options
Diffstat (limited to 'src/mscorlib/src/System/Text/EncodingNLS.cs')
-rw-r--r-- | src/mscorlib/src/System/Text/EncodingNLS.cs | 125 |
1 files changed, 0 insertions, 125 deletions
diff --git a/src/mscorlib/src/System/Text/EncodingNLS.cs b/src/mscorlib/src/System/Text/EncodingNLS.cs deleted file mode 100644 index cb6ed8a52c..0000000000 --- a/src/mscorlib/src/System/Text/EncodingNLS.cs +++ /dev/null @@ -1,125 +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. - -namespace System.Text -{ - - using System; - using System.Diagnostics.Contracts; - using System.Collections; - using System.Runtime.Remoting; - using System.Globalization; - using System.Threading; - using Win32Native = Microsoft.Win32.Win32Native; - - // This class overrides Encoding with the things we need for our NLS Encodings - - [Serializable] - internal abstract class EncodingNLS : Encoding - { - protected EncodingNLS(int codePage) : base(codePage) - { - } - - // NOTE: Many methods in this class forward to EncodingForwarder for - // validating arguments/wrapping the unsafe methods in this class - // which do the actual work. That class contains - // shared logic for doing this which is used by - // ASCIIEncoding, EncodingNLS, UnicodeEncoding, UTF32Encoding, - // UTF7Encoding, and UTF8Encoding. - // The reason the code is separated out into a static class, rather - // than a base class which overrides all of these methods for us - // (which is what EncodingNLS is for internal Encodings) is because - // that's really more of an implementation detail so it's internal. - // At the same time, C# doesn't allow a public class subclassing an - // internal/private one, so we end up having to re-override these - // methods in all of the public Encodings + EncodingNLS. - - // Returns the number of bytes required to encode a range of characters in - // a character array. - - public override int GetByteCount(char[] chars, int index, int count) - { - return EncodingForwarder.GetByteCount(this, chars, index, count); - } - - public override int GetByteCount(String s) - { - return EncodingForwarder.GetByteCount(this, s); - } - - public override unsafe int GetByteCount(char* chars, int count) - { - return EncodingForwarder.GetByteCount(this, chars, count); - } - - public override int GetBytes(String s, int charIndex, int charCount, - byte[] bytes, int byteIndex) - { - return EncodingForwarder.GetBytes(this, s, charIndex, charCount, bytes, byteIndex); - } - - // Encodes a range of characters in a character array into a range of bytes - // in a byte array. An exception occurs if the byte array is not large - // enough to hold the complete encoding of the characters. The - // GetByteCount method can be used to determine the exact number of - // bytes that will be produced for a given range of characters. - // Alternatively, the GetMaxByteCount method can be used to - // determine the maximum number of bytes that will be produced for a given - // number of characters, regardless of the actual character values. - - public override int GetBytes(char[] chars, int charIndex, int charCount, - byte[] bytes, int byteIndex) - { - return EncodingForwarder.GetBytes(this, chars, charIndex, charCount, bytes, byteIndex); - } - - public override unsafe int GetBytes(char* chars, int charCount, byte* bytes, int byteCount) - { - return EncodingForwarder.GetBytes(this, chars, charCount, bytes, byteCount); - } - - // Returns the number of characters produced by decoding a range of bytes - // in a byte array. - - public override int GetCharCount(byte[] bytes, int index, int count) - { - return EncodingForwarder.GetCharCount(this, bytes, index, count); - } - - public override unsafe int GetCharCount(byte* bytes, int count) - { - return EncodingForwarder.GetCharCount(this, bytes, count); - } - - public override int GetChars(byte[] bytes, int byteIndex, int byteCount, - char[] chars, int charIndex) - { - return EncodingForwarder.GetChars(this, bytes, byteIndex, byteCount, chars, charIndex); - } - - public unsafe override int GetChars(byte* bytes, int byteCount, char* chars, int charCount) - { - return EncodingForwarder.GetChars(this, bytes, byteCount, chars, charCount); - } - - // Returns a string containing the decoded representation of a range of - // bytes in a byte array. - - public override String GetString(byte[] bytes, int index, int count) - { - return EncodingForwarder.GetString(this, bytes, index, count); - } - - public override Decoder GetDecoder() - { - return new DecoderNLS(this); - } - - public override Encoder GetEncoder() - { - return new EncoderNLS(this); - } - } -} |