{
base.Emit (ec);
- var context_type = ec.CurrentType;
- if (context_type.IsStruct) {
+ if (type == ec.Module.Compiler.BuiltinTypes.ValueType) {
+ var context_type = ec.CurrentType;
ec.Emit (OpCodes.Ldobj, context_type);
ec.Emit (OpCodes.Box, context_type);
}
</method>\r
</type>\r
</test>\r
+ <test name="test-async-57.cs">\r
+ <type name="X">\r
+ <method name="Void Main()" attrs="150">\r
+ <size>2</size>\r
+ </method>\r
+ <method name="System.Threading.Tasks.Task TestAsync()" attrs="132">\r
+ <size>41</size>\r
+ </method>\r
+ <method name="Void .ctor()" attrs="6278">\r
+ <size>14</size>\r
+ </method>\r
+ </type>\r
+ <type name="X+<TestAsync>c__async0">\r
+ <method name="Void MoveNext()" attrs="486">\r
+ <size>172</size>\r
+ </method>\r
+ <method name="Void SetStateMachine(IAsyncStateMachine)" attrs="486">\r
+ <size>13</size>\r
+ </method>\r
+ </type>\r
+ </test>\r
+ <test name="test-async-58.cs">\r
+ <type name="A">\r
+ <method name="Int32 Get()" attrs="134">\r
+ <size>10</size>\r
+ </method>\r
+ <method name="Void .ctor()" attrs="6278">\r
+ <size>7</size>\r
+ </method>\r
+ </type>\r
+ <type name="B">\r
+ <method name="System.Threading.Tasks.Task`1[System.Int32] GetAsync()" attrs="134">\r
+ <size>41</size>\r
+ </method>\r
+ <method name="Void Main()" attrs="145">\r
+ <size>17</size>\r
+ </method>\r
+ <method name="Void .ctor()" attrs="6278">\r
+ <size>7</size>\r
+ </method>\r
+ </type>\r
+ <type name="B+<GetAsync>c__async0">\r
+ <method name="Void MoveNext()" attrs="486">\r
+ <size>49</size>\r
+ </method>\r
+ <method name="Void SetStateMachine(IAsyncStateMachine)" attrs="486">\r
+ <size>13</size>\r
+ </method>\r
+ </type>\r
+ </test>\r
<test name="test-cls-00.cs">\r
<type name="CLSCLass_6">\r
<method name="Void add_Disposed(Delegate)" attrs="2182">\r