Merge pull request #4931 from kumpera/com-interop-fix
[mono.git] / mcs / tests / test-async-22.cs
index e2a361403c7ea8f95a872e5cdb11a220df44649d..e715d1a4598cd3d4fe5d26a5e90624e99bd2f113 100644 (file)
@@ -2,8 +2,7 @@ using System;
 using System.Threading.Tasks;
 
 // contextual async, parser tests
-
-class A
+class A : Iasync
 {
        async Task<int> async ()
        {
@@ -21,6 +20,10 @@ class A
                var res = (int) await async ();
                var res2 = (Int32) await async ();
        }
+       
+       async void Iasync.async ()
+       {
+       }
 
        public static int Main ()
        {
@@ -28,6 +31,11 @@ class A
        }
 }
 
+interface Iasync
+{
+       void async ();
+}
+
 class B
 {
        class async
@@ -52,6 +60,15 @@ class C
        }
 }
 
+class D
+{
+       enum E {}
+
+       async Task M ()
+       {
+       }
+}
+
 class async
 {
        async (async arg)
@@ -148,4 +165,22 @@ namespace AwaitNS
                        };
                }
        }
+
+       class MemberAccess
+       {
+               static void M ()
+               {
+                       var await = new string[0];
+                       var l = await.Length;                   
+               }
+       }
+
+       class TypeChecks
+       {
+               static void M (object await)
+               {
+                       var b = await is Exception; 
+                       var c = await as Exception;
+               }
+       }
 }