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
// A C++/CLI-style pinned pointer whose pinned region is reachable both inside and outside the |
|
// `fixed` statement. Decompiling it makes DetectPinnedRegions duplicate the shared block and |
|
// record a warning, which is emitted as a comment-carrying EmptyStatement at the top of the |
|
// method body. That statement has no text location, which used to crash PDB generation in |
|
// SequencePointBuilder. Regression fixture for that crash. |
|
.assembly extern System.Runtime { } |
|
.assembly PinnedRegionWarning { } |
|
.module PinnedRegionWarning.dll |
|
|
|
.class public auto ansi beforefieldinit C extends [System.Runtime]System.Object |
|
{ |
|
.method public hidebysig instance void PinPtrTest(int32[] a, int32[] b) cil managed |
|
{ |
|
.maxstack 3 |
|
.locals ( |
|
[0] int32& pinned p |
|
) |
|
IL_0000: ldarg.1 |
|
IL_0001: ldc.i4.0 |
|
IL_0002: ldelema [System.Runtime]System.Int32 |
|
IL_0007: stloc.0 |
|
IL_0008: ldloc.0 |
|
IL_0009: ldind.i4 |
|
IL_000a: ldc.i4.0 |
|
IL_000b: ble.s IL_0016 |
|
|
|
IL_000d: ldarg.2 |
|
IL_000e: ldloc.0 |
|
IL_000f: ldind.i4 |
|
IL_0010: ldelema [System.Runtime]System.Int32 |
|
IL_0015: stloc.0 |
|
|
|
IL_0016: ldloc.0 |
|
IL_0017: ldc.i4.4 |
|
IL_0018: ldc.i4.0 |
|
IL_0019: mul |
|
IL_001a: add |
|
IL_001b: ldc.i4.1 |
|
IL_001c: stind.i4 |
|
IL_001d: ret |
|
} |
|
|
|
.method public hidebysig specialname rtspecialname instance void .ctor() cil managed |
|
{ |
|
.maxstack 1 |
|
ldarg.0 |
|
call instance void [System.Runtime]System.Object::.ctor() |
|
ret |
|
} |
|
}
|
|
|