Merge pull request #1109 from adbre/iss358
[mono.git] / mono / tests / verifier / valid_contravariant_delegate_2.il
1 .assembly extern mscorlib
2 {
3   .ver 2:0:0:0
4   .publickeytoken = (B7 7A 5C 56 19 34 E0 89 ) // .z\V.4..
5 }
6 .assembly 'valid_generic_delegate_1'
7 {
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.
11
12   .hash algorithm 0x00008004
13   .ver  0:0:0:0
14 }
15 .module valid_covariant_delegate.exe // GUID = {D9327351-CCFF-40F3-A80F-810E3C4283A7}
16
17 .class interface public auto ansi beforefieldinit Generic<-T>
18 {
19
20 }
21
22 .class public auto ansi beforefieldinit Driver extends [mscorlib]System.Object
23 {
24         .method public static hidebysig default !!R Foo<T, R> (!!T arg)  cil managed 
25         {
26                 .maxstack 8
27                 .locals init (!!R l)
28                 ldloca 0
29                 initobj !!R
30                 ldloc.0
31                 ret 
32         }
33
34         .method public static hidebysig default void Main ()  cil managed 
35         {
36                 .entrypoint
37                 .maxstack 8
38
39                 ldnull 
40                 ldftn !!1 class Driver::Foo<object, class Generic<object>> (!!0)
41                 newobj instance void class Dele`2<object, class Generic<string>>::'.ctor'(object, native int)
42
43                 pop 
44                 ret 
45         }
46 }
47
48   .class public auto ansi sealed Dele`2<T,R>
49         extends [mscorlib]System.MulticastDelegate
50   {
51     .method public hidebysig  specialname  rtspecialname 
52            instance default void '.ctor' (object 'object', native int 'method')  runtime managed 
53     {
54     }
55
56     .method public virtual  hidebysig  newslot 
57            instance default !R Invoke (!T t)  runtime managed 
58     {
59     }
60
61     .method public virtual  hidebysig  newslot 
62            instance default class [mscorlib]System.IAsyncResult BeginInvoke (!T t, class [mscorlib]System.AsyncCallback callback, object 'object')  runtime managed 
63     {
64     }
65
66     .method public virtual  hidebysig  newslot 
67            instance default !R EndInvoke (class [mscorlib]System.IAsyncResult result)  runtime managed 
68     {
69     }
70 }
71