1 .assembly extern mscorlib
4 .publickeytoken = (B7 7A 5C 56 19 34 E0 89 ) // .z\V.4..
6 .assembly 'generic-tailcall.2'
8 .custom instance void class [mscorlib]System.Runtime.CompilerServices.RuntimeCompatibilityAttribute::'.ctor'() = (
9 01 00 01 00 54 02 16 57 72 61 70 4E 6F 6E 45 78 // ....T..WrapNonEx
10 63 65 70 74 69 6F 6E 54 68 72 6F 77 73 01 ) // ceptionThrows.
12 .hash algorithm 0x00008004
15 .module 'generic-tailcall.2.exe' // GUID = {06726C6C-6C85-4737-B731-8585E31F7647}
18 .class public auto ansi beforefieldinit ClassA
19 extends [mscorlib]System.Object
23 .method public hidebysig specialname rtspecialname
24 instance default void '.ctor' () cil managed
26 // Method begins at RVA 0x20ec
30 IL_0001: call instance void object::'.ctor'()
32 } // end of method ClassA::.ctor
34 } // end of class ClassA
36 .class public auto ansi beforefieldinit Gen`1<T>
37 extends [mscorlib]System.Object
41 .method public hidebysig specialname rtspecialname
42 instance default void '.ctor' () cil managed
44 // Method begins at RVA 0x20f4
48 IL_0001: call instance void object::'.ctor'()
50 } // end of method Gen`1::.ctor
53 .method public hidebysig
54 instance default !T[] caller (int32 x) cil managed
56 // Method begins at RVA 0x20fc
63 IL_0004: tail. call instance !0[] class Gen`1<!T>::callee(int32)
65 } // end of method Gen`1::caller
68 .method public hidebysig
69 instance default !T[] callee (int32 x) cil managed
71 // Method begins at RVA 0x2108
77 } // end of method Gen`1::callee
79 } // end of class Gen`1
81 .class public auto ansi beforefieldinit main
82 extends [mscorlib]System.Object
86 .method public hidebysig specialname rtspecialname
87 instance default void '.ctor' () cil managed
89 // Method begins at RVA 0x2110
93 IL_0001: call instance void object::'.ctor'()
95 } // end of method main::.ctor
98 .method public static hidebysig
99 default int32 Main () cil managed
101 // Method begins at RVA 0x2118
103 // Code size 48 (0x30)
106 class Gen`1<class ClassA> V_0,
108 IL_0000: newobj instance void class Gen`1<class ClassA>::'.ctor'()
112 IL_0008: callvirt instance !0[] class Gen`1<class ClassA>::caller(int32)
115 IL_000f: callvirt instance class [mscorlib]System.Type object::GetType()
116 IL_0014: ldtoken class ClassA[]
117 IL_0019: call class [mscorlib]System.Type class [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle)
118 IL_001e: bne.un IL_002c
130 } // end of method main::Main
132 } // end of class main