[mcs] Check for await expression inside new delegate statement
authorMarek Safar <marek.safar@gmail.com>
Thu, 5 Jun 2014 16:29:54 +0000 (18:29 +0200)
committerMarek Safar <marek.safar@gmail.com>
Thu, 5 Jun 2014 17:36:17 +0000 (19:36 +0200)
mcs/mcs/delegate.cs
mcs/tests/test-async-13.cs
mcs/tests/ver-il-net_4_5.xml

index a5adf348a4186e0405676a21b4b05d0b211a3f3c..7632a6128fd43ae74c53de938fef8abedc8e1a9f 100644 (file)
@@ -446,7 +446,8 @@ namespace Mono.CSharp {
 
                public override bool ContainsEmitWithAwait ()
                {
-                       return false;
+                       var instance = method_group.InstanceExpression;
+                       return instance != null && instance.ContainsEmitWithAwait ();
                }
 
                public static Arguments CreateDelegateMethodArguments (ResolveContext rc, AParametersCollection pd, TypeSpec[] types, Location loc)
index 9f8cccac0700e535ade3411b92766ae7c006c939..3363d7f4b110d0f21faa7373cdf25ef53640eb5e 100644 (file)
@@ -585,6 +585,18 @@ class Tester : Base
                var s = new S (await Task.Factory.StartNew (() => 77), await Task.Factory.StartNew (() => "b"));
                return s.Value == 77;
        }
+
+       async Task<int> NewDelegate_1 ()
+       {
+               var f = new Func<int> (await NewDelegate_1_0 ());
+               return f ();
+       }
+
+       static async Task<Func<int>> NewDelegate_1_0 ()
+       {
+               await Task.Factory.StartNew (() => { });
+               return () => 0;         
+       }
        
        async Task<int> NewInitTest_1 ()
        {
index 60dda9db30a87380e5cc511483f72e10b6090ef0..e2b1902f24b214f8376dc983a85c264573b1b64b 100644 (file)
         <size>348</size>\r
       </method>\r
     </type>\r
-    <type name="Tester+&lt;NewInitTest_1&gt;c__async30">\r
-      <method name="Void MoveNext()" attrs="486">\r
-        <size>1026</size>\r
-      </method>\r
-    </type>\r
-    <type name="Tester+&lt;NewInitTest_2&gt;c__async31">\r
-      <method name="Void MoveNext()" attrs="486">\r
-        <size>739</size>\r
-      </method>\r
-    </type>\r
-    <type name="Tester+&lt;NewArrayInitTest_1&gt;c__async32">\r
-      <method name="Void MoveNext()" attrs="486">\r
-        <size>240</size>\r
-      </method>\r
-    </type>\r
-    <type name="Tester+&lt;NewArrayInitTest_2&gt;c__async33">\r
-      <method name="Void MoveNext()" attrs="486">\r
-        <size>355</size>\r
-      </method>\r
-    </type>\r
-    <type name="Tester+&lt;NewArrayInitTest_3&gt;c__async34">\r
-      <method name="Void MoveNext()" attrs="486">\r
-        <size>246</size>\r
-      </method>\r
-    </type>\r
-    <type name="Tester+&lt;NewArrayInitTest_4&gt;c__async35">\r
-      <method name="Void MoveNext()" attrs="486">\r
-        <size>427</size>\r
-      </method>\r
-    </type>\r
-    <type name="Tester+&lt;NewArrayInitTest_5&gt;c__async36">\r
-      <method name="Void MoveNext()" attrs="486">\r
-        <size>264</size>\r
-      </method>\r
-    </type>\r
-    <type name="Tester+&lt;NewArrayInitTest_6&gt;c__async37">\r
-      <method name="Void MoveNext()" attrs="486">\r
-        <size>266</size>\r
-      </method>\r
-    </type>\r
     <type name="Tester">\r
       <method name="Tester &lt;CastTest_2&gt;m__4()" attrs="129">\r
         <size>9</size>\r
         <size>13</size>\r
       </method>\r
     </type>\r
-    <type name="Tester+&lt;NewInitTest_1&gt;c__async30">\r
-      <method name="Int32 &lt;&gt;m__0()" attrs="145">\r
-        <size>10</size>\r
-      </method>\r
-      <method name="Int32 &lt;&gt;m__1()" attrs="145">\r
-        <size>10</size>\r
-      </method>\r
-      <method name="Int32 &lt;&gt;m__2()" attrs="145">\r
-        <size>10</size>\r
-      </method>\r
-      <method name="Int32 &lt;&gt;m__3()" attrs="145">\r
-        <size>10</size>\r
-      </method>\r
-      <method name="Int32 &lt;&gt;m__4()" attrs="145">\r
-        <size>10</size>\r
-      </method>\r
-      <method name="Int32 &lt;&gt;m__5()" attrs="145">\r
-        <size>10</size>\r
-      </method>\r
-    </type>\r
-    <type name="Tester+&lt;NewInitTest_2&gt;c__async31">\r
-      <method name="System.String &lt;&gt;m__0()" attrs="145">\r
-        <size>13</size>\r
-      </method>\r
-      <method name="System.String &lt;&gt;m__1()" attrs="145">\r
-        <size>13</size>\r
-      </method>\r
-      <method name="Int32 &lt;&gt;m__2()" attrs="145">\r
-        <size>10</size>\r
-      </method>\r
-      <method name="Int32 &lt;&gt;m__3()" attrs="145">\r
-        <size>10</size>\r
-      </method>\r
-    </type>\r
-    <type name="Tester+&lt;NewArrayInitTest_1&gt;c__async32">\r
-      <method name="Int32 &lt;&gt;m__0()" attrs="145">\r
-        <size>9</size>\r
-      </method>\r
-    </type>\r
-    <type name="Tester+&lt;NewArrayInitTest_2&gt;c__async33">\r
-      <method name="Int32 &lt;&gt;m__0()" attrs="145">\r
-        <size>9</size>\r
-      </method>\r
-      <method name="Int32 &lt;&gt;m__1()" attrs="145">\r
-        <size>9</size>\r
-      </method>\r
-    </type>\r
-    <type name="Tester+&lt;NewArrayInitTest_3&gt;c__async34">\r
-      <method name="Byte &lt;&gt;m__0()" attrs="145">\r
-        <size>9</size>\r
-      </method>\r
-    </type>\r
-    <type name="Tester+&lt;NewArrayInitTest_4&gt;c__async35">\r
-      <method name="UInt16 &lt;&gt;m__0()" attrs="145">\r
-        <size>9</size>\r
-      </method>\r
-      <method name="UInt16 &lt;&gt;m__1()" attrs="145">\r
-        <size>9</size>\r
-      </method>\r
-    </type>\r
-    <type name="Tester+&lt;NewArrayInitTest_5&gt;c__async36">\r
-      <method name="S &lt;&gt;m__0()" attrs="145">\r
-        <size>25</size>\r
-      </method>\r
-    </type>\r
-    <type name="Tester+&lt;NewArrayInitTest_6&gt;c__async37">\r
-      <method name="Int32 &lt;&gt;m__0()" attrs="145">\r
-        <size>9</size>\r
-      </method>\r
-    </type>\r
     <type name="Tester">\r
       <method name="System.Threading.Tasks.Task`1[System.Boolean] NewArrayInitTest_7()" attrs="129">\r
         <size>33</size>\r
       </method>\r
     </type>\r
-    <type name="Tester+&lt;NewArrayInitTest_7&gt;c__async38">\r
-      <method name="Void MoveNext()" attrs="486">\r
-        <size>299</size>\r
-      </method>\r
-    </type>\r
-    <type name="Tester+&lt;PropertyTest_1&gt;c__async39">\r
-      <method name="Void MoveNext()" attrs="486">\r
-        <size>222</size>\r
-      </method>\r
-      <method name="Int32 &lt;&gt;m__0()" attrs="145">\r
-        <size>9</size>\r
-      </method>\r
-    </type>\r
-    <type name="Tester+&lt;PropertyTest_2&gt;c__async3A">\r
-      <method name="Void MoveNext()" attrs="486">\r
-        <size>295</size>\r
-      </method>\r
-      <method name="Int32 &lt;&gt;m__0()" attrs="145">\r
-        <size>9</size>\r
-      </method>\r
-    </type>\r
-    <type name="Tester+&lt;PropertyTest_3&gt;c__async3B">\r
-      <method name="Void MoveNext()" attrs="486">\r
-        <size>645</size>\r
-      </method>\r
-      <method name="Int32 &lt;&gt;m__0()" attrs="145">\r
-        <size>10</size>\r
-      </method>\r
-      <method name="Int32 &lt;&gt;m__1()" attrs="145">\r
-        <size>9</size>\r
-      </method>\r
-      <method name="Int32 &lt;&gt;m__2()" attrs="145">\r
-        <size>9</size>\r
-      </method>\r
-    </type>\r
-    <type name="Tester+&lt;StringConcatTest_1&gt;c__async3C">\r
-      <method name="Void MoveNext()" attrs="486">\r
-        <size>455</size>\r
-      </method>\r
-      <method name="System.String &lt;&gt;m__0()" attrs="145">\r
-        <size>13</size>\r
-      </method>\r
-      <method name="System.String &lt;&gt;m__1()" attrs="145">\r
-        <size>13</size>\r
-      </method>\r
-      <method name="System.String &lt;&gt;m__2()" attrs="145">\r
-        <size>9</size>\r
-      </method>\r
-    </type>\r
-    <type name="Tester+&lt;UnaryTest_1&gt;c__async3D">\r
-      <method name="Void MoveNext()" attrs="486">\r
-        <size>233</size>\r
-      </method>\r
-      <method name="Int32 &lt;&gt;m__0()" attrs="145">\r
-        <size>9</size>\r
-      </method>\r
-    </type>\r
-    <type name="Tester+&lt;UnaryTest_2&gt;c__async3E">\r
-      <method name="Void MoveNext()" attrs="486">\r
-        <size>339</size>\r
-      </method>\r
-    </type>\r
-    <type name="Tester+&lt;UnaryTest_3&gt;c__async3F">\r
-      <method name="Void MoveNext()" attrs="486">\r
-        <size>372</size>\r
-      </method>\r
-      <method name="Int32 &lt;&gt;m__0()" attrs="145">\r
-        <size>9</size>\r
-      </method>\r
-    </type>\r
-    <type name="Tester+&lt;VariableInitializer_1&gt;c__async40">\r
-      <method name="Void MoveNext()" attrs="486">\r
-        <size>348</size>\r
-      </method>\r
-      <method name="Int32 &lt;&gt;m__0()" attrs="145">\r
-        <size>9</size>\r
-      </method>\r
-      <method name="Int32 &lt;&gt;m__1()" attrs="145">\r
-        <size>9</size>\r
-      </method>\r
-    </type>\r
-    <type name="Tester+&lt;ArrayAccessTest_5&gt;c__async4+&lt;ArrayAccessTest_5&gt;c__AnonStorey41">\r
-      <method name="Int32 &lt;&gt;m__0()" attrs="131">\r
-        <size>25</size>\r
-      </method>\r
-      <method name="Void .ctor()" attrs="6278">\r
-        <size>7</size>\r
-      </method>\r
-    </type>\r
-    <type name="Tester+&lt;BinaryTest_2&gt;c__asyncD+&lt;BinaryTest_2&gt;c__AnonStorey42">\r
-      <method name="Boolean &lt;&gt;m__0()" attrs="131">\r
-        <size>24</size>\r
-      </method>\r
-      <method name="Boolean &lt;&gt;m__1()" attrs="131">\r
-        <size>24</size>\r
-      </method>\r
-      <method name="Boolean &lt;&gt;m__2()" attrs="131">\r
-        <size>24</size>\r
-      </method>\r
-      <method name="Void .ctor()" attrs="6278">\r
-        <size>7</size>\r
-      </method>\r
-    </type>\r
-    <type name="Tester+&lt;CallTest_5&gt;c__async16+&lt;CallTest_5&gt;c__AnonStorey43">\r
-      <method name="Int32 &lt;&gt;m__0()" attrs="131">\r
-        <size>25</size>\r
-      </method>\r
-      <method name="Void .ctor()" attrs="6278">\r
-        <size>7</size>\r
-      </method>\r
-    </type>\r
-    <type name="Tester+&lt;EventInvoke_1&gt;c__async20+&lt;EventInvoke_1&gt;c__AnonStorey44">\r
-      <method name="System.Action &lt;&gt;m__0()" attrs="131">\r
-        <size>23</size>\r
-      </method>\r
-      <method name="Void &lt;&gt;m__1()" attrs="131">\r
-        <size>9</size>\r
-      </method>\r
-      <method name="Void .ctor()" attrs="6278">\r
-        <size>7</size>\r
-      </method>\r
-    </type>\r
-    <type name="Tester+&lt;IndexerTest_3&gt;c__async24+&lt;IndexerTest_3&gt;c__AnonStorey45">\r
-      <method name="Int32 &lt;&gt;m__0()" attrs="131">\r
-        <size>25</size>\r
-      </method>\r
-      <method name="Void .ctor()" attrs="6278">\r
-        <size>7</size>\r
-      </method>\r
-    </type>\r
-    <type name="Tester+&lt;IndexerTest_4&gt;c__async25+&lt;IndexerTest_4&gt;c__AnonStorey46">\r
-      <method name="Int32 &lt;&gt;m__0()" attrs="131">\r
-        <size>25</size>\r
-      </method>\r
-      <method name="Void .ctor()" attrs="6278">\r
-        <size>7</size>\r
-      </method>\r
-    </type>\r
-    <type name="Tester+&lt;IndexerTest_5&gt;c__async26+&lt;IndexerTest_5&gt;c__AnonStorey47">\r
-      <method name="Int32 &lt;&gt;m__0()" attrs="131">\r
-        <size>25</size>\r
-      </method>\r
-      <method name="Void .ctor()" attrs="6278">\r
-        <size>7</size>\r
-      </method>\r
-    </type>\r
-    <type name="Tester+&lt;IndexerTest_7&gt;c__async28+&lt;IndexerTest_7&gt;c__AnonStorey48">\r
-      <method name="Int32 &lt;&gt;m__0()" attrs="131">\r
-        <size>25</size>\r
-      </method>\r
-      <method name="Void .ctor()" attrs="6278">\r
-        <size>7</size>\r
-      </method>\r
-    </type>\r
-    <type name="Tester+&lt;UnaryTest_2&gt;c__async3E+&lt;UnaryTest_2&gt;c__AnonStorey49">\r
-      <method name="System.Nullable`1[System.Int16] &lt;&gt;m__0()" attrs="131">\r
-        <size>14</size>\r
-      </method>\r
-      <method name="Void .ctor()" attrs="6278">\r
-        <size>7</size>\r
-      </method>\r
-    </type>\r
     <type name="Base">\r
       <method name="Void CallRefParams(Int32 ByRef, Int32[])" attrs="148">\r
         <size>5</size>\r
         <size>13</size>\r
       </method>\r
     </type>\r
-    <type name="Tester+&lt;NewInitTest_1&gt;c__async30">\r
+    <type name="Tester">\r
+      <method name="System.Threading.Tasks.Task`1[System.Int32] NewDelegate_1()" attrs="129">\r
+        <size>33</size>\r
+      </method>\r
+      <method name="System.Threading.Tasks.Task`1[System.Func`1[System.Int32]] NewDelegate_1_0()" attrs="145">\r
+        <size>33</size>\r
+      </method>\r
+    </type>\r
+    <type name="Tester+&lt;NewDelegate_1&gt;c__async30">\r
+      <method name="Void MoveNext()" attrs="486">\r
+        <size>212</size>\r
+      </method>\r
       <method name="Void SetStateMachine(System.Runtime.CompilerServices.IAsyncStateMachine)" attrs="486">\r
         <size>13</size>\r
       </method>\r
     </type>\r
-    <type name="Tester+&lt;NewInitTest_2&gt;c__async31">\r
+    <type name="Tester+&lt;NewDelegate_1_0&gt;c__async31">\r
+      <method name="Void MoveNext()" attrs="486">\r
+        <size>226</size>\r
+      </method>\r
       <method name="Void SetStateMachine(System.Runtime.CompilerServices.IAsyncStateMachine)" attrs="486">\r
         <size>13</size>\r
       </method>\r
+      <method name="Void &lt;&gt;m__0()" attrs="145">\r
+        <size>2</size>\r
+      </method>\r
+      <method name="Int32 &lt;&gt;m__1()" attrs="145">\r
+        <size>9</size>\r
+      </method>\r
     </type>\r
-    <type name="Tester+&lt;NewArrayInitTest_1&gt;c__async32">\r
+    <type name="Tester+&lt;NewInitTest_1&gt;c__async32">\r
+      <method name="Void MoveNext()" attrs="486">\r
+        <size>1026</size>\r
+      </method>\r
       <method name="Void SetStateMachine(System.Runtime.CompilerServices.IAsyncStateMachine)" attrs="486">\r
         <size>13</size>\r
       </method>\r
+      <method name="Int32 &lt;&gt;m__0()" attrs="145">\r
+        <size>10</size>\r
+      </method>\r
+      <method name="Int32 &lt;&gt;m__1()" attrs="145">\r
+        <size>10</size>\r
+      </method>\r
+      <method name="Int32 &lt;&gt;m__2()" attrs="145">\r
+        <size>10</size>\r
+      </method>\r
+      <method name="Int32 &lt;&gt;m__3()" attrs="145">\r
+        <size>10</size>\r
+      </method>\r
+      <method name="Int32 &lt;&gt;m__4()" attrs="145">\r
+        <size>10</size>\r
+      </method>\r
+      <method name="Int32 &lt;&gt;m__5()" attrs="145">\r
+        <size>10</size>\r
+      </method>\r
     </type>\r
-    <type name="Tester+&lt;NewArrayInitTest_2&gt;c__async33">\r
+    <type name="Tester+&lt;NewInitTest_2&gt;c__async33">\r
+      <method name="Void MoveNext()" attrs="486">\r
+        <size>739</size>\r
+      </method>\r
       <method name="Void SetStateMachine(System.Runtime.CompilerServices.IAsyncStateMachine)" attrs="486">\r
         <size>13</size>\r
       </method>\r
+      <method name="System.String &lt;&gt;m__0()" attrs="145">\r
+        <size>13</size>\r
+      </method>\r
+      <method name="System.String &lt;&gt;m__1()" attrs="145">\r
+        <size>13</size>\r
+      </method>\r
+      <method name="Int32 &lt;&gt;m__2()" attrs="145">\r
+        <size>10</size>\r
+      </method>\r
+      <method name="Int32 &lt;&gt;m__3()" attrs="145">\r
+        <size>10</size>\r
+      </method>\r
     </type>\r
-    <type name="Tester+&lt;NewArrayInitTest_3&gt;c__async34">\r
+    <type name="Tester+&lt;NewArrayInitTest_1&gt;c__async34">\r
+      <method name="Void MoveNext()" attrs="486">\r
+        <size>240</size>\r
+      </method>\r
       <method name="Void SetStateMachine(System.Runtime.CompilerServices.IAsyncStateMachine)" attrs="486">\r
         <size>13</size>\r
       </method>\r
+      <method name="Int32 &lt;&gt;m__0()" attrs="145">\r
+        <size>9</size>\r
+      </method>\r
     </type>\r
-    <type name="Tester+&lt;NewArrayInitTest_4&gt;c__async35">\r
+    <type name="Tester+&lt;NewArrayInitTest_2&gt;c__async35">\r
+      <method name="Void MoveNext()" attrs="486">\r
+        <size>355</size>\r
+      </method>\r
       <method name="Void SetStateMachine(System.Runtime.CompilerServices.IAsyncStateMachine)" attrs="486">\r
         <size>13</size>\r
       </method>\r
+      <method name="Int32 &lt;&gt;m__0()" attrs="145">\r
+        <size>9</size>\r
+      </method>\r
+      <method name="Int32 &lt;&gt;m__1()" attrs="145">\r
+        <size>9</size>\r
+      </method>\r
     </type>\r
-    <type name="Tester+&lt;NewArrayInitTest_5&gt;c__async36">\r
+    <type name="Tester+&lt;NewArrayInitTest_3&gt;c__async36">\r
+      <method name="Void MoveNext()" attrs="486">\r
+        <size>246</size>\r
+      </method>\r
       <method name="Void SetStateMachine(System.Runtime.CompilerServices.IAsyncStateMachine)" attrs="486">\r
         <size>13</size>\r
       </method>\r
+      <method name="Byte &lt;&gt;m__0()" attrs="145">\r
+        <size>9</size>\r
+      </method>\r
     </type>\r
-    <type name="Tester+&lt;NewArrayInitTest_6&gt;c__async37">\r
+    <type name="Tester+&lt;NewArrayInitTest_4&gt;c__async37">\r
+      <method name="Void MoveNext()" attrs="486">\r
+        <size>427</size>\r
+      </method>\r
       <method name="Void SetStateMachine(System.Runtime.CompilerServices.IAsyncStateMachine)" attrs="486">\r
         <size>13</size>\r
       </method>\r
+      <method name="UInt16 &lt;&gt;m__0()" attrs="145">\r
+        <size>9</size>\r
+      </method>\r
+      <method name="UInt16 &lt;&gt;m__1()" attrs="145">\r
+        <size>9</size>\r
+      </method>\r
     </type>\r
-    <type name="Tester+&lt;NewArrayInitTest_7&gt;c__async38">\r
+    <type name="Tester+&lt;NewArrayInitTest_5&gt;c__async38">\r
+      <method name="Void MoveNext()" attrs="486">\r
+        <size>264</size>\r
+      </method>\r
       <method name="Void SetStateMachine(System.Runtime.CompilerServices.IAsyncStateMachine)" attrs="486">\r
         <size>13</size>\r
       </method>\r
+      <method name="S &lt;&gt;m__0()" attrs="145">\r
+        <size>25</size>\r
+      </method>\r
     </type>\r
-    <type name="Tester+&lt;PropertyTest_1&gt;c__async39">\r
+    <type name="Tester+&lt;NewArrayInitTest_6&gt;c__async39">\r
+      <method name="Void MoveNext()" attrs="486">\r
+        <size>266</size>\r
+      </method>\r
       <method name="Void SetStateMachine(System.Runtime.CompilerServices.IAsyncStateMachine)" attrs="486">\r
         <size>13</size>\r
       </method>\r
+      <method name="Int32 &lt;&gt;m__0()" attrs="145">\r
+        <size>9</size>\r
+      </method>\r
     </type>\r
-    <type name="Tester+&lt;PropertyTest_2&gt;c__async3A">\r
+    <type name="Tester+&lt;NewArrayInitTest_7&gt;c__async3A">\r
+      <method name="Void MoveNext()" attrs="486">\r
+        <size>299</size>\r
+      </method>\r
       <method name="Void SetStateMachine(System.Runtime.CompilerServices.IAsyncStateMachine)" attrs="486">\r
         <size>13</size>\r
       </method>\r
     </type>\r
-    <type name="Tester+&lt;PropertyTest_3&gt;c__async3B">\r
+    <type name="Tester+&lt;PropertyTest_1&gt;c__async3B">\r
+      <method name="Void MoveNext()" attrs="486">\r
+        <size>222</size>\r
+      </method>\r
+      <method name="Void SetStateMachine(System.Runtime.CompilerServices.IAsyncStateMachine)" attrs="486">\r
+        <size>13</size>\r
+      </method>\r
+      <method name="Int32 &lt;&gt;m__0()" attrs="145">\r
+        <size>9</size>\r
+      </method>\r
+    </type>\r
+    <type name="Tester+&lt;PropertyTest_2&gt;c__async3C">\r
+      <method name="Void MoveNext()" attrs="486">\r
+        <size>295</size>\r
+      </method>\r
+      <method name="Void SetStateMachine(System.Runtime.CompilerServices.IAsyncStateMachine)" attrs="486">\r
+        <size>13</size>\r
+      </method>\r
+      <method name="Int32 &lt;&gt;m__0()" attrs="145">\r
+        <size>9</size>\r
+      </method>\r
+    </type>\r
+    <type name="Tester+&lt;PropertyTest_3&gt;c__async3D">\r
+      <method name="Void MoveNext()" attrs="486">\r
+        <size>645</size>\r
+      </method>\r
       <method name="Void SetStateMachine(System.Runtime.CompilerServices.IAsyncStateMachine)" attrs="486">\r
         <size>13</size>\r
       </method>\r
+      <method name="Int32 &lt;&gt;m__0()" attrs="145">\r
+        <size>10</size>\r
+      </method>\r
+      <method name="Int32 &lt;&gt;m__1()" attrs="145">\r
+        <size>9</size>\r
+      </method>\r
+      <method name="Int32 &lt;&gt;m__2()" attrs="145">\r
+        <size>9</size>\r
+      </method>\r
     </type>\r
-    <type name="Tester+&lt;StringConcatTest_1&gt;c__async3C">\r
+    <type name="Tester+&lt;StringConcatTest_1&gt;c__async3E">\r
+      <method name="Void MoveNext()" attrs="486">\r
+        <size>455</size>\r
+      </method>\r
       <method name="Void SetStateMachine(System.Runtime.CompilerServices.IAsyncStateMachine)" attrs="486">\r
         <size>13</size>\r
       </method>\r
+      <method name="System.String &lt;&gt;m__0()" attrs="145">\r
+        <size>13</size>\r
+      </method>\r
+      <method name="System.String &lt;&gt;m__1()" attrs="145">\r
+        <size>13</size>\r
+      </method>\r
+      <method name="System.String &lt;&gt;m__2()" attrs="145">\r
+        <size>9</size>\r
+      </method>\r
     </type>\r
-    <type name="Tester+&lt;UnaryTest_1&gt;c__async3D">\r
+    <type name="Tester+&lt;UnaryTest_1&gt;c__async3F">\r
+      <method name="Void MoveNext()" attrs="486">\r
+        <size>233</size>\r
+      </method>\r
       <method name="Void SetStateMachine(System.Runtime.CompilerServices.IAsyncStateMachine)" attrs="486">\r
         <size>13</size>\r
       </method>\r
+      <method name="Int32 &lt;&gt;m__0()" attrs="145">\r
+        <size>9</size>\r
+      </method>\r
     </type>\r
-    <type name="Tester+&lt;UnaryTest_2&gt;c__async3E">\r
+    <type name="Tester+&lt;UnaryTest_2&gt;c__async40">\r
+      <method name="Void MoveNext()" attrs="486">\r
+        <size>339</size>\r
+      </method>\r
       <method name="Void SetStateMachine(System.Runtime.CompilerServices.IAsyncStateMachine)" attrs="486">\r
         <size>13</size>\r
       </method>\r
     </type>\r
-    <type name="Tester+&lt;UnaryTest_3&gt;c__async3F">\r
+    <type name="Tester+&lt;UnaryTest_3&gt;c__async41">\r
+      <method name="Void MoveNext()" attrs="486">\r
+        <size>372</size>\r
+      </method>\r
       <method name="Void SetStateMachine(System.Runtime.CompilerServices.IAsyncStateMachine)" attrs="486">\r
         <size>13</size>\r
       </method>\r
+      <method name="Int32 &lt;&gt;m__0()" attrs="145">\r
+        <size>9</size>\r
+      </method>\r
     </type>\r
-    <type name="Tester+&lt;VariableInitializer_1&gt;c__async40">\r
+    <type name="Tester+&lt;VariableInitializer_1&gt;c__async42">\r
+      <method name="Void MoveNext()" attrs="486">\r
+        <size>348</size>\r
+      </method>\r
       <method name="Void SetStateMachine(System.Runtime.CompilerServices.IAsyncStateMachine)" attrs="486">\r
         <size>13</size>\r
       </method>\r
+      <method name="Int32 &lt;&gt;m__0()" attrs="145">\r
+        <size>9</size>\r
+      </method>\r
+      <method name="Int32 &lt;&gt;m__1()" attrs="145">\r
+        <size>9</size>\r
+      </method>\r
+    </type>\r
+    <type name="Tester+&lt;ArrayAccessTest_5&gt;c__async4+&lt;ArrayAccessTest_5&gt;c__AnonStorey43">\r
+      <method name="Int32 &lt;&gt;m__0()" attrs="131">\r
+        <size>25</size>\r
+      </method>\r
+      <method name="Void .ctor()" attrs="6278">\r
+        <size>7</size>\r
+      </method>\r
+    </type>\r
+    <type name="Tester+&lt;BinaryTest_2&gt;c__asyncD+&lt;BinaryTest_2&gt;c__AnonStorey44">\r
+      <method name="Boolean &lt;&gt;m__0()" attrs="131">\r
+        <size>24</size>\r
+      </method>\r
+      <method name="Boolean &lt;&gt;m__1()" attrs="131">\r
+        <size>24</size>\r
+      </method>\r
+      <method name="Boolean &lt;&gt;m__2()" attrs="131">\r
+        <size>24</size>\r
+      </method>\r
+      <method name="Void .ctor()" attrs="6278">\r
+        <size>7</size>\r
+      </method>\r
+    </type>\r
+    <type name="Tester+&lt;CallTest_5&gt;c__async16+&lt;CallTest_5&gt;c__AnonStorey45">\r
+      <method name="Int32 &lt;&gt;m__0()" attrs="131">\r
+        <size>25</size>\r
+      </method>\r
+      <method name="Void .ctor()" attrs="6278">\r
+        <size>7</size>\r
+      </method>\r
+    </type>\r
+    <type name="Tester+&lt;EventInvoke_1&gt;c__async20+&lt;EventInvoke_1&gt;c__AnonStorey46">\r
+      <method name="System.Action &lt;&gt;m__0()" attrs="131">\r
+        <size>23</size>\r
+      </method>\r
+      <method name="Void &lt;&gt;m__1()" attrs="131">\r
+        <size>9</size>\r
+      </method>\r
+      <method name="Void .ctor()" attrs="6278">\r
+        <size>7</size>\r
+      </method>\r
+    </type>\r
+    <type name="Tester+&lt;IndexerTest_3&gt;c__async24+&lt;IndexerTest_3&gt;c__AnonStorey47">\r
+      <method name="Int32 &lt;&gt;m__0()" attrs="131">\r
+        <size>25</size>\r
+      </method>\r
+      <method name="Void .ctor()" attrs="6278">\r
+        <size>7</size>\r
+      </method>\r
+    </type>\r
+    <type name="Tester+&lt;IndexerTest_4&gt;c__async25+&lt;IndexerTest_4&gt;c__AnonStorey48">\r
+      <method name="Int32 &lt;&gt;m__0()" attrs="131">\r
+        <size>25</size>\r
+      </method>\r
+      <method name="Void .ctor()" attrs="6278">\r
+        <size>7</size>\r
+      </method>\r
+    </type>\r
+    <type name="Tester+&lt;IndexerTest_5&gt;c__async26+&lt;IndexerTest_5&gt;c__AnonStorey49">\r
+      <method name="Int32 &lt;&gt;m__0()" attrs="131">\r
+        <size>25</size>\r
+      </method>\r
+      <method name="Void .ctor()" attrs="6278">\r
+        <size>7</size>\r
+      </method>\r
+    </type>\r
+    <type name="Tester+&lt;IndexerTest_7&gt;c__async28+&lt;IndexerTest_7&gt;c__AnonStorey4A">\r
+      <method name="Int32 &lt;&gt;m__0()" attrs="131">\r
+        <size>25</size>\r
+      </method>\r
+      <method name="Void .ctor()" attrs="6278">\r
+        <size>7</size>\r
+      </method>\r
+    </type>\r
+    <type name="Tester+&lt;UnaryTest_2&gt;c__async40+&lt;UnaryTest_2&gt;c__AnonStorey4B">\r
+      <method name="System.Nullable`1[System.Int16] &lt;&gt;m__0()" attrs="131">\r
+        <size>14</size>\r
+      </method>\r
+      <method name="Void .ctor()" attrs="6278">\r
+        <size>7</size>\r
+      </method>\r
     </type>\r
   </test>\r
   <test name="test-async-14.cs">\r