mirror of https://github.com/icsharpcode/ILSpy.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
50 lines
1.4 KiB
50 lines
1.4 KiB
#define CORE_ASSEMBLY "System.Runtime" |
|
|
|
.assembly extern CORE_ASSEMBLY |
|
{ |
|
.publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A ) // .?_....: |
|
.ver 4:0:0:0 |
|
} |
|
|
|
// The constant operands below are out of range for the enums' underlying types, but their |
|
// low bits do match a member: -501 truncates to UShortEnum.Val1 (0xfe0b) and 70000 to |
|
// ByteEnum.Val1 (0x70). Reinterpreting them as those members would change the result of the |
|
// subtraction, so the decompiler has to keep the integer arithmetic. |
|
|
|
.class public auto ansi sealed UShortEnum |
|
extends [CORE_ASSEMBLY]System.Enum |
|
{ |
|
.field public specialname rtspecialname uint16 value__ |
|
.field public static literal valuetype UShortEnum Val1 = uint16(0xfe0b) |
|
} |
|
|
|
.class public auto ansi sealed ByteEnum |
|
extends [CORE_ASSEMBLY]System.Enum |
|
{ |
|
.field public specialname rtspecialname uint8 value__ |
|
.field public static literal valuetype ByteEnum Val1 = uint8(0x70) |
|
} |
|
|
|
.class public auto ansi abstract sealed beforefieldinit EnumArithmeticOutOfRange |
|
extends [CORE_ASSEMBLY]System.Object |
|
{ |
|
.method public hidebysig static int32 SubtractFromUShortEnum (valuetype UShortEnum 'value') cil managed |
|
{ |
|
.maxstack 8 |
|
|
|
ldarg.0 |
|
ldc.i4 -501 |
|
sub |
|
ret |
|
} |
|
|
|
.method public hidebysig static int32 SubtractFromByteEnum (valuetype ByteEnum 'value') cil managed |
|
{ |
|
.maxstack 8 |
|
|
|
ldarg.0 |
|
ldc.i4 70000 |
|
sub |
|
ret |
|
} |
|
}
|
|
|