Merge pull request #273 from joncham/bug-getpid
[mono.git] / mono / tests / verifier / unverifiable_callvirt_static_method.il
1
2 // unverifiable CIL which breaks the ECMA-335 rules. 
3 // this CIL should fail verification by a conforming CLI verifier.
4
5 .assembly 'unverifiable_callvirt_final_virtual_method_2_generated'
6 {
7   .hash algorithm 0x00008004
8   .ver  0:0:0:0
9 }
10
11 .assembly extern mscorlib
12 {
13   .ver 1:0:5000:0
14   .publickeytoken = (B7 7A 5C 56 19 34 E0 89 ) // .z\V.4..
15 }
16
17
18 .class ClassA extends [mscorlib]System.Object
19 {
20         .method public hidebysig  specialname rtspecialname instance default void .ctor () cil managed 
21         {
22                 .maxstack 8
23                 ldarg.0 
24                 call instance void object::.ctor()
25                 ret 
26         }
27
28         .method public  void Method1() cil managed
29         {
30                 ret
31         }
32
33         .method public  void Method2(int32 a) cil managed
34         {
35                 ret
36         }
37
38         .method public static void StaticMethod() cil managed
39         {
40                 ret
41         }
42 }
43
44
45 .class Driver extends [mscorlib]System.Object
46 {
47
48         .method public virtual void VirtMethod ()
49         {
50                 ret
51         }
52
53         .method public hidebysig  specialname rtspecialname instance default void .ctor () cil managed 
54         {
55                 .maxstack 8
56                 ldarg.0 
57                 call instance void object::.ctor()
58                 ret 
59         }
60
61         .method public static void Main() cil managed
62         {
63                 .entrypoint
64                 .maxstack 8
65                 .locals init ()
66
67                 .try {
68                         newobj instance void ClassA::.ctor()
69                         callvirt instance void ClassA::StaticMethod()
70
71                         leave END
72                 } catch [mscorlib]System.NullReferenceException {
73                         leave END
74                 }
75
76 END:
77                 ret
78         }
79
80 }