From 5b00a73b86470d77103808e2b59b3c42ecf46223 Mon Sep 17 00:00:00 2001 From: Santiago Fernandez Madero Date: Wed, 27 Mar 2019 10:54:45 -0700 Subject: [PATCH] Nullable: System.Char (#23480) --- src/System.Private.CoreLib/shared/System/Char.cs | 40 +++++++++++++----------- 1 file changed, 21 insertions(+), 19 deletions(-) diff --git a/src/System.Private.CoreLib/shared/System/Char.cs b/src/System.Private.CoreLib/shared/System/Char.cs index 50dd092..80dce56 100644 --- a/src/System.Private.CoreLib/shared/System/Char.cs +++ b/src/System.Private.CoreLib/shared/System/Char.cs @@ -12,6 +12,7 @@ ** ===========================================================*/ +#nullable enable using System.Diagnostics; using System.Globalization; using System.Runtime.InteropServices; @@ -108,7 +109,7 @@ namespace System // Used for comparing two boxed Char objects. // - public override bool Equals(object obj) + public override bool Equals(object? obj) { if (!(obj is char)) { @@ -129,7 +130,7 @@ namespace System // null is considered to be less than any instance. // If object is not of type Char, this method throws an ArgumentException. // - public int CompareTo(object value) + public int CompareTo(object? value) { if (value == null) { @@ -154,7 +155,7 @@ namespace System return char.ToString(m_value); } - public string ToString(IFormatProvider provider) + public string ToString(IFormatProvider? provider) { return char.ToString(m_value); } @@ -183,7 +184,7 @@ namespace System return s[0]; } - public static bool TryParse(string s, out char result) + public static bool TryParse(string? s, out char result) { result = '\0'; if (s == null) @@ -426,80 +427,81 @@ namespace System } - bool IConvertible.ToBoolean(IFormatProvider provider) + bool IConvertible.ToBoolean(IFormatProvider? provider) { throw new InvalidCastException(SR.Format(SR.InvalidCast_FromTo, "Char", "Boolean")); } - char IConvertible.ToChar(IFormatProvider provider) + char IConvertible.ToChar(IFormatProvider? provider) { return m_value; } - sbyte IConvertible.ToSByte(IFormatProvider provider) + sbyte IConvertible.ToSByte(IFormatProvider? provider) { return Convert.ToSByte(m_value); } - byte IConvertible.ToByte(IFormatProvider provider) + byte IConvertible.ToByte(IFormatProvider? provider) { return Convert.ToByte(m_value); } - short IConvertible.ToInt16(IFormatProvider provider) + short IConvertible.ToInt16(IFormatProvider? provider) { return Convert.ToInt16(m_value); } - ushort IConvertible.ToUInt16(IFormatProvider provider) + ushort IConvertible.ToUInt16(IFormatProvider? provider) { return Convert.ToUInt16(m_value); } - int IConvertible.ToInt32(IFormatProvider provider) + int IConvertible.ToInt32(IFormatProvider? provider) { return Convert.ToInt32(m_value); } - uint IConvertible.ToUInt32(IFormatProvider provider) + uint IConvertible.ToUInt32(IFormatProvider? provider) { return Convert.ToUInt32(m_value); } - long IConvertible.ToInt64(IFormatProvider provider) + long IConvertible.ToInt64(IFormatProvider? provider) { return Convert.ToInt64(m_value); } - ulong IConvertible.ToUInt64(IFormatProvider provider) + ulong IConvertible.ToUInt64(IFormatProvider? provider) { return Convert.ToUInt64(m_value); } - float IConvertible.ToSingle(IFormatProvider provider) + float IConvertible.ToSingle(IFormatProvider? provider) { throw new InvalidCastException(SR.Format(SR.InvalidCast_FromTo, "Char", "Single")); } - double IConvertible.ToDouble(IFormatProvider provider) + double IConvertible.ToDouble(IFormatProvider? provider) { throw new InvalidCastException(SR.Format(SR.InvalidCast_FromTo, "Char", "Double")); } - decimal IConvertible.ToDecimal(IFormatProvider provider) + decimal IConvertible.ToDecimal(IFormatProvider? provider) { throw new InvalidCastException(SR.Format(SR.InvalidCast_FromTo, "Char", "Decimal")); } - DateTime IConvertible.ToDateTime(IFormatProvider provider) + DateTime IConvertible.ToDateTime(IFormatProvider? provider) { throw new InvalidCastException(SR.Format(SR.InvalidCast_FromTo, "Char", "DateTime")); } - object IConvertible.ToType(Type type, IFormatProvider provider) + object IConvertible.ToType(Type type, IFormatProvider? provider) { return Convert.DefaultToType((IConvertible)this, type, provider); } + public static bool IsControl(char c) { if (IsLatin1(c)) -- 2.7.4