Merge pull request #5382 from kumpera/pedump_fix
[mono.git] / mono / tests / bug-463303.il
1 .assembly extern mscorlib
2 {
3   .ver 2:0:0:0
4   .publickeytoken = (B7 7A 5C 56 19 34 E0 89 )
5 }
6
7 .assembly 'repro'
8 {
9   .hash algorithm 0x00008004
10   .ver  0:0:0:0
11 }
12 .module repro
13
14 .class interface public auto ansi abstract IBase
15 {
16         .method public virtual  newslot  abstract instance default void S ()  cil managed 
17         {
18     }
19 }
20
21 .class interface public auto ansi abstract IDerived     implements IBase
22 {
23 }
24
25 .class interface public auto ansi abstract IDerivedDerived implements IDerived
26 {
27 }
28
29 .class public auto ansi MemberDeclaration2 extends [mscorlib]System.Object implements IDerivedDerived
30 {
31         .method public specialname  rtspecialname instance default void '.ctor' ()  cil managed 
32         {
33                 .maxstack 8
34                 ldarg.0 
35                 call instance void object::'.ctor'()
36                 ret 
37         }
38
39         .method public final virtual newslot instance default void S ()  cil managed 
40         {
41                 .override class IBase::S
42                 .maxstack 8
43                 ldstr "SUCCESS"
44                 call void class [mscorlib]System.Console::WriteLine(string)
45                 ret 
46         }
47 }
48
49 .class private auto ansi C`1<(class IBase) X> extends [mscorlib]System.Object
50 {
51     .method public specialname rtspecialname instance default void '.ctor' ()  cil managed 
52         {
53                 .maxstack 8
54                 ldarg.0 
55                 call instance void object::'.ctor'()
56                 ret 
57         }
58
59         .method public hidebysig instance default void Add (!X v)  cil managed 
60         {
61                 .maxstack 2
62                 .locals init (!X V_0)
63                 ldarg.1 
64                 stloc.0 
65                 ldloca.s 0
66                 constrained. !0
67                 callvirt instance void class IBase::S()
68                 ret 
69         }
70 }
71
72 .class private auto ansi TT     extends [mscorlib]System.Object
73 {
74     .method public specialname  rtspecialname instance default void '.ctor' ()  cil managed 
75         {
76                 .maxstack 8
77                 ldarg.0 
78                 call instance void object::'.ctor'()
79                 ret 
80         }
81
82         .method public static 
83         default int32 Main ()  cil managed 
84         {
85                 .entrypoint
86                 .maxstack 5
87                 .locals init (
88                         int32   V_0,
89                         class MemberDeclaration2        V_1,
90                         class C`1<class IDerivedDerived>        V_2)
91
92                 ldstr "Main"
93                 call void class [mscorlib]System.Console::WriteLine(string)
94                 newobj instance void class MemberDeclaration2::'.ctor'()
95                 stloc.1 
96                 newobj instance void class C`1<class IDerivedDerived>::'.ctor'()
97                 stloc.2 
98                 ldloc.2 
99                 ldloc.1 
100                 castclass IDerivedDerived
101                 callvirt instance void class C`1<class IDerivedDerived>::Add(!0)
102                 ldstr "Main [Done]"
103                 call void class [mscorlib]System.Console::WriteLine(string)
104                 ldloc.0 
105                 ret 
106         }
107 }
108
109