Suppress more managed TypeReference warnings-as-errors (#80931)
authorStephen Toub <stoub@microsoft.com>
Fri, 20 Jan 2023 18:54:47 +0000 (13:54 -0500)
committerGitHub <noreply@github.com>
Fri, 20 Jan 2023 18:54:47 +0000 (13:54 -0500)
src/mono/System.Private.CoreLib/src/System/ArgIterator.cs
src/mono/System.Private.CoreLib/src/System/Reflection/RuntimeFieldInfo.cs
src/mono/System.Private.CoreLib/src/System/TypedReference.Mono.cs

index 1209465f604ced03a53d236d5aa0ed21befc525a..9f65c307c12cb06987a35a4037fa952a4c42517b 100644 (file)
@@ -63,7 +63,9 @@ namespace System
             TypedReference result = default;
             unsafe
             {
+#pragma warning disable CS8500 // This takes the address of, gets the size of, or declares a pointer to a managed type ('TypedReference')
                 IntGetNextArg(&result);
+#pragma warning restore CS8500
             }
             return result;
         }
@@ -79,7 +81,9 @@ namespace System
             TypedReference result = default;
             unsafe
             {
+#pragma warning disable CS8500 // This takes the address of, gets the size of, or declares a pointer to a managed type ('TypedReference')
                 IntGetNextArgWithType(&result, rth.Value);
+#pragma warning restore CS8500
             }
             return result;
         }
index 4000f316ac6322cd2c2cca1845e8f12a811f7841..fe87104b6359aa26d31dd5f0390f931b90d5e222 100644 (file)
@@ -111,7 +111,9 @@ namespace System.Reflection
             unsafe
             {
                 // Passing TypedReference by reference is easier to make correct in native code
+#pragma warning disable CS8500 // This takes the address of, gets the size of, or declares a pointer to a managed type ('TypedReference')
                 RuntimeFieldHandle.SetValueDirect(this, (RuntimeType)FieldType, &obj, value, (RuntimeType?)DeclaringType);
+#pragma warning restore CS8500
             }
         }
 
@@ -125,7 +127,9 @@ namespace System.Reflection
             unsafe
             {
                 // Passing TypedReference by reference is easier to make correct in native code
+#pragma warning disable CS8500 // This takes the address of, gets the size of, or declares a pointer to a managed type ('TypedReference')
                 return RuntimeFieldHandle.GetValueDirect(this, (RuntimeType)FieldType, &obj, (RuntimeType?)DeclaringType);
+#pragma warning restore CS8500
             }
         }
 
index d9003bfecc6c01cfb17d449840a52a7af8e266a1..4997c59e5d77418a63c9bba476d7a7b473e4230b 100644 (file)
@@ -18,7 +18,9 @@ namespace System
 
         public static unsafe object? ToObject(TypedReference value)
         {
+#pragma warning disable CS8500 // This takes the address of, gets the size of, or declares a pointer to a managed type ('TypedReference')
             return InternalToObject(&value);
+#pragma warning restore CS8500
         }
 
         [MethodImpl(MethodImplOptions.InternalCall)]