Merge pull request #3040 from xmcclure/debugger-step-recursive
[mono.git] / mcs / tests / test-935.cs
1 using System;
2 using System.Threading.Tasks;
3 using System.Linq.Expressions;
4
5 public static class Program
6 {
7         public delegate void DelegateVoid (int arg);
8         public delegate int DelegateInt (string arg);
9
10         public static int Main () 
11         { 
12                 Foo (Bar);
13
14                 TT (null);
15                 NN (0);
16                 NN2 (1);
17                 Complex (null);
18                 return 0;
19         }
20
21         static void TT (Task<string> a)
22         {
23         }
24
25         static void TT (Task<object> b)
26         {
27                 throw new ApplicationException ("wrong overload");
28         }
29
30         static void NN (sbyte a)
31         {
32         }
33
34         static void NN (uint? b)
35         {
36                 throw new ApplicationException ("wrong overload");
37         }
38
39         static void NN2 (sbyte? a)
40         {
41         }
42
43         static void NN2 (uint? b)
44         {
45                 throw new ApplicationException ("wrong overload");
46         }
47
48         public static void Bar (int arg) 
49         {
50         }
51
52         public static int Bar (string arg)
53         { 
54                 return  2;
55         }
56
57         public static void Foo (DelegateVoid input)
58         {
59                 throw new ApplicationException ("wrong overload");
60         }
61
62         public static void Foo (DelegateInt input)
63         {
64         }
65
66         static void Complex (Expression<Func<Task<short>>> arg)
67         {
68         }
69
70         static void Complex (Expression<Func<Task<ulong>>> arg)
71         {
72                 throw new ApplicationException ("wrong overload");
73         }
74 }