[jit] Fix the saving of the 'cfg->ret_var_set' flag when inlining, it was set to...
[mono.git] / mcs / tests / test-578.cs
1 namespace Test1
2 {
3         public delegate int TestDelegate1 ();
4
5         public interface TestItem
6         {
7                 event TestDelegate1 OnUpdate;
8         }
9
10         public class TestItem1 : TestItem
11         {
12                 private TestDelegate1 delegates1;
13
14                 public TestItem1()
15                 {
16                 }
17
18                 public int Test()
19                 {
20                         return delegates1 ();
21                 }
22
23                 public virtual event TestDelegate1 OnUpdate
24                 {
25                         add
26                         {
27                                 System.Console.WriteLine("OnUpdate add 1");
28
29                                 delegates1 += value;
30                         }
31                         remove
32                         {
33                                 System.Console.WriteLine("OnUpdate remove 2");
34                                 delegates1 -= value;
35                         }
36                 }
37
38         }
39
40         public class TestItem2 : TestItem1
41         {
42                 public TestItem2()
43                 {
44                 }
45
46                 public override event TestDelegate1 OnUpdate
47                 {
48                         add
49                         {
50                                 System.Console.WriteLine("OnUpdate add 2");
51                                 base.OnUpdate += value;
52                         }
53                         remove
54                         {
55                                 System.Console.WriteLine("OnUpdate remove 2");
56                                 base.OnUpdate -= value;
57                         }
58                 }
59         }
60
61         class CC
62         {
63                 public static int Main()
64                 {
65                         TestItem1 ti = new TestItem2();
66                         ti.OnUpdate += delegate() { return 5;  };
67                         if (ti.Test() != 5)
68                                 return 1;
69                         
70                         return 0;
71                 }
72         }
73 }