-nomethod System.Reflection.Emit.Tests.DynamicILInfoTests.SetX_NullInput_ThrowsArgumentNullException
-nomethod System.Reflection.Emit.Tests.DynamicMethodctor1.InvalidOwner_ThrowsArgumentException
-# Exception string is different (Expect System.String vs actual String)
-# https://github.com/mono/mono/issues/15323
--nomethod System.Reflection.Emit.Tests.DynamicMethodToString.ToStringTest
-
# Expected: typeof(System.ArgumentOutOfRangeException)
# Actual: typeof(System.OverflowException): Arithmetic operation resulted in an overflow.
# https://github.com/mono/mono/issues/15334
-nomethod System.Xml.Tests.CTransformResolverTest.TC_AbsolutePath_Transform
-nomethod System.Tests.StringTests.NormalizationTest
-nomethod System.Globalization.Tests.StringNormalizationAllTests.Normalize
--nomethod System.Globalization.Tests.StringNormalizationTests.IsNormalized
\ No newline at end of file
+-nomethod System.Globalization.Tests.StringNormalizationTests.IsNormalized
+
+# * Assertion at method-to-ir.c:12425, condition `var->opcode == OP_REGOFFSET' not met
+-nomethod System.Runtime.Tests.NullableMetadataTests.ShimsHaveOnlyTypeForwards
\ No newline at end of file
<Compile Include="src\System.Runtime.InteropServices\GCHandle.cs" />
<Compile Include="src\System.Runtime.InteropServices\Marshal.cs" />
<Compile Include="src\System.Runtime.InteropServices\MarshalAsAttribute.cs" />
+ <Compile Include="src\System.Runtime.InteropServices\SafeHandle.cs" />
<Compile Include="src\System.Runtime.Loader\AssemblyLoadContext.cs" />
<Compile Include="src\System.Runtime.Loader\AssemblyDependencyResolver.cs" />
<Compile Include="src\System.Runtime.Remoting.Contexts\Context.cs" />
#if MONO_FEATURE_SRE
using System;
+using System.Text;
using System.Reflection;
using System.Reflection.Emit;
using System.Globalization;
}
public override string ToString () {
- string parms = String.Empty;
- ParameterInfo[] p = GetParametersInternal ();
- for (int i = 0; i < p.Length; ++i) {
- if (i > 0)
- parms = parms + ", ";
- parms = parms + p [i].ParameterType.Name;
- }
- return ReturnType.Name+" "+Name+"("+parms+")";
+ var sbName = new ValueStringBuilder (MethodNameBufferSize);
+ sbName.Append (ReturnType.FormatTypeName ());
+ sbName.Append (' ');
+ sbName.Append (Name);
+ sbName.Append ('(');
+ AppendParameters (ref sbName, parameters ?? Array.Empty<Type> (), CallingConvention);
+ sbName.Append (')');
+ return sbName.ToString ();
}
public override MethodAttributes Attributes {
--- /dev/null
+// 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.Runtime.CompilerServices;
+
+namespace System.Runtime.InteropServices
+{
+ // Mono runtime relies on exact layout
+ [StructLayout (LayoutKind.Sequential)]
+ public abstract partial class SafeHandle
+ {
+ }
+}