Merge pull request #5714 from alexischr/update_bockbuild
[mono.git] / mono / tests / vbinterface.il
1 //
2 // This is a test to reproduce the class hierarchy bug generated
3 // by some VB applications.
4 //
5 // Bug: #79125
6 //
7 .assembly extern mscorlib
8 {
9   .ver 2:0:0:0
10   .publickeytoken = (B7 7A 5C 56 19 34 E0 89 ) // .z\V.4..
11 }
12 .assembly extern System
13 {
14   .ver 2:0:0:0
15   .publickeytoken = (B7 7A 5C 56 19 34 E0 89 ) // .z\V.4..
16 }
17 .assembly 'test2'
18 {
19   .hash algorithm 0x00008004
20   .ver  1:0:0:0
21 }
22 .module test2.exe // GUID = {656A0DD7-7485-4FA9-8136-4E05614D1FE9}
23
24
25 .namespace vbnc
26 {
27   .class interface public auto ansi abstract IBaseObject
28   {
29
30     // method line 17
31     .method public virtual  newslot  abstract  specialname 
32            instance default class vbnc.IBaseObject get_Parent ()  cil managed 
33     {
34         // Method begins at RVA 0x0
35     } // end of method IBaseObject::get_Parent
36
37         .property instance class vbnc.IBaseObject Parent ()
38         {
39                 .get instance default class vbnc.IBaseObject vbnc.IBaseObject::get_Parent () 
40         }
41   } // end of class vbnc.IBaseObject
42 }
43
44 .namespace vbnc
45 {
46   .class public auto ansi abstract BaseObject
47         extends [mscorlib]System.Object
48         implements vbnc.IBaseObject  {
49
50     // method line 18
51     .method public specialname  rtspecialname 
52            instance default void .ctor ()  cil managed 
53     {
54         .custom instance void class [mscorlib]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() =  (01 00 00 00 ) // ....
55
56         // Method begins at RVA 0x22c0
57         // Code size 9 (0x9)
58         .maxstack 8
59         IL_0000:  ldarg.0 
60         IL_0001:  call instance void object::.ctor()
61         IL_0006:  nop 
62         IL_0007:  nop 
63         IL_0008:  ret 
64     } // end of method BaseObject::.ctor
65
66     // method line 19
67     .method private final  virtual  newslot  specialname 
68            instance default class vbnc.IBaseObject get_pParent ()  cil managed 
69     {
70         // Method begins at RVA 0x22cc
71         .override class vbnc.IBaseObject::get_Parent
72         // Code size 7 (0x7)
73         .maxstack 1
74         .locals init (
75                 class vbnc.IBaseObject  V_0)
76         IL_0000:  nop 
77         IL_0001:  ldnull 
78         IL_0002:  stloc.0 
79         IL_0003:  br.s IL_0005
80
81         IL_0005:  ldloc.0 
82         IL_0006:  ret 
83     } // end of method BaseObject::get_pParent
84
85         .property instance class vbnc.IBaseObject pParent ()
86         {
87                 .get instance default class vbnc.IBaseObject vbnc.BaseObject::get_pParent () 
88         }
89   } // end of class vbnc.BaseObject
90 }
91
92 .namespace vbnc
93 {
94   .class interface public auto ansi abstract INameable
95         implements vbnc.IBaseObject  {
96
97     // method line 20
98     .method public virtual  newslot  abstract  specialname 
99            instance default string get_Name ()  cil managed 
100     {
101         // Method begins at RVA 0x0
102     } // end of method INameable::get_Name
103
104         .property instance string Name ()
105         {
106                 .get instance default string vbnc.INameable::get_Name () 
107         }
108   } // end of class vbnc.INameable
109 }
110
111 .namespace vbnc
112 {
113   .class public auto ansi abstract MemberDeclaration
114         extends vbnc.BaseObject
115         implements vbnc.INameable  {
116
117     .method public specialname  rtspecialname 
118            instance default void .ctor ()  cil managed 
119     {
120         .custom instance void class [mscorlib]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() =  (01 00 00 00 ) // ....
121
122         // Method begins at RVA 0x22e0
123         // Code size 9 (0x9)
124         .maxstack 8
125         IL_0000:  ldarg.0 
126         IL_0001:  call instance void class vbnc.BaseObject::.ctor()
127         IL_0008:  ret 
128     } // end of method MemberDeclaration::.ctor
129
130     // method line 22
131     .method public final  virtual  newslot  specialname 
132            instance default string get_Name ()  cil managed 
133     {
134         // Method begins at RVA 0x22ec
135         .override class vbnc.INameable::get_Name
136         // Code size 11 (0xb)
137         .maxstack 1
138         .locals init (
139                 string  V_0)
140         IL_0000:  nop 
141         IL_0001:  ldstr ""
142         IL_0006:  stloc.0 
143         IL_0007:  br.s IL_0009
144
145         IL_0009:  ldloc.0 
146         IL_000a:  ret 
147     } // end of method MemberDeclaration::get_Name
148
149         .property instance string Name ()
150         {
151                 .get instance default string vbnc.MemberDeclaration::get_Name () 
152         }
153   } // end of class vbnc.MemberDeclaration
154 }
155
156 .namespace vbnc
157 {
158   .class public auto ansi ConstantDeclaration
159         extends vbnc.MemberDeclaration
160   {
161
162     .method public specialname  rtspecialname 
163            instance default void .ctor ()  cil managed 
164     {
165         .maxstack 8
166         IL_0000:  ldarg.0 
167         IL_0001:  call instance void class vbnc.MemberDeclaration::.ctor()
168         IL_0008:  ret 
169     } // end of method ConstantDeclaration::.ctor
170   } // end of class vbnc.ConstantDeclaration
171 }
172
173 .namespace vbnc
174 {
175   .class private auto ansi sealed Module1
176         extends [mscorlib]System.Object
177   {
178     // method line 24
179     .method public static 
180            default void Main ()  cil managed 
181     {
182         .entrypoint
183         .maxstack 20
184         newobj instance void class vbnc.ConstantDeclaration::.ctor()
185         pop
186         IL_0002:  ret 
187     } // end of method Module1::Main
188
189   } // end of class vbnc.Module1
190 }
191