Remove compiler downgrade (#32474)
authorViktor Hofer <viktor.hofer@microsoft.com>
Thu, 20 Feb 2020 22:28:17 +0000 (23:28 +0100)
committerGitHub <noreply@github.com>
Thu, 20 Feb 2020 22:28:17 +0000 (14:28 -0800)
* Remove compiler downgrade

* Fix nullability warnings on S.Text.Json due to attributes now evaluated

* Fix compiler warnings in System.Runtime.cs

Co-authored-by: Santiago Fernandez Madero <safern@microsoft.com>
eng/Versions.props
src/libraries/System.Runtime/ref/System.Runtime.cs
src/libraries/System.Text.Json/src/System/Text/Json/Serialization/Converters/Collection/ArrayConverter.cs
src/libraries/System.Text.Json/src/System/Text/Json/Serialization/Converters/Collection/DictionaryDefaultConverter.cs
src/libraries/System.Text.Json/src/System/Text/Json/Serialization/Converters/Collection/DictionaryOfStringTValueConverter.cs
src/libraries/System.Text.Json/src/System/Text/Json/Serialization/Converters/Collection/IEnumerableDefaultConverter.cs
src/libraries/System.Text.Json/src/System/Text/Json/Serialization/Converters/Collection/ListOfTConverter.cs
src/libraries/System.Text.Json/src/System/Text/Json/Serialization/Converters/Object/ObjectDefaultConverter.cs
src/libraries/System.Text.Json/src/System/Text/Json/Serialization/JsonConverterOfT.cs
src/libraries/System.Text.Json/src/System/Text/Json/Serialization/JsonPropertyInfoOfTTypeToConvert.cs

index db93a1c..926f5f0 100644 (file)
@@ -16,8 +16,6 @@
     <DotNetFinalVersionKind Condition="'$(StabilizePackageVersion)' == 'true'">release</DotNetFinalVersionKind>
     <!-- Opt-in/out repo features -->
     <UsingToolMicrosoftNetCompilers>true</UsingToolMicrosoftNetCompilers>
-    <!-- TODO: Remove when nullability changes are finalized: https://github.com/dotnet/runtime/pull/32090 -->
-    <MicrosoftNetCompilersToolsetVersion>3.5.0-beta2-20074-05</MicrosoftNetCompilersToolsetVersion>
     <UsingToolIbcOptimization>true</UsingToolIbcOptimization>
     <UsingToolXliff>false</UsingToolXliff>
     <!-- Paths used during restore -->
index 526b074..ee19039 100644 (file)
@@ -1855,12 +1855,12 @@ namespace System
         public static System.Version Version { get { throw null; } }
         public static long WorkingSet { get { throw null; } }
         [System.Diagnostics.CodeAnalysis.DoesNotReturnAttribute]
-        public static void Exit(int exitCode) { }
+        public static void Exit(int exitCode) { throw null; }
         public static string ExpandEnvironmentVariables(string name) { throw null; }
         [System.Diagnostics.CodeAnalysis.DoesNotReturnAttribute]
-        public static void FailFast(string? message) { }
+        public static void FailFast(string? message) { throw null; }
         [System.Diagnostics.CodeAnalysis.DoesNotReturnAttribute]
-        public static void FailFast(string? message, System.Exception? exception) { }
+        public static void FailFast(string? message, System.Exception? exception) { throw null; }
         public static string[] GetCommandLineArgs() { throw null; }
         public static string? GetEnvironmentVariable(string variable) { throw null; }
         public static string? GetEnvironmentVariable(string variable, System.EnvironmentVariableTarget target) { throw null; }
index 9b9137a..67b5fd4 100644 (file)
@@ -48,7 +48,8 @@ namespace System.Text.Json.Serialization.Converters
                 // Fast path that avoids validation and extra indirection.
                 for (; index < array.Length; index++)
                 {
-                    elementConverter.Write(writer, array[index], options);
+                    // TODO: https://github.com/dotnet/runtime/issues/32523
+                    elementConverter.Write(writer, array[index]!, options);
                 }
             }
             else
index eaef91f..cc26ad1 100644 (file)
@@ -164,7 +164,7 @@ namespace System.Text.Json.Serialization.Converters
                     }
                     else
                     {
-                        value = default!;
+                        value = default;
                         return false;
                     }
                 }
@@ -199,7 +199,7 @@ namespace System.Text.Json.Serialization.Converters
                         // Read the key name.
                         if (!reader.Read())
                         {
-                            value = default!;
+                            value = default;
                             return false;
                         }
                     }
@@ -238,7 +238,7 @@ namespace System.Text.Json.Serialization.Converters
 
                         if (!SingleValueReadWithReadAhead(elementConverter.ClassType, ref reader, ref state))
                         {
-                            value = default!;
+                            value = default;
                             return false;
                         }
                     }
@@ -249,7 +249,7 @@ namespace System.Text.Json.Serialization.Converters
                         bool success = elementConverter.TryRead(ref reader, typeof(TValue), options, ref state, out TValue element);
                         if (!success)
                         {
-                            value = default!;
+                            value = default;
                             return false;
                         }
 
index c4685eb..19c7811 100644 (file)
@@ -62,7 +62,8 @@ namespace System.Text.Json.Serialization.Converters
                 {
                     string key = GetKeyName(enumerator.Current.Key, ref state, options);
                     writer.WritePropertyName(key);
-                    converter.Write(writer, enumerator.Current.Value, options);
+                    // TODO: https://github.com/dotnet/runtime/issues/32523
+                    converter.Write(writer, enumerator.Current.Value!, options);
                 } while (enumerator.MoveNext());
             }
             else
index 4f4ea83..4e5a39b 100644 (file)
@@ -125,7 +125,7 @@ namespace System.Text.Json.Serialization.Converters
                     }
                     else
                     {
-                        value = default!;
+                        value = default;
                         return false;
                     }
                 }
@@ -160,7 +160,7 @@ namespace System.Text.Json.Serialization.Converters
 
                             if (!SingleValueReadWithReadAhead(elementConverter.ClassType, ref reader, ref state))
                             {
-                                value = default!;
+                                value = default;
                                 return false;
                             }
                         }
@@ -180,7 +180,7 @@ namespace System.Text.Json.Serialization.Converters
                             // Get the value from the converter and add it.
                             if (!elementConverter.TryRead(ref reader, typeof(TElement), options, ref state, out TElement element))
                             {
-                                value = default!;
+                                value = default;
                                 return false;
                             }
 
@@ -203,7 +203,7 @@ namespace System.Text.Json.Serialization.Converters
                     {
                         if (!reader.Read())
                         {
-                            value = default!;
+                            value = default;
                             return false;
                         }
 
index 27f3df8..d553143 100644 (file)
@@ -41,7 +41,8 @@ namespace System.Text.Json.Serialization.Converters
                 // Fast path that avoids validation and extra indirection.
                 for (; index < list.Count; index++)
                 {
-                    elementConverter.Write(writer, list[index], options);
+                    // TODO: https://github.com/dotnet/runtime/issues/32523
+                    elementConverter.Write(writer, list[index]!, options);
                 }
             }
             else
index b2ede3f..f2de188 100644 (file)
@@ -110,7 +110,7 @@ namespace System.Text.Json.Serialization.Converters
                         }
                         else
                         {
-                            value = default!;
+                            value = default;
                             return false;
                         }
                     }
@@ -155,7 +155,7 @@ namespace System.Text.Json.Serialization.Converters
                         {
                             // The read-ahead functionality will do the Read().
                             state.Current.ReturnValue = obj;
-                            value = default!;
+                            value = default;
                             return false;
                         }
                     }
@@ -199,7 +199,7 @@ namespace System.Text.Json.Serialization.Converters
                             if (!reader.TrySkip())
                             {
                                 state.Current.ReturnValue = obj;
-                                value = default!;
+                                value = default;
                                 return false;
                             }
 
@@ -215,7 +215,7 @@ namespace System.Text.Json.Serialization.Converters
                             if (!SingleValueReadWithReadAhead(jsonPropertyInfo.ConverterBase.ClassType, ref reader, ref state))
                             {
                                 state.Current.ReturnValue = obj;
-                                value = default!;
+                                value = default;
                                 return false;
                             }
                         }
@@ -225,7 +225,7 @@ namespace System.Text.Json.Serialization.Converters
                             if (!SingleValueReadWithReadAhead(ClassType.Value, ref reader, ref state))
                             {
                                 state.Current.ReturnValue = obj;
-                                value = default!;
+                                value = default;
                                 return false;
                             }
                         }
@@ -239,7 +239,7 @@ namespace System.Text.Json.Serialization.Converters
                             if (!jsonPropertyInfo.ReadJsonAndSetMember(obj, ref state, ref reader))
                             {
                                 state.Current.ReturnValue = obj;
-                                value = default!;
+                                value = default;
                                 return false;
                             }
                         }
@@ -249,7 +249,7 @@ namespace System.Text.Json.Serialization.Converters
                             {
                                 // No need to set 'value' here since JsonElement must be read in full.
                                 state.Current.ReturnValue = obj;
-                                value = default!;
+                                value = default;
                                 return false;
                             }
                         }
index dbfedb2..1e2c191 100644 (file)
@@ -63,7 +63,8 @@ namespace System.Text.Json.Serialization
         // Provide a default implementation for value converters.
         internal virtual bool OnTryWrite(Utf8JsonWriter writer, T value, JsonSerializerOptions options, ref WriteStack state)
         {
-            Write(writer, value, options);
+            // TODO: https://github.com/dotnet/runtime/issues/32523
+            Write(writer, value!, options);
             return true;
         }
 
@@ -248,7 +249,8 @@ namespace System.Text.Json.Serialization
 
                 int originalPropertyDepth = writer.CurrentDepth;
 
-                Write(writer, value, options);
+                // TODO: https://github.com/dotnet/runtime/issues/32523
+                Write(writer, value!, options);
                 VerifyWrite(originalPropertyDepth, writer);
 
                 return true;
index 6487e8a..15ec6a3 100644 (file)
@@ -139,8 +139,8 @@ namespace System.Text.Json
             {
                 if (!IgnoreNullValues)
                 {
-                    TTypeToConvert value = default!;
-                    Set!(obj, value);
+                    TTypeToConvert value = default;
+                    Set!(obj, value!);
                 }
 
                 success = true;