Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/mono.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'mcs/ilasm/tests/gen-meth1.il')
-rw-r--r--mcs/ilasm/tests/gen-meth1.il65
1 files changed, 65 insertions, 0 deletions
diff --git a/mcs/ilasm/tests/gen-meth1.il b/mcs/ilasm/tests/gen-meth1.il
new file mode 100644
index 00000000000..0824f3066d3
--- /dev/null
+++ b/mcs/ilasm/tests/gen-meth1.il
@@ -0,0 +1,65 @@
+// Test: Use of !!A, gen param ref by name in method signature,
+// or in constraints
+
+.assembly extern mscorlib
+{
+ .ver 2:0:0:0
+}
+.assembly 'gen-meth1'
+{
+ .custom instance void class [mscorlib]System.Runtime.CompilerServices.RuntimeCompatibilityAttribute::.ctor() = (
+ 01 00 01 00 54 02 16 57 72 61 70 4E 6F 6E 45 78 // ....T..WrapNonEx
+ 63 65 70 74 69 6F 6E 54 68 72 6F 77 73 01 ) // ceptionThrows.
+
+ .ver 0:0:0:0
+}
+.module meth1.dll
+
+ .class interface private auto ansi abstract IFoo`1<A>
+ {
+ }
+
+ .class private auto ansi beforefieldinit g`1<T>
+ extends [mscorlib]System.Object
+ {
+
+ .method public hidebysig specialname rtspecialname
+ instance default void .ctor () cil managed
+ {
+ .maxstack 8
+ IL_0000: ldarg.0
+ IL_0001: call instance void object::.ctor()
+ IL_0006: ret
+ }
+
+ .method public static hidebysig
+ default !!A foo<(class g`1<!!B>)A,B> (!!B _b, !T _t, !!A _a) cil managed
+ {
+ .maxstack 1
+ .locals init (
+ !!A V_0)
+ IL_0000: ldloca.s 0
+ IL_0002: initobj !!0
+ IL_0008: ldloc.0
+ IL_0009: ret
+ }
+
+ .method public static hidebysig
+ default void meth1 () cil managed
+ {
+ .maxstack 4
+ .locals init (
+ !T V_0,
+ !T[] V_1)
+ IL_0000: ldtoken !T
+ IL_0005: call class [mscorlib]System.Type class [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle)
+ IL_000a: call object class [mscorlib]System.Activator::CreateInstance(class [mscorlib]System.Type)
+ IL_000f: unbox.any !0
+ IL_0014: stloc.0
+ IL_0015: ldc.i4.5
+ IL_0016: newarr !0
+ IL_001b: stloc.1
+ IL_001c: ret
+ }
+ }
+