}
}
- if (call_op == OpCodes.Callvirt && (InstanceExpression.Type.IsGenericParameter || InstanceExpression.Type.IsStruct)) {
+ if (call_op == OpCodes.Callvirt && (InstanceExpression.Type.IsGenericParameter || InstanceExpression.Type.IsStructOrEnum)) {
ec.Emit (OpCodes.Constrained, InstanceExpression.Type);
}
//
// Push the instance expression
//
- if ((instance_type.IsStruct && (callOpcode == OpCodes.Callvirt || (callOpcode == OpCodes.Call && declaringType.IsStruct))) ||
+ if ((instance_type.IsStructOrEnum && (callOpcode == OpCodes.Callvirt || (callOpcode == OpCodes.Call && declaringType.IsStruct))) ||
instance_type.IsGenericParameter || declaringType.IsNullableType) {
//
// If the expression implements IMemoryLocation, then
return ReferenceContainer.MakeType (ec.Module, instance_type);
}
- if (instance_type.IsEnum || instance_type.IsStruct) {
+ if (instance_type.IsStructOrEnum) {
instance.Emit (ec);
ec.Emit (OpCodes.Box, instance_type);
return ec.BuiltinTypes.Object;
<test name="gtest-433.cs">\r
<type name="M">\r
<method name="Void Main()" attrs="150">\r
- <size>38</size>\r
+ <size>42</size>\r
</method>\r
<method name="Void .ctor()" attrs="6278">\r
<size>7</size>\r
<size>28</size>\r
</method>\r
<method name="Void ThisWorksFine()" attrs="150">\r
- <size>39</size>\r
+ <size>41</size>\r
</method>\r
<method name="Void .ctor()" attrs="6278">\r
<size>7</size>\r
<size>33</size>\r
</method>\r
<method name="T Value[T]()" attrs="145">\r
- <size>84</size>\r
+ <size>86</size>\r
</method>\r
<method name="Void .ctor()" attrs="6278">\r
<size>7</size>\r
<test name="test-279.cs">\r
<type name="FlagsAttributeDemo">\r
<method name="Int32 Main()" attrs="150">\r
- <size>51</size>\r
+ <size>55</size>\r
</method>\r
<method name="Void .ctor()" attrs="6278">\r
<size>7</size>\r
<test name="test-376.cs">\r
<type name="C">\r
<method name="Int32 Main()" attrs="150">\r
- <size>90</size>\r
+ <size>99</size>\r
</method>\r
<method name="Void .ctor()" attrs="6278">\r
<size>7</size>\r
</type>\r
<type name="Test">\r
<method name="Void Main()" attrs="150">\r
- <size>72</size>\r
+ <size>76</size>\r
</method>\r
<method name="Void .ctor()" attrs="6278">\r
<size>7</size>\r
<test name="test-453.cs">\r
<type name="C">\r
<method name="Void Main()" attrs="150">\r
- <size>34</size>\r
+ <size>38</size>\r
</method>\r
<method name="Void .ctor()" attrs="6278">\r
<size>7</size>\r
</type>\r
<type name="X">\r
<method name="Int32 Main()" attrs="150">\r
- <size>197</size>\r
+ <size>204</size>\r
</method>\r
<method name="Void .ctor()" attrs="6278">\r
<size>7</size>\r
</type>\r
<type name="Tester+<CallTest_4>c__async15">\r
<method name="Void MoveNext()" attrs="486">\r
- <size>234</size>\r
+ <size>240</size>\r
</method>\r
</type>\r
<type name="Tester+<CallTest_5>c__async16">\r