[ilasm] Don't break arguments compatiblity
[mono-project.git] / mcs / tests / test-async-86.cs
blob0f8f71aae49b53e081f981f206986c1f759481dd
1 using System;
2 using System.Threading.Tasks;
4 public class Program
6 string Data {
7 get {
8 return data;
10 set {
11 ++setter_called;
12 data = value;
16 int setter_called;
17 string data = "init-";
19 string this [string arg] {
20 get {
21 return i_data;
23 set {
24 ++i_setter_called;
25 i_data = value;
29 int i_setter_called;
30 string i_data = "init2-";
32 public static int Main()
34 var p = new Program ();
35 p.TestProperty ().Wait ();
36 if (p.data != "init-nxa123z") {
37 return 1;
40 if (p.setter_called != 1)
41 return 2;
43 p.TestIndexer ().Wait ();
45 if (p.i_data != "init2-nxa123z") {
46 return 3;
49 if (p.i_setter_called != 1)
50 return 4;
52 return 0;
55 async Task TestProperty ()
57 Data += "n" + await StringValue () + "a" + 123.ToString () + "z";
60 async Task TestIndexer ()
62 string arg = "foo";
63 this[arg] += "n" + await StringValue () + "a" + 123.ToString () + "z";
66 async Task<string> StringValue ()
68 await Task.Yield ();
69 return "x";