diff --git a/ICSharpCode.Decompiler.Tests/ICSharpCode.Decompiler.Tests.csproj b/ICSharpCode.Decompiler.Tests/ICSharpCode.Decompiler.Tests.csproj index ff1e11d41..08acdc774 100644 --- a/ICSharpCode.Decompiler.Tests/ICSharpCode.Decompiler.Tests.csproj +++ b/ICSharpCode.Decompiler.Tests/ICSharpCode.Decompiler.Tests.csproj @@ -62,9 +62,8 @@ - - + diff --git a/ICSharpCode.Decompiler.Tests/ILPrettyTestRunner.cs b/ICSharpCode.Decompiler.Tests/ILPrettyTestRunner.cs index 0cedaf647..6b5a1aaec 100644 --- a/ICSharpCode.Decompiler.Tests/ILPrettyTestRunner.cs +++ b/ICSharpCode.Decompiler.Tests/ILPrettyTestRunner.cs @@ -41,13 +41,7 @@ namespace ICSharpCode.Decompiler.Tests { Run(); } - - [Test] - public void FixProxyCalls() - { - Run(); - } - + void Run([CallerMemberName] string testName = null) { var ilFile = Path.Combine(TestCasePath, testName + ".il"); diff --git a/ICSharpCode.Decompiler.Tests/PrettyTestRunner.cs b/ICSharpCode.Decompiler.Tests/PrettyTestRunner.cs index f0033e239..83314cdea 100644 --- a/ICSharpCode.Decompiler.Tests/PrettyTestRunner.cs +++ b/ICSharpCode.Decompiler.Tests/PrettyTestRunner.cs @@ -176,6 +176,12 @@ namespace ICSharpCode.Decompiler.Tests Run(cscOptions: cscOptions, asmOptions: AssemblerOptions.UseOwnDisassembler); } + [Test] + public void FixProxyCalls([ValueSource("defaultOptions")] CompilerOptions cscOptions) + { + Run(cscOptions: cscOptions); + } + void Run([CallerMemberName] string testName = null, AssemblerOptions asmOptions = AssemblerOptions.None, CompilerOptions cscOptions = CompilerOptions.None) { var ilFile = Path.Combine(TestCasePath, testName); diff --git a/ICSharpCode.Decompiler.Tests/TestCases/ILPretty/FixProxyCalls.cs b/ICSharpCode.Decompiler.Tests/TestCases/ILPretty/FixProxyCalls.cs deleted file mode 100644 index 071052f1d..000000000 --- a/ICSharpCode.Decompiler.Tests/TestCases/ILPretty/FixProxyCalls.cs +++ /dev/null @@ -1,17 +0,0 @@ -using System.Net.Http; -using System.Threading; -using System.Threading.Tasks; - -namespace ICSharpCode.Decompiler.Tests.TestCases.ILPretty -{ - internal class FixProxyCalls - { - public class TestHandler : DelegatingHandler - { - protected override async Task SendAsync(HttpRequestMessage r, CancellationToken c) - { - return await base.SendAsync(r, c); - } - } - } -} diff --git a/ICSharpCode.Decompiler.Tests/TestCases/ILPretty/FixProxyCalls.il b/ICSharpCode.Decompiler.Tests/TestCases/ILPretty/FixProxyCalls.il deleted file mode 100644 index e9d503e37..000000000 --- a/ICSharpCode.Decompiler.Tests/TestCases/ILPretty/FixProxyCalls.il +++ /dev/null @@ -1,297 +0,0 @@ -// C:\Users\M.Hedtke\Documents\FixProxyCalls\FixProxyCalls\bin\Debug\netstandard2.0\FixProxyCalls.dll - -.assembly extern netstandard -{ - .publickeytoken = ( - cc 7b 13 ff cd 2d dd 51 - ) - .ver 2:0:0:0 -} -.assembly FixProxyCalls -{ - .hash algorithm 0x00008004 // SHA1 - .ver 1:0:0:0 -} - -.module FixProxyCalls.dll -// MVID: {1C9C9ED2-FBF8-44D2-9699-305E3CFD7A94} -.corflags 0x00000001 // ILOnly - - -.class private auto ansi '' -{ -} // end of class - -.class private auto ansi beforefieldinit ICSharpCode.Decompiler.Tests.TestCases.ILPretty.FixProxyCalls - extends [netstandard]System.Object -{ - // Nested Types - .class nested public auto ansi beforefieldinit TestHandler - extends [netstandard]System.Net.Http.DelegatingHandler - { - // Nested Types - .class nested private auto ansi sealed beforefieldinit 'd__0' - extends [netstandard]System.Object - implements [netstandard]System.Runtime.CompilerServices.IAsyncStateMachine - { - .custom instance void [netstandard]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( - 01 00 00 00 - ) - // Fields - .field public int32 '<>1__state' - .field public valuetype [netstandard]System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1 '<>t__builder' - .field public class [netstandard]System.Net.Http.HttpRequestMessage r - .field public valuetype [netstandard]System.Threading.CancellationToken c - .field public class ICSharpCode.Decompiler.Tests.TestCases.ILPretty.FixProxyCalls/TestHandler '<>4__this' - .field private class [netstandard]System.Net.Http.HttpResponseMessage '<>s__1' - .field private valuetype [netstandard]System.Runtime.CompilerServices.TaskAwaiter`1 '<>u__1' - - // Methods - .method public hidebysig specialname rtspecialname - instance void .ctor () cil managed - { - // Method begins at RVA 0x20c4 - // Code size 8 (0x8) - .maxstack 8 - - IL_0000: ldarg.0 - IL_0001: call instance void [netstandard]System.Object::.ctor() - IL_0006: nop - IL_0007: ret - } // end of method 'd__0'::.ctor - - .method private final hidebysig newslot virtual - instance void MoveNext () cil managed - { - .override method instance void [netstandard]System.Runtime.CompilerServices.IAsyncStateMachine::MoveNext() - // Method begins at RVA 0x20d0 - // Code size 187 (0xbb) - .maxstack 3 - .locals init ( - [0] int32, - [1] class [netstandard]System.Net.Http.HttpResponseMessage, - [2] valuetype [netstandard]System.Runtime.CompilerServices.TaskAwaiter`1, - [3] class ICSharpCode.Decompiler.Tests.TestCases.ILPretty.FixProxyCalls/TestHandler/'d__0', - [4] class [netstandard]System.Exception - ) - - IL_0000: ldarg.0 - IL_0001: ldfld int32 ICSharpCode.Decompiler.Tests.TestCases.ILPretty.FixProxyCalls/TestHandler/'d__0'::'<>1__state' - IL_0006: stloc.0 - .try - { - IL_0007: ldloc.0 - IL_0008: brfalse.s IL_000c - - IL_000a: br.s IL_000e - - IL_000c: br.s IL_0059 - - IL_000e: nop - IL_000f: ldarg.0 - IL_0010: ldfld class ICSharpCode.Decompiler.Tests.TestCases.ILPretty.FixProxyCalls/TestHandler ICSharpCode.Decompiler.Tests.TestCases.ILPretty.FixProxyCalls/TestHandler/'d__0'::'<>4__this' - IL_0015: ldarg.0 - IL_0016: ldfld class [netstandard]System.Net.Http.HttpRequestMessage ICSharpCode.Decompiler.Tests.TestCases.ILPretty.FixProxyCalls/TestHandler/'d__0'::r - IL_001b: ldarg.0 - IL_001c: ldfld valuetype [netstandard]System.Threading.CancellationToken ICSharpCode.Decompiler.Tests.TestCases.ILPretty.FixProxyCalls/TestHandler/'d__0'::c - IL_0021: call instance class [netstandard]System.Threading.Tasks.Task`1 ICSharpCode.Decompiler.Tests.TestCases.ILPretty.FixProxyCalls/TestHandler::'<>n__0'(class [netstandard]System.Net.Http.HttpRequestMessage, valuetype [netstandard]System.Threading.CancellationToken) - IL_0026: callvirt instance valuetype [netstandard]System.Runtime.CompilerServices.TaskAwaiter`1 class [netstandard]System.Threading.Tasks.Task`1::GetAwaiter() - IL_002b: stloc.2 - IL_002c: ldloca.s 2 - IL_002e: call instance bool valuetype [netstandard]System.Runtime.CompilerServices.TaskAwaiter`1::get_IsCompleted() - IL_0033: brtrue.s IL_0075 - - IL_0035: ldarg.0 - IL_0036: ldc.i4.0 - IL_0037: dup - IL_0038: stloc.0 - IL_0039: stfld int32 ICSharpCode.Decompiler.Tests.TestCases.ILPretty.FixProxyCalls/TestHandler/'d__0'::'<>1__state' - IL_003e: ldarg.0 - IL_003f: ldloc.2 - IL_0040: stfld valuetype [netstandard]System.Runtime.CompilerServices.TaskAwaiter`1 ICSharpCode.Decompiler.Tests.TestCases.ILPretty.FixProxyCalls/TestHandler/'d__0'::'<>u__1' - IL_0045: ldarg.0 - IL_0046: stloc.3 - IL_0047: ldarg.0 - IL_0048: ldflda valuetype [netstandard]System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1 ICSharpCode.Decompiler.Tests.TestCases.ILPretty.FixProxyCalls/TestHandler/'d__0'::'<>t__builder' - IL_004d: ldloca.s 2 - IL_004f: ldloca.s 3 - IL_0051: call instance void valuetype [netstandard]System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1::AwaitUnsafeOnCompleted, class ICSharpCode.Decompiler.Tests.TestCases.ILPretty.FixProxyCalls/TestHandler/'d__0'>(!!0&, !!1&) - IL_0056: nop - IL_0057: leave.s IL_00ba - - IL_0059: ldarg.0 - IL_005a: ldfld valuetype [netstandard]System.Runtime.CompilerServices.TaskAwaiter`1 ICSharpCode.Decompiler.Tests.TestCases.ILPretty.FixProxyCalls/TestHandler/'d__0'::'<>u__1' - IL_005f: stloc.2 - IL_0060: ldarg.0 - IL_0061: ldflda valuetype [netstandard]System.Runtime.CompilerServices.TaskAwaiter`1 ICSharpCode.Decompiler.Tests.TestCases.ILPretty.FixProxyCalls/TestHandler/'d__0'::'<>u__1' - IL_0066: initobj valuetype [netstandard]System.Runtime.CompilerServices.TaskAwaiter`1 - IL_006c: ldarg.0 - IL_006d: ldc.i4.m1 - IL_006e: dup - IL_006f: stloc.0 - IL_0070: stfld int32 ICSharpCode.Decompiler.Tests.TestCases.ILPretty.FixProxyCalls/TestHandler/'d__0'::'<>1__state' - - IL_0075: ldarg.0 - IL_0076: ldloca.s 2 - IL_0078: call instance !0 valuetype [netstandard]System.Runtime.CompilerServices.TaskAwaiter`1::GetResult() - IL_007d: stfld class [netstandard]System.Net.Http.HttpResponseMessage ICSharpCode.Decompiler.Tests.TestCases.ILPretty.FixProxyCalls/TestHandler/'d__0'::'<>s__1' - IL_0082: ldarg.0 - IL_0083: ldfld class [netstandard]System.Net.Http.HttpResponseMessage ICSharpCode.Decompiler.Tests.TestCases.ILPretty.FixProxyCalls/TestHandler/'d__0'::'<>s__1' - IL_0088: stloc.1 - IL_0089: leave.s IL_00a5 - } // end .try - catch [netstandard]System.Exception - { - IL_008b: stloc.s 4 - IL_008d: ldarg.0 - IL_008e: ldc.i4.s -2 - IL_0090: stfld int32 ICSharpCode.Decompiler.Tests.TestCases.ILPretty.FixProxyCalls/TestHandler/'d__0'::'<>1__state' - IL_0095: ldarg.0 - IL_0096: ldflda valuetype [netstandard]System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1 ICSharpCode.Decompiler.Tests.TestCases.ILPretty.FixProxyCalls/TestHandler/'d__0'::'<>t__builder' - IL_009b: ldloc.s 4 - IL_009d: call instance void valuetype [netstandard]System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1::SetException(class [netstandard]System.Exception) - IL_00a2: nop - IL_00a3: leave.s IL_00ba - } // end handler - - IL_00a5: ldarg.0 - IL_00a6: ldc.i4.s -2 - IL_00a8: stfld int32 ICSharpCode.Decompiler.Tests.TestCases.ILPretty.FixProxyCalls/TestHandler/'d__0'::'<>1__state' - IL_00ad: ldarg.0 - IL_00ae: ldflda valuetype [netstandard]System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1 ICSharpCode.Decompiler.Tests.TestCases.ILPretty.FixProxyCalls/TestHandler/'d__0'::'<>t__builder' - IL_00b3: ldloc.1 - IL_00b4: call instance void valuetype [netstandard]System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1::SetResult(!0) - IL_00b9: nop - - IL_00ba: ret - } // end of method 'd__0'::MoveNext - - .method private final hidebysig newslot virtual - instance void SetStateMachine ( - class [netstandard]System.Runtime.CompilerServices.IAsyncStateMachine stateMachine - ) cil managed - { - .custom instance void [netstandard]System.Diagnostics.DebuggerHiddenAttribute::.ctor() = ( - 01 00 00 00 - ) - .override method instance void [netstandard]System.Runtime.CompilerServices.IAsyncStateMachine::SetStateMachine(class [netstandard]System.Runtime.CompilerServices.IAsyncStateMachine) - // Method begins at RVA 0x21a8 - // Code size 1 (0x1) - .maxstack 8 - - IL_0000: ret - } // end of method 'd__0'::SetStateMachine - - } // end of class d__0 - - - // Methods - .method family hidebysig virtual - instance class [netstandard]System.Threading.Tasks.Task`1 SendAsync ( - class [netstandard]System.Net.Http.HttpRequestMessage r, - valuetype [netstandard]System.Threading.CancellationToken c - ) cil managed - { - .custom instance void [netstandard]System.Runtime.CompilerServices.AsyncStateMachineAttribute::.ctor(class [netstandard]System.Type) = ( - 01 00 59 49 43 53 68 61 72 70 43 6f 64 65 2e 44 - 65 63 6f 6d 70 69 6c 65 72 2e 54 65 73 74 73 2e - 54 65 73 74 43 61 73 65 73 2e 49 4c 50 72 65 74 - 74 79 2e 46 69 78 50 72 6f 78 79 43 61 6c 6c 73 - 2b 54 65 73 74 48 61 6e 64 6c 65 72 2b 3c 53 65 - 6e 64 41 73 79 6e 63 3e 64 5f 5f 30 00 00 - ) - .custom instance void [netstandard]System.Diagnostics.DebuggerStepThroughAttribute::.ctor() = ( - 01 00 00 00 - ) - // Method begins at RVA 0x205c - // Code size 73 (0x49) - .maxstack 2 - .locals init ( - [0] class ICSharpCode.Decompiler.Tests.TestCases.ILPretty.FixProxyCalls/TestHandler/'d__0', - [1] valuetype [netstandard]System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1 - ) - - IL_0000: newobj instance void ICSharpCode.Decompiler.Tests.TestCases.ILPretty.FixProxyCalls/TestHandler/'d__0'::.ctor() - IL_0005: stloc.0 - IL_0006: ldloc.0 - IL_0007: ldarg.0 - IL_0008: stfld class ICSharpCode.Decompiler.Tests.TestCases.ILPretty.FixProxyCalls/TestHandler ICSharpCode.Decompiler.Tests.TestCases.ILPretty.FixProxyCalls/TestHandler/'d__0'::'<>4__this' - IL_000d: ldloc.0 - IL_000e: ldarg.1 - IL_000f: stfld class [netstandard]System.Net.Http.HttpRequestMessage ICSharpCode.Decompiler.Tests.TestCases.ILPretty.FixProxyCalls/TestHandler/'d__0'::r - IL_0014: ldloc.0 - IL_0015: ldarg.2 - IL_0016: stfld valuetype [netstandard]System.Threading.CancellationToken ICSharpCode.Decompiler.Tests.TestCases.ILPretty.FixProxyCalls/TestHandler/'d__0'::c - IL_001b: ldloc.0 - IL_001c: call valuetype [netstandard]System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1 valuetype [netstandard]System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1::Create() - IL_0021: stfld valuetype [netstandard]System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1 ICSharpCode.Decompiler.Tests.TestCases.ILPretty.FixProxyCalls/TestHandler/'d__0'::'<>t__builder' - IL_0026: ldloc.0 - IL_0027: ldc.i4.m1 - IL_0028: stfld int32 ICSharpCode.Decompiler.Tests.TestCases.ILPretty.FixProxyCalls/TestHandler/'d__0'::'<>1__state' - IL_002d: ldloc.0 - IL_002e: ldfld valuetype [netstandard]System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1 ICSharpCode.Decompiler.Tests.TestCases.ILPretty.FixProxyCalls/TestHandler/'d__0'::'<>t__builder' - IL_0033: stloc.1 - IL_0034: ldloca.s 1 - IL_0036: ldloca.s 0 - IL_0038: call instance void valuetype [netstandard]System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1::Startd__0'>(!!0&) - IL_003d: ldloc.0 - IL_003e: ldflda valuetype [netstandard]System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1 ICSharpCode.Decompiler.Tests.TestCases.ILPretty.FixProxyCalls/TestHandler/'d__0'::'<>t__builder' - IL_0043: call instance class [netstandard]System.Threading.Tasks.Task`1 valuetype [netstandard]System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1::get_Task() - IL_0048: ret - } // end of method TestHandler::SendAsync - - .method public hidebysig specialname rtspecialname - instance void .ctor () cil managed - { - // Method begins at RVA 0x20b1 - // Code size 8 (0x8) - .maxstack 8 - - IL_0000: ldarg.0 - IL_0001: call instance void [netstandard]System.Net.Http.DelegatingHandler::.ctor() - IL_0006: nop - IL_0007: ret - } // end of method TestHandler::.ctor - - .method private hidebysig - instance class [netstandard]System.Threading.Tasks.Task`1 '<>n__0' ( - class [netstandard]System.Net.Http.HttpRequestMessage 'request', - valuetype [netstandard]System.Threading.CancellationToken cancellationToken - ) cil managed - { - .custom instance void [netstandard]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( - 01 00 00 00 - ) - .custom instance void [netstandard]System.Diagnostics.DebuggerHiddenAttribute::.ctor() = ( - 01 00 00 00 - ) - // Method begins at RVA 0x20ba - // Code size 9 (0x9) - .maxstack 8 - - IL_0000: ldarg.0 - IL_0001: ldarg.1 - IL_0002: ldarg.2 - IL_0003: call instance class [netstandard]System.Threading.Tasks.Task`1 [netstandard]System.Net.Http.DelegatingHandler::SendAsync(class [netstandard]System.Net.Http.HttpRequestMessage, valuetype [netstandard]System.Threading.CancellationToken) - IL_0008: ret - } // end of method TestHandler::'<>n__0' - - } // end of class TestHandler - - - // Methods - .method public hidebysig specialname rtspecialname - instance void .ctor () cil managed - { - // Method begins at RVA 0x2050 - // Code size 8 (0x8) - .maxstack 8 - - IL_0000: ldarg.0 - IL_0001: call instance void [netstandard]System.Object::.ctor() - IL_0006: nop - IL_0007: ret - } // end of method FixProxyCalls::.ctor - -} // end of class ICSharpCode.Decompiler.Tests.TestCases.ILPretty.FixProxyCalls - diff --git a/ICSharpCode.Decompiler.Tests/TestCases/Pretty/FixProxyCalls.cs b/ICSharpCode.Decompiler.Tests/TestCases/Pretty/FixProxyCalls.cs new file mode 100644 index 000000000..f4d85b597 --- /dev/null +++ b/ICSharpCode.Decompiler.Tests/TestCases/Pretty/FixProxyCalls.cs @@ -0,0 +1,55 @@ +using System; +using System.Collections.Generic; +using System.Threading.Tasks; + +namespace ICSharpCode.Decompiler.Tests.TestCases.ILPretty +{ + internal class AwaitDelegatingHandler + { + protected internal virtual Task Test(string test) + { + return Task.Run((Func)(() => test.ToUpper())); + } + } + + internal class AwaitTestHandler : AwaitDelegatingHandler + { + protected internal override async Task Test(string test) + { + return await base.Test(test); + } + } + + internal class YieldDelegatingHandler + { + protected internal virtual string Test(string test) + { + return string.Join(test, "fsdf"); + } + } + + internal class YieldTestHandler : YieldDelegatingHandler + { + protected internal IEnumerable Test2(string test) + { + yield return base.Test(test); + } + } + + internal class LambdaDelegatingHandler + { + protected internal virtual string Test(string test) + { + return string.Join(test, "fsdf"); + } + } + + internal class LambdaHandler : LambdaDelegatingHandler + { + protected internal override string Test(string test) + { + Func func = (Func)(() => base.Test(test)); + return func(); + } + } +} \ No newline at end of file diff --git a/ICSharpCode.Decompiler.Tests/TestCases/Pretty/FixProxyCalls.il b/ICSharpCode.Decompiler.Tests/TestCases/Pretty/FixProxyCalls.il new file mode 100644 index 000000000..48af1c00a --- /dev/null +++ b/ICSharpCode.Decompiler.Tests/TestCases/Pretty/FixProxyCalls.il @@ -0,0 +1,781 @@ + +// Microsoft (R) .NET Framework IL Disassembler. Version 4.6.1055.0 +// Copyright (c) Microsoft Corporation. Alle Rechte vorbehalten. + + + +// Metadata version: v4.0.30319 +.assembly extern mscorlib +{ + .publickeytoken = (B7 7A 5C 56 19 34 E0 89 ) // .z\V.4.. + .ver 4:0:0:0 +} +.assembly '3b3jnobf' +{ + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilationRelaxationsAttribute::.ctor(int32) = ( 01 00 08 00 00 00 00 00 ) + .custom instance void [mscorlib]System.Runtime.CompilerServices.RuntimeCompatibilityAttribute::.ctor() = ( 01 00 01 00 54 02 16 57 72 61 70 4E 6F 6E 45 78 // ....T..WrapNonEx + 63 65 70 74 69 6F 6E 54 68 72 6F 77 73 01 ) // ceptionThrows. + .permissionset reqmin + = {[mscorlib]System.Security.Permissions.SecurityPermissionAttribute = {property bool 'SkipVerification' = bool(true)}} + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.module '3b3jnobf.dll' +// MVID: {49E27949-DBA3-4290-A606-8A8CBA8C564E} +.custom instance void [mscorlib]System.Security.UnverifiableCodeAttribute::.ctor() = ( 01 00 00 00 ) +.imagebase 0x10000000 +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 // WINDOWS_CUI +.corflags 0x00000001 // ILONLY +// Image base: 0x00FC0000 + + +// =============== CLASS MEMBERS DECLARATION =================== + +.class private auto ansi beforefieldinit ICSharpCode.Decompiler.Tests.TestCases.ILPretty.AwaitDelegatingHandler + extends [mscorlib]System.Object +{ + .class auto ansi sealed nested private beforefieldinit '<>c__DisplayClass1' + extends [mscorlib]System.Object + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field public string test + .method public hidebysig specialname rtspecialname + instance void .ctor() cil managed + { + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [mscorlib]System.Object::.ctor() + IL_0006: ret + } // end of method '<>c__DisplayClass1'::.ctor + + .method public hidebysig instance string + 'b__0'() cil managed + { + // Code size 17 (0x11) + .maxstack 1 + .locals init (string V_0) + IL_0000: nop + IL_0001: ldarg.0 + IL_0002: ldfld string ICSharpCode.Decompiler.Tests.TestCases.ILPretty.AwaitDelegatingHandler/'<>c__DisplayClass1'::test + IL_0007: callvirt instance string [mscorlib]System.String::ToUpper() + IL_000c: stloc.0 + IL_000d: br.s IL_000f + + IL_000f: ldloc.0 + IL_0010: ret + } // end of method '<>c__DisplayClass1'::'b__0' + + } // end of class '<>c__DisplayClass1' + + .method famorassem hidebysig newslot virtual + instance class [mscorlib]System.Threading.Tasks.Task`1 + Test(string test) cil managed + { + // Code size 36 (0x24) + .maxstack 2 + .locals init (class ICSharpCode.Decompiler.Tests.TestCases.ILPretty.AwaitDelegatingHandler/'<>c__DisplayClass1' V_0, + class [mscorlib]System.Threading.Tasks.Task`1 V_1) + IL_0000: newobj instance void ICSharpCode.Decompiler.Tests.TestCases.ILPretty.AwaitDelegatingHandler/'<>c__DisplayClass1'::.ctor() + IL_0005: stloc.0 + IL_0006: ldloc.0 + IL_0007: ldarg.1 + IL_0008: stfld string ICSharpCode.Decompiler.Tests.TestCases.ILPretty.AwaitDelegatingHandler/'<>c__DisplayClass1'::test + IL_000d: nop + IL_000e: ldloc.0 + IL_000f: ldftn instance string ICSharpCode.Decompiler.Tests.TestCases.ILPretty.AwaitDelegatingHandler/'<>c__DisplayClass1'::'b__0'() + IL_0015: newobj instance void class [mscorlib]System.Func`1::.ctor(object, + native int) + IL_001a: call class [mscorlib]System.Threading.Tasks.Task`1 [mscorlib]System.Threading.Tasks.Task::Run(class [mscorlib]System.Func`1) + IL_001f: stloc.1 + IL_0020: br.s IL_0022 + + IL_0022: ldloc.1 + IL_0023: ret + } // end of method AwaitDelegatingHandler::Test + + .method public hidebysig specialname rtspecialname + instance void .ctor() cil managed + { + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [mscorlib]System.Object::.ctor() + IL_0006: ret + } // end of method AwaitDelegatingHandler::.ctor + +} // end of class ICSharpCode.Decompiler.Tests.TestCases.ILPretty.AwaitDelegatingHandler + +.class private auto ansi beforefieldinit ICSharpCode.Decompiler.Tests.TestCases.ILPretty.AwaitTestHandler + extends ICSharpCode.Decompiler.Tests.TestCases.ILPretty.AwaitDelegatingHandler +{ + .class auto ansi sealed nested private beforefieldinit 'd__3' + extends [mscorlib]System.ValueType + implements [mscorlib]System.Runtime.CompilerServices.IAsyncStateMachine + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 '<>1__state' + .field public valuetype [mscorlib]System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1 '<>t__builder' + .field public class ICSharpCode.Decompiler.Tests.TestCases.ILPretty.AwaitTestHandler '<>4__this' + .field public string test + .field private valuetype [mscorlib]System.Runtime.CompilerServices.TaskAwaiter`1 '<>u__$awaiter4' + .field private object '<>t__stack' + .method private hidebysig newslot virtual final + instance void MoveNext() cil managed + { + .override [mscorlib]System.Runtime.CompilerServices.IAsyncStateMachine::MoveNext + // Code size 184 (0xb8) + .maxstack 3 + .locals init (bool V_0, + string V_1, + class [mscorlib]System.Exception V_2, + int32 V_3, + valuetype [mscorlib]System.Runtime.CompilerServices.TaskAwaiter`1 V_4, + valuetype [mscorlib]System.Runtime.CompilerServices.TaskAwaiter`1 V_5) + .try + { + IL_0000: ldc.i4.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld int32 ICSharpCode.Decompiler.Tests.TestCases.ILPretty.AwaitTestHandler/'d__3'::'<>1__state' + IL_0008: stloc.3 + IL_0009: ldloc.3 + IL_000a: ldc.i4.0 + IL_000b: beq.s IL_000f + + IL_000d: br.s IL_0011 + + IL_000f: br.s IL_0057 + + IL_0011: br.s IL_0013 + + IL_0013: nop + IL_0014: ldarg.0 + IL_0015: ldfld class ICSharpCode.Decompiler.Tests.TestCases.ILPretty.AwaitTestHandler ICSharpCode.Decompiler.Tests.TestCases.ILPretty.AwaitTestHandler/'d__3'::'<>4__this' + IL_001a: ldarg.0 + IL_001b: ldfld string ICSharpCode.Decompiler.Tests.TestCases.ILPretty.AwaitTestHandler/'d__3'::test + IL_0020: call instance class [mscorlib]System.Threading.Tasks.Task`1 ICSharpCode.Decompiler.Tests.TestCases.ILPretty.AwaitTestHandler::'<>n__FabricatedMethod5'(string) + IL_0025: callvirt instance valuetype [mscorlib]System.Runtime.CompilerServices.TaskAwaiter`1 class [mscorlib]System.Threading.Tasks.Task`1::GetAwaiter() + IL_002a: stloc.s V_4 + IL_002c: ldloca.s V_4 + IL_002e: call instance bool valuetype [mscorlib]System.Runtime.CompilerServices.TaskAwaiter`1::get_IsCompleted() + IL_0033: brtrue.s IL_0076 + + IL_0035: ldarg.0 + IL_0036: ldc.i4.0 + IL_0037: stfld int32 ICSharpCode.Decompiler.Tests.TestCases.ILPretty.AwaitTestHandler/'d__3'::'<>1__state' + IL_003c: ldarg.0 + IL_003d: ldloc.s V_4 + IL_003f: stfld valuetype [mscorlib]System.Runtime.CompilerServices.TaskAwaiter`1 ICSharpCode.Decompiler.Tests.TestCases.ILPretty.AwaitTestHandler/'d__3'::'<>u__$awaiter4' + IL_0044: ldarg.0 + IL_0045: ldflda valuetype [mscorlib]System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1 ICSharpCode.Decompiler.Tests.TestCases.ILPretty.AwaitTestHandler/'d__3'::'<>t__builder' + IL_004a: ldloca.s V_4 + IL_004c: ldarg.0 + IL_004d: call instance void valuetype [mscorlib]System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1::AwaitUnsafeOnCompleted,valuetype ICSharpCode.Decompiler.Tests.TestCases.ILPretty.AwaitTestHandler/'d__3'>(!!0&, + !!1&) + IL_0052: nop + IL_0053: ldc.i4.0 + IL_0054: stloc.0 + IL_0055: leave.s IL_00b6 + + IL_0057: ldarg.0 + IL_0058: ldfld valuetype [mscorlib]System.Runtime.CompilerServices.TaskAwaiter`1 ICSharpCode.Decompiler.Tests.TestCases.ILPretty.AwaitTestHandler/'d__3'::'<>u__$awaiter4' + IL_005d: stloc.s V_4 + IL_005f: ldarg.0 + IL_0060: ldloca.s V_5 + IL_0062: initobj valuetype [mscorlib]System.Runtime.CompilerServices.TaskAwaiter`1 + IL_0068: ldloc.s V_5 + IL_006a: stfld valuetype [mscorlib]System.Runtime.CompilerServices.TaskAwaiter`1 ICSharpCode.Decompiler.Tests.TestCases.ILPretty.AwaitTestHandler/'d__3'::'<>u__$awaiter4' + IL_006f: ldarg.0 + IL_0070: ldc.i4.m1 + IL_0071: stfld int32 ICSharpCode.Decompiler.Tests.TestCases.ILPretty.AwaitTestHandler/'d__3'::'<>1__state' + IL_0076: ldloca.s V_4 + IL_0078: call instance !0 valuetype [mscorlib]System.Runtime.CompilerServices.TaskAwaiter`1::GetResult() + IL_007d: ldloca.s V_4 + IL_007f: initobj valuetype [mscorlib]System.Runtime.CompilerServices.TaskAwaiter`1 + IL_0085: stloc.1 + IL_0086: leave.s IL_00a0 + + } // end .try + catch [mscorlib]System.Exception + { + IL_0088: stloc.2 + IL_0089: ldarg.0 + IL_008a: ldc.i4.s -2 + IL_008c: stfld int32 ICSharpCode.Decompiler.Tests.TestCases.ILPretty.AwaitTestHandler/'d__3'::'<>1__state' + IL_0091: ldarg.0 + IL_0092: ldflda valuetype [mscorlib]System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1 ICSharpCode.Decompiler.Tests.TestCases.ILPretty.AwaitTestHandler/'d__3'::'<>t__builder' + IL_0097: ldloc.2 + IL_0098: call instance void valuetype [mscorlib]System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1::SetException(class [mscorlib]System.Exception) + IL_009d: nop + IL_009e: leave.s IL_00b6 + + } // end handler + IL_00a0: nop + IL_00a1: ldarg.0 + IL_00a2: ldc.i4.s -2 + IL_00a4: stfld int32 ICSharpCode.Decompiler.Tests.TestCases.ILPretty.AwaitTestHandler/'d__3'::'<>1__state' + IL_00a9: ldarg.0 + IL_00aa: ldflda valuetype [mscorlib]System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1 ICSharpCode.Decompiler.Tests.TestCases.ILPretty.AwaitTestHandler/'d__3'::'<>t__builder' + IL_00af: ldloc.1 + IL_00b0: call instance void valuetype [mscorlib]System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1::SetResult(!0) + IL_00b5: nop + IL_00b6: nop + IL_00b7: ret + } // end of method 'd__3'::MoveNext + + .method private hidebysig newslot virtual final + instance void SetStateMachine(class [mscorlib]System.Runtime.CompilerServices.IAsyncStateMachine param0) cil managed + { + .custom instance void [mscorlib]System.Diagnostics.DebuggerHiddenAttribute::.ctor() = ( 01 00 00 00 ) + .override [mscorlib]System.Runtime.CompilerServices.IAsyncStateMachine::SetStateMachine + // Code size 13 (0xd) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldflda valuetype [mscorlib]System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1 ICSharpCode.Decompiler.Tests.TestCases.ILPretty.AwaitTestHandler/'d__3'::'<>t__builder' + IL_0006: ldarg.1 + IL_0007: call instance void valuetype [mscorlib]System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1::SetStateMachine(class [mscorlib]System.Runtime.CompilerServices.IAsyncStateMachine) + IL_000c: ret + } // end of method 'd__3'::SetStateMachine + + } // end of class 'd__3' + + .method famorassem hidebysig virtual instance class [mscorlib]System.Threading.Tasks.Task`1 + Test(string test) cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.AsyncStateMachineAttribute::.ctor(class [mscorlib]System.Type) = ( 01 00 4B 49 43 53 68 61 72 70 43 6F 64 65 2E 44 // ..KICSharpCode.D + 65 63 6F 6D 70 69 6C 65 72 2E 54 65 73 74 73 2E // ecompiler.Tests. + 54 65 73 74 43 61 73 65 73 2E 49 4C 50 72 65 74 // TestCases.ILPret + 74 79 2E 41 77 61 69 74 54 65 73 74 48 61 6E 64 // ty.AwaitTestHand + 6C 65 72 2B 3C 54 65 73 74 3E 64 5F 5F 33 00 00 ) // ler+d__3.. + .custom instance void [mscorlib]System.Diagnostics.DebuggerStepThroughAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 70 (0x46) + .maxstack 2 + .locals init (valuetype ICSharpCode.Decompiler.Tests.TestCases.ILPretty.AwaitTestHandler/'d__3' V_0, + class [mscorlib]System.Threading.Tasks.Task`1 V_1, + valuetype [mscorlib]System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1 V_2) + IL_0000: ldloca.s V_0 + IL_0002: ldarg.0 + IL_0003: stfld class ICSharpCode.Decompiler.Tests.TestCases.ILPretty.AwaitTestHandler ICSharpCode.Decompiler.Tests.TestCases.ILPretty.AwaitTestHandler/'d__3'::'<>4__this' + IL_0008: ldloca.s V_0 + IL_000a: ldarg.1 + IL_000b: stfld string ICSharpCode.Decompiler.Tests.TestCases.ILPretty.AwaitTestHandler/'d__3'::test + IL_0010: ldloca.s V_0 + IL_0012: call valuetype [mscorlib]System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1 valuetype [mscorlib]System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1::Create() + IL_0017: stfld valuetype [mscorlib]System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1 ICSharpCode.Decompiler.Tests.TestCases.ILPretty.AwaitTestHandler/'d__3'::'<>t__builder' + IL_001c: ldloca.s V_0 + IL_001e: ldc.i4.m1 + IL_001f: stfld int32 ICSharpCode.Decompiler.Tests.TestCases.ILPretty.AwaitTestHandler/'d__3'::'<>1__state' + IL_0024: ldloca.s V_0 + IL_0026: ldfld valuetype [mscorlib]System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1 ICSharpCode.Decompiler.Tests.TestCases.ILPretty.AwaitTestHandler/'d__3'::'<>t__builder' + IL_002b: stloc.2 + IL_002c: ldloca.s V_2 + IL_002e: ldloca.s V_0 + IL_0030: call instance void valuetype [mscorlib]System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1::Startd__3'>(!!0&) + IL_0035: ldloca.s V_0 + IL_0037: ldflda valuetype [mscorlib]System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1 ICSharpCode.Decompiler.Tests.TestCases.ILPretty.AwaitTestHandler/'d__3'::'<>t__builder' + IL_003c: call instance class [mscorlib]System.Threading.Tasks.Task`1 valuetype [mscorlib]System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1::get_Task() + IL_0041: stloc.1 + IL_0042: br.s IL_0044 + + IL_0044: ldloc.1 + IL_0045: ret + } // end of method AwaitTestHandler::Test + + .method public hidebysig specialname rtspecialname + instance void .ctor() cil managed + { + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void ICSharpCode.Decompiler.Tests.TestCases.ILPretty.AwaitDelegatingHandler::.ctor() + IL_0006: ret + } // end of method AwaitTestHandler::.ctor + + .method private hidebysig instance class [mscorlib]System.Threading.Tasks.Task`1 + '<>n__FabricatedMethod5'(string A_1) cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 12 (0xc) + .maxstack 2 + .locals init (class [mscorlib]System.Threading.Tasks.Task`1 V_0) + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: call instance class [mscorlib]System.Threading.Tasks.Task`1 ICSharpCode.Decompiler.Tests.TestCases.ILPretty.AwaitDelegatingHandler::Test(string) + IL_0007: stloc.0 + IL_0008: br.s IL_000a + + IL_000a: ldloc.0 + IL_000b: ret + } // end of method AwaitTestHandler::'<>n__FabricatedMethod5' + +} // end of class ICSharpCode.Decompiler.Tests.TestCases.ILPretty.AwaitTestHandler + +.class private auto ansi beforefieldinit ICSharpCode.Decompiler.Tests.TestCases.ILPretty.YieldDelegatingHandler + extends [mscorlib]System.Object +{ + .method famorassem hidebysig newslot virtual + instance string Test(string test) cil managed + { + // Code size 28 (0x1c) + .maxstack 4 + .locals init (string V_0, + string[] V_1) + IL_0000: nop + IL_0001: ldarg.1 + IL_0002: ldc.i4.1 + IL_0003: newarr [mscorlib]System.String + IL_0008: stloc.1 + IL_0009: ldloc.1 + IL_000a: ldc.i4.0 + IL_000b: ldstr "fsdf" + IL_0010: stelem.ref + IL_0011: ldloc.1 + IL_0012: call string [mscorlib]System.String::Join(string, + string[]) + IL_0017: stloc.0 + IL_0018: br.s IL_001a + + IL_001a: ldloc.0 + IL_001b: ret + } // end of method YieldDelegatingHandler::Test + + .method public hidebysig specialname rtspecialname + instance void .ctor() cil managed + { + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [mscorlib]System.Object::.ctor() + IL_0006: ret + } // end of method YieldDelegatingHandler::.ctor + +} // end of class ICSharpCode.Decompiler.Tests.TestCases.ILPretty.YieldDelegatingHandler + +.class private auto ansi beforefieldinit ICSharpCode.Decompiler.Tests.TestCases.ILPretty.YieldTestHandler + extends ICSharpCode.Decompiler.Tests.TestCases.ILPretty.YieldDelegatingHandler +{ + .class auto ansi sealed nested private beforefieldinit 'd__0' + extends [mscorlib]System.Object + implements class [mscorlib]System.Collections.Generic.IEnumerable`1, + [mscorlib]System.Collections.IEnumerable, + class [mscorlib]System.Collections.Generic.IEnumerator`1, + [mscorlib]System.Collections.IEnumerator, + [mscorlib]System.IDisposable + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field private string '<>2__current' + .field private int32 '<>1__state' + .field private int32 '<>l__initialThreadId' + .field public class ICSharpCode.Decompiler.Tests.TestCases.ILPretty.YieldTestHandler '<>4__this' + .field public string test + .field public string '<>3__test' + .method private hidebysig newslot virtual final + instance class [mscorlib]System.Collections.Generic.IEnumerator`1 + 'System.Collections.Generic.IEnumerable.GetEnumerator'() cil managed + { + .custom instance void [mscorlib]System.Diagnostics.DebuggerHiddenAttribute::.ctor() = ( 01 00 00 00 ) + .override method instance class [mscorlib]System.Collections.Generic.IEnumerator`1 class [mscorlib]System.Collections.Generic.IEnumerable`1::GetEnumerator() + // Code size 82 (0x52) + .maxstack 2 + .locals init (class ICSharpCode.Decompiler.Tests.TestCases.ILPretty.YieldTestHandler/'d__0' V_0, + class [mscorlib]System.Collections.Generic.IEnumerator`1 V_1, + bool V_2) + IL_0000: call int32 [mscorlib]System.Environment::get_CurrentManagedThreadId() + IL_0005: ldarg.0 + IL_0006: ldfld int32 ICSharpCode.Decompiler.Tests.TestCases.ILPretty.YieldTestHandler/'d__0'::'<>l__initialThreadId' + IL_000b: bne.un.s IL_001c + + IL_000d: ldarg.0 + IL_000e: ldfld int32 ICSharpCode.Decompiler.Tests.TestCases.ILPretty.YieldTestHandler/'d__0'::'<>1__state' + IL_0013: ldc.i4.s -2 + IL_0015: ceq + IL_0017: ldc.i4.0 + IL_0018: ceq + IL_001a: br.s IL_001d + + IL_001c: ldc.i4.1 + IL_001d: nop + IL_001e: stloc.2 + IL_001f: ldloc.2 + IL_0020: brtrue.s IL_002d + + IL_0022: ldarg.0 + IL_0023: ldc.i4.0 + IL_0024: stfld int32 ICSharpCode.Decompiler.Tests.TestCases.ILPretty.YieldTestHandler/'d__0'::'<>1__state' + IL_0029: ldarg.0 + IL_002a: stloc.0 + IL_002b: br.s IL_0040 + + IL_002d: ldc.i4.0 + IL_002e: newobj instance void ICSharpCode.Decompiler.Tests.TestCases.ILPretty.YieldTestHandler/'d__0'::.ctor(int32) + IL_0033: stloc.0 + IL_0034: ldloc.0 + IL_0035: ldarg.0 + IL_0036: ldfld class ICSharpCode.Decompiler.Tests.TestCases.ILPretty.YieldTestHandler ICSharpCode.Decompiler.Tests.TestCases.ILPretty.YieldTestHandler/'d__0'::'<>4__this' + IL_003b: stfld class ICSharpCode.Decompiler.Tests.TestCases.ILPretty.YieldTestHandler ICSharpCode.Decompiler.Tests.TestCases.ILPretty.YieldTestHandler/'d__0'::'<>4__this' + IL_0040: ldloc.0 + IL_0041: ldarg.0 + IL_0042: ldfld string ICSharpCode.Decompiler.Tests.TestCases.ILPretty.YieldTestHandler/'d__0'::'<>3__test' + IL_0047: stfld string ICSharpCode.Decompiler.Tests.TestCases.ILPretty.YieldTestHandler/'d__0'::test + IL_004c: ldloc.0 + IL_004d: stloc.1 + IL_004e: br.s IL_0050 + + IL_0050: ldloc.1 + IL_0051: ret + } // end of method 'd__0'::'System.Collections.Generic.IEnumerable.GetEnumerator' + + .method private hidebysig newslot virtual final + instance class [mscorlib]System.Collections.IEnumerator + System.Collections.IEnumerable.GetEnumerator() cil managed + { + .custom instance void [mscorlib]System.Diagnostics.DebuggerHiddenAttribute::.ctor() = ( 01 00 00 00 ) + .override [mscorlib]System.Collections.IEnumerable::GetEnumerator + // Code size 11 (0xb) + .maxstack 1 + .locals init (class [mscorlib]System.Collections.IEnumerator V_0) + IL_0000: ldarg.0 + IL_0001: call instance class [mscorlib]System.Collections.Generic.IEnumerator`1 ICSharpCode.Decompiler.Tests.TestCases.ILPretty.YieldTestHandler/'d__0'::'System.Collections.Generic.IEnumerable.GetEnumerator'() + IL_0006: stloc.0 + IL_0007: br.s IL_0009 + + IL_0009: ldloc.0 + IL_000a: ret + } // end of method 'd__0'::System.Collections.IEnumerable.GetEnumerator + + .method private hidebysig newslot virtual final + instance bool MoveNext() cil managed + { + .override [mscorlib]System.Collections.IEnumerator::MoveNext + // Code size 85 (0x55) + .maxstack 3 + .locals init (bool V_0, + int32 V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 ICSharpCode.Decompiler.Tests.TestCases.ILPretty.YieldTestHandler/'d__0'::'<>1__state' + IL_0006: stloc.1 + IL_0007: ldloc.1 + IL_0008: switch ( + IL_0019, + IL_0017) + IL_0015: br.s IL_001b + + IL_0017: br.s IL_0047 + + IL_0019: br.s IL_001d + + IL_001b: br.s IL_004f + + IL_001d: ldarg.0 + IL_001e: ldc.i4.m1 + IL_001f: stfld int32 ICSharpCode.Decompiler.Tests.TestCases.ILPretty.YieldTestHandler/'d__0'::'<>1__state' + IL_0024: nop + IL_0025: ldarg.0 + IL_0026: ldarg.0 + IL_0027: ldfld class ICSharpCode.Decompiler.Tests.TestCases.ILPretty.YieldTestHandler ICSharpCode.Decompiler.Tests.TestCases.ILPretty.YieldTestHandler/'d__0'::'<>4__this' + IL_002c: ldarg.0 + IL_002d: ldfld string ICSharpCode.Decompiler.Tests.TestCases.ILPretty.YieldTestHandler/'d__0'::test + IL_0032: call instance string ICSharpCode.Decompiler.Tests.TestCases.ILPretty.YieldTestHandler::'<>n__FabricatedMethod1'(string) + IL_0037: stfld string ICSharpCode.Decompiler.Tests.TestCases.ILPretty.YieldTestHandler/'d__0'::'<>2__current' + IL_003c: ldarg.0 + IL_003d: ldc.i4.1 + IL_003e: stfld int32 ICSharpCode.Decompiler.Tests.TestCases.ILPretty.YieldTestHandler/'d__0'::'<>1__state' + IL_0043: ldc.i4.1 + IL_0044: stloc.0 + IL_0045: br.s IL_0053 + + IL_0047: ldarg.0 + IL_0048: ldc.i4.m1 + IL_0049: stfld int32 ICSharpCode.Decompiler.Tests.TestCases.ILPretty.YieldTestHandler/'d__0'::'<>1__state' + IL_004e: nop + IL_004f: ldc.i4.0 + IL_0050: stloc.0 + IL_0051: br.s IL_0053 + + IL_0053: ldloc.0 + IL_0054: ret + } // end of method 'd__0'::MoveNext + + .method private hidebysig newslot specialname virtual final + instance string 'System.Collections.Generic.IEnumerator.get_Current'() cil managed + { + .custom instance void [mscorlib]System.Diagnostics.DebuggerHiddenAttribute::.ctor() = ( 01 00 00 00 ) + .override method instance !0 class [mscorlib]System.Collections.Generic.IEnumerator`1::get_Current() + // Code size 11 (0xb) + .maxstack 1 + .locals init (string V_0) + IL_0000: ldarg.0 + IL_0001: ldfld string ICSharpCode.Decompiler.Tests.TestCases.ILPretty.YieldTestHandler/'d__0'::'<>2__current' + IL_0006: stloc.0 + IL_0007: br.s IL_0009 + + IL_0009: ldloc.0 + IL_000a: ret + } // end of method 'd__0'::'System.Collections.Generic.IEnumerator.get_Current' + + .method private hidebysig newslot virtual final + instance void System.Collections.IEnumerator.Reset() cil managed + { + .custom instance void [mscorlib]System.Diagnostics.DebuggerHiddenAttribute::.ctor() = ( 01 00 00 00 ) + .override [mscorlib]System.Collections.IEnumerator::Reset + // Code size 6 (0x6) + .maxstack 8 + IL_0000: newobj instance void [mscorlib]System.NotSupportedException::.ctor() + IL_0005: throw + } // end of method 'd__0'::System.Collections.IEnumerator.Reset + + .method private hidebysig newslot virtual final + instance void System.IDisposable.Dispose() cil managed + { + .override [mscorlib]System.IDisposable::Dispose + // Code size 2 (0x2) + .maxstack 8 + IL_0000: nop + IL_0001: ret + } // end of method 'd__0'::System.IDisposable.Dispose + + .method private hidebysig newslot specialname virtual final + instance object System.Collections.IEnumerator.get_Current() cil managed + { + .custom instance void [mscorlib]System.Diagnostics.DebuggerHiddenAttribute::.ctor() = ( 01 00 00 00 ) + .override [mscorlib]System.Collections.IEnumerator::get_Current + // Code size 11 (0xb) + .maxstack 1 + .locals init (object V_0) + IL_0000: ldarg.0 + IL_0001: ldfld string ICSharpCode.Decompiler.Tests.TestCases.ILPretty.YieldTestHandler/'d__0'::'<>2__current' + IL_0006: stloc.0 + IL_0007: br.s IL_0009 + + IL_0009: ldloc.0 + IL_000a: ret + } // end of method 'd__0'::System.Collections.IEnumerator.get_Current + + .method public hidebysig specialname rtspecialname + instance void .ctor(int32 '<>1__state') cil managed + { + .custom instance void [mscorlib]System.Diagnostics.DebuggerHiddenAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 25 (0x19) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [mscorlib]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld int32 ICSharpCode.Decompiler.Tests.TestCases.ILPretty.YieldTestHandler/'d__0'::'<>1__state' + IL_000d: ldarg.0 + IL_000e: call int32 [mscorlib]System.Environment::get_CurrentManagedThreadId() + IL_0013: stfld int32 ICSharpCode.Decompiler.Tests.TestCases.ILPretty.YieldTestHandler/'d__0'::'<>l__initialThreadId' + IL_0018: ret + } // end of method 'd__0'::.ctor + + .property instance string 'System.Collections.Generic.IEnumerator.Current'() + { + .get instance string ICSharpCode.Decompiler.Tests.TestCases.ILPretty.YieldTestHandler/'d__0'::'System.Collections.Generic.IEnumerator.get_Current'() + } // end of property 'd__0'::'System.Collections.Generic.IEnumerator.Current' + .property instance object System.Collections.IEnumerator.Current() + { + .get instance object ICSharpCode.Decompiler.Tests.TestCases.ILPretty.YieldTestHandler/'d__0'::System.Collections.IEnumerator.get_Current() + } // end of property 'd__0'::System.Collections.IEnumerator.Current + } // end of class 'd__0' + + .method famorassem hidebysig instance class [mscorlib]System.Collections.Generic.IEnumerable`1 + Test2(string test) cil managed + { + // Code size 28 (0x1c) + .maxstack 2 + .locals init (class ICSharpCode.Decompiler.Tests.TestCases.ILPretty.YieldTestHandler/'d__0' V_0, + class [mscorlib]System.Collections.Generic.IEnumerable`1 V_1) + IL_0000: ldc.i4.s -2 + IL_0002: newobj instance void ICSharpCode.Decompiler.Tests.TestCases.ILPretty.YieldTestHandler/'d__0'::.ctor(int32) + IL_0007: stloc.0 + IL_0008: ldloc.0 + IL_0009: ldarg.0 + IL_000a: stfld class ICSharpCode.Decompiler.Tests.TestCases.ILPretty.YieldTestHandler ICSharpCode.Decompiler.Tests.TestCases.ILPretty.YieldTestHandler/'d__0'::'<>4__this' + IL_000f: ldloc.0 + IL_0010: ldarg.1 + IL_0011: stfld string ICSharpCode.Decompiler.Tests.TestCases.ILPretty.YieldTestHandler/'d__0'::'<>3__test' + IL_0016: ldloc.0 + IL_0017: stloc.1 + IL_0018: br.s IL_001a + + IL_001a: ldloc.1 + IL_001b: ret + } // end of method YieldTestHandler::Test2 + + .method public hidebysig specialname rtspecialname + instance void .ctor() cil managed + { + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void ICSharpCode.Decompiler.Tests.TestCases.ILPretty.YieldDelegatingHandler::.ctor() + IL_0006: ret + } // end of method YieldTestHandler::.ctor + + .method private hidebysig instance string + '<>n__FabricatedMethod1'(string A_1) cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 12 (0xc) + .maxstack 2 + .locals init (string V_0) + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: call instance string ICSharpCode.Decompiler.Tests.TestCases.ILPretty.YieldDelegatingHandler::Test(string) + IL_0007: stloc.0 + IL_0008: br.s IL_000a + + IL_000a: ldloc.0 + IL_000b: ret + } // end of method YieldTestHandler::'<>n__FabricatedMethod1' + +} // end of class ICSharpCode.Decompiler.Tests.TestCases.ILPretty.YieldTestHandler + +.class private auto ansi beforefieldinit ICSharpCode.Decompiler.Tests.TestCases.ILPretty.LambdaDelegatingHandler + extends [mscorlib]System.Object +{ + .method famorassem hidebysig newslot virtual + instance string Test(string test) cil managed + { + // Code size 28 (0x1c) + .maxstack 4 + .locals init (string V_0, + string[] V_1) + IL_0000: nop + IL_0001: ldarg.1 + IL_0002: ldc.i4.1 + IL_0003: newarr [mscorlib]System.String + IL_0008: stloc.1 + IL_0009: ldloc.1 + IL_000a: ldc.i4.0 + IL_000b: ldstr "fsdf" + IL_0010: stelem.ref + IL_0011: ldloc.1 + IL_0012: call string [mscorlib]System.String::Join(string, + string[]) + IL_0017: stloc.0 + IL_0018: br.s IL_001a + + IL_001a: ldloc.0 + IL_001b: ret + } // end of method LambdaDelegatingHandler::Test + + .method public hidebysig specialname rtspecialname + instance void .ctor() cil managed + { + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [mscorlib]System.Object::.ctor() + IL_0006: ret + } // end of method LambdaDelegatingHandler::.ctor + +} // end of class ICSharpCode.Decompiler.Tests.TestCases.ILPretty.LambdaDelegatingHandler + +.class private auto ansi beforefieldinit ICSharpCode.Decompiler.Tests.TestCases.ILPretty.LambdaHandler + extends ICSharpCode.Decompiler.Tests.TestCases.ILPretty.LambdaDelegatingHandler +{ + .class auto ansi sealed nested private beforefieldinit '<>c__DisplayClass1' + extends [mscorlib]System.Object + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field public class ICSharpCode.Decompiler.Tests.TestCases.ILPretty.LambdaHandler '<>4__this' + .field public string test + .method public hidebysig specialname rtspecialname + instance void .ctor() cil managed + { + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [mscorlib]System.Object::.ctor() + IL_0006: ret + } // end of method '<>c__DisplayClass1'::.ctor + + .method public hidebysig instance string + 'b__0'() cil managed + { + // Code size 22 (0x16) + .maxstack 2 + .locals init (string V_0) + IL_0000: ldarg.0 + IL_0001: ldfld class ICSharpCode.Decompiler.Tests.TestCases.ILPretty.LambdaHandler ICSharpCode.Decompiler.Tests.TestCases.ILPretty.LambdaHandler/'<>c__DisplayClass1'::'<>4__this' + IL_0006: ldarg.0 + IL_0007: ldfld string ICSharpCode.Decompiler.Tests.TestCases.ILPretty.LambdaHandler/'<>c__DisplayClass1'::test + IL_000c: call instance string ICSharpCode.Decompiler.Tests.TestCases.ILPretty.LambdaHandler::'<>n__FabricatedMethod3'(string) + IL_0011: stloc.0 + IL_0012: br.s IL_0014 + + IL_0014: ldloc.0 + IL_0015: ret + } // end of method '<>c__DisplayClass1'::'b__0' + + } // end of class '<>c__DisplayClass1' + + .method famorassem hidebysig virtual instance string + Test(string test) cil managed + { + // Code size 45 (0x2d) + .maxstack 2 + .locals init (class [mscorlib]System.Func`1 V_0, + class ICSharpCode.Decompiler.Tests.TestCases.ILPretty.LambdaHandler/'<>c__DisplayClass1' V_1, + string V_2) + IL_0000: newobj instance void ICSharpCode.Decompiler.Tests.TestCases.ILPretty.LambdaHandler/'<>c__DisplayClass1'::.ctor() + IL_0005: stloc.1 + IL_0006: ldloc.1 + IL_0007: ldarg.1 + IL_0008: stfld string ICSharpCode.Decompiler.Tests.TestCases.ILPretty.LambdaHandler/'<>c__DisplayClass1'::test + IL_000d: ldloc.1 + IL_000e: ldarg.0 + IL_000f: stfld class ICSharpCode.Decompiler.Tests.TestCases.ILPretty.LambdaHandler ICSharpCode.Decompiler.Tests.TestCases.ILPretty.LambdaHandler/'<>c__DisplayClass1'::'<>4__this' + IL_0014: nop + IL_0015: ldloc.1 + IL_0016: ldftn instance string ICSharpCode.Decompiler.Tests.TestCases.ILPretty.LambdaHandler/'<>c__DisplayClass1'::'b__0'() + IL_001c: newobj instance void class [mscorlib]System.Func`1::.ctor(object, + native int) + IL_0021: stloc.0 + IL_0022: ldloc.0 + IL_0023: callvirt instance !0 class [mscorlib]System.Func`1::Invoke() + IL_0028: stloc.2 + IL_0029: br.s IL_002b + + IL_002b: ldloc.2 + IL_002c: ret + } // end of method LambdaHandler::Test + + .method public hidebysig specialname rtspecialname + instance void .ctor() cil managed + { + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void ICSharpCode.Decompiler.Tests.TestCases.ILPretty.LambdaDelegatingHandler::.ctor() + IL_0006: ret + } // end of method LambdaHandler::.ctor + + .method private hidebysig instance string + '<>n__FabricatedMethod3'(string A_1) cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 12 (0xc) + .maxstack 2 + .locals init (string V_0) + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: call instance string ICSharpCode.Decompiler.Tests.TestCases.ILPretty.LambdaDelegatingHandler::Test(string) + IL_0007: stloc.0 + IL_0008: br.s IL_000a + + IL_000a: ldloc.0 + IL_000b: ret + } // end of method LambdaHandler::'<>n__FabricatedMethod3' + +} // end of class ICSharpCode.Decompiler.Tests.TestCases.ILPretty.LambdaHandler + + +// ============================================================= + +// *********** DISASSEMBLY COMPLETE *********************** +// Warnung: Win32-Ressourcendatei "../../../TestCases/Pretty\FixProxyCalls.res" wurde erstellt. diff --git a/ICSharpCode.Decompiler.Tests/TestCases/Pretty/FixProxyCalls.opt.il b/ICSharpCode.Decompiler.Tests/TestCases/Pretty/FixProxyCalls.opt.il new file mode 100644 index 000000000..b25155b92 --- /dev/null +++ b/ICSharpCode.Decompiler.Tests/TestCases/Pretty/FixProxyCalls.opt.il @@ -0,0 +1,664 @@ + +// Microsoft (R) .NET Framework IL Disassembler. Version 4.6.1055.0 +// Copyright (c) Microsoft Corporation. Alle Rechte vorbehalten. + + + +// Metadata version: v4.0.30319 +.assembly extern mscorlib +{ + .publickeytoken = (B7 7A 5C 56 19 34 E0 89 ) // .z\V.4.. + .ver 4:0:0:0 +} +.assembly '5o3fsn2p' +{ + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilationRelaxationsAttribute::.ctor(int32) = ( 01 00 08 00 00 00 00 00 ) + .custom instance void [mscorlib]System.Runtime.CompilerServices.RuntimeCompatibilityAttribute::.ctor() = ( 01 00 01 00 54 02 16 57 72 61 70 4E 6F 6E 45 78 // ....T..WrapNonEx + 63 65 70 74 69 6F 6E 54 68 72 6F 77 73 01 ) // ceptionThrows. + .permissionset reqmin + = {[mscorlib]System.Security.Permissions.SecurityPermissionAttribute = {property bool 'SkipVerification' = bool(true)}} + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.module '5o3fsn2p.dll' +// MVID: {E4036E18-E1B6-438A-BE9C-9D698FD43CAD} +.custom instance void [mscorlib]System.Security.UnverifiableCodeAttribute::.ctor() = ( 01 00 00 00 ) +.imagebase 0x10000000 +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 // WINDOWS_CUI +.corflags 0x00000001 // ILONLY +// Image base: 0x012C0000 + + +// =============== CLASS MEMBERS DECLARATION =================== + +.class private auto ansi beforefieldinit ICSharpCode.Decompiler.Tests.TestCases.ILPretty.AwaitDelegatingHandler + extends [mscorlib]System.Object +{ + .class auto ansi sealed nested private beforefieldinit '<>c__DisplayClass1' + extends [mscorlib]System.Object + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field public string test + .method public hidebysig specialname rtspecialname + instance void .ctor() cil managed + { + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [mscorlib]System.Object::.ctor() + IL_0006: ret + } // end of method '<>c__DisplayClass1'::.ctor + + .method public hidebysig instance string + 'b__0'() cil managed + { + // Code size 12 (0xc) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld string ICSharpCode.Decompiler.Tests.TestCases.ILPretty.AwaitDelegatingHandler/'<>c__DisplayClass1'::test + IL_0006: callvirt instance string [mscorlib]System.String::ToUpper() + IL_000b: ret + } // end of method '<>c__DisplayClass1'::'b__0' + + } // end of class '<>c__DisplayClass1' + + .method famorassem hidebysig newslot virtual + instance class [mscorlib]System.Threading.Tasks.Task`1 + Test(string test) cil managed + { + // Code size 31 (0x1f) + .maxstack 2 + .locals init (class ICSharpCode.Decompiler.Tests.TestCases.ILPretty.AwaitDelegatingHandler/'<>c__DisplayClass1' V_0) + IL_0000: newobj instance void ICSharpCode.Decompiler.Tests.TestCases.ILPretty.AwaitDelegatingHandler/'<>c__DisplayClass1'::.ctor() + IL_0005: stloc.0 + IL_0006: ldloc.0 + IL_0007: ldarg.1 + IL_0008: stfld string ICSharpCode.Decompiler.Tests.TestCases.ILPretty.AwaitDelegatingHandler/'<>c__DisplayClass1'::test + IL_000d: ldloc.0 + IL_000e: ldftn instance string ICSharpCode.Decompiler.Tests.TestCases.ILPretty.AwaitDelegatingHandler/'<>c__DisplayClass1'::'b__0'() + IL_0014: newobj instance void class [mscorlib]System.Func`1::.ctor(object, + native int) + IL_0019: call class [mscorlib]System.Threading.Tasks.Task`1 [mscorlib]System.Threading.Tasks.Task::Run(class [mscorlib]System.Func`1) + IL_001e: ret + } // end of method AwaitDelegatingHandler::Test + + .method public hidebysig specialname rtspecialname + instance void .ctor() cil managed + { + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [mscorlib]System.Object::.ctor() + IL_0006: ret + } // end of method AwaitDelegatingHandler::.ctor + +} // end of class ICSharpCode.Decompiler.Tests.TestCases.ILPretty.AwaitDelegatingHandler + +.class private auto ansi beforefieldinit ICSharpCode.Decompiler.Tests.TestCases.ILPretty.AwaitTestHandler + extends ICSharpCode.Decompiler.Tests.TestCases.ILPretty.AwaitDelegatingHandler +{ + .class auto ansi sealed nested private beforefieldinit 'd__3' + extends [mscorlib]System.ValueType + implements [mscorlib]System.Runtime.CompilerServices.IAsyncStateMachine + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 '<>1__state' + .field public valuetype [mscorlib]System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1 '<>t__builder' + .field public class ICSharpCode.Decompiler.Tests.TestCases.ILPretty.AwaitTestHandler '<>4__this' + .field public string test + .field private valuetype [mscorlib]System.Runtime.CompilerServices.TaskAwaiter`1 '<>u__$awaiter4' + .field private object '<>t__stack' + .method private hidebysig newslot virtual final + instance void MoveNext() cil managed + { + .override [mscorlib]System.Runtime.CompilerServices.IAsyncStateMachine::MoveNext + // Code size 172 (0xac) + .maxstack 3 + .locals init (bool V_0, + string V_1, + class [mscorlib]System.Exception V_2, + int32 V_3, + valuetype [mscorlib]System.Runtime.CompilerServices.TaskAwaiter`1 V_4, + valuetype [mscorlib]System.Runtime.CompilerServices.TaskAwaiter`1 V_5) + .try + { + IL_0000: ldc.i4.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld int32 ICSharpCode.Decompiler.Tests.TestCases.ILPretty.AwaitTestHandler/'d__3'::'<>1__state' + IL_0008: stloc.3 + IL_0009: ldloc.3 + IL_000a: ldc.i4.0 + IL_000b: beq.s IL_004f + + IL_000d: ldarg.0 + IL_000e: ldfld class ICSharpCode.Decompiler.Tests.TestCases.ILPretty.AwaitTestHandler ICSharpCode.Decompiler.Tests.TestCases.ILPretty.AwaitTestHandler/'d__3'::'<>4__this' + IL_0013: ldarg.0 + IL_0014: ldfld string ICSharpCode.Decompiler.Tests.TestCases.ILPretty.AwaitTestHandler/'d__3'::test + IL_0019: call instance class [mscorlib]System.Threading.Tasks.Task`1 ICSharpCode.Decompiler.Tests.TestCases.ILPretty.AwaitTestHandler::'<>n__FabricatedMethod5'(string) + IL_001e: callvirt instance valuetype [mscorlib]System.Runtime.CompilerServices.TaskAwaiter`1 class [mscorlib]System.Threading.Tasks.Task`1::GetAwaiter() + IL_0023: stloc.s V_4 + IL_0025: ldloca.s V_4 + IL_0027: call instance bool valuetype [mscorlib]System.Runtime.CompilerServices.TaskAwaiter`1::get_IsCompleted() + IL_002c: brtrue.s IL_006e + + IL_002e: ldarg.0 + IL_002f: ldc.i4.0 + IL_0030: stfld int32 ICSharpCode.Decompiler.Tests.TestCases.ILPretty.AwaitTestHandler/'d__3'::'<>1__state' + IL_0035: ldarg.0 + IL_0036: ldloc.s V_4 + IL_0038: stfld valuetype [mscorlib]System.Runtime.CompilerServices.TaskAwaiter`1 ICSharpCode.Decompiler.Tests.TestCases.ILPretty.AwaitTestHandler/'d__3'::'<>u__$awaiter4' + IL_003d: ldarg.0 + IL_003e: ldflda valuetype [mscorlib]System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1 ICSharpCode.Decompiler.Tests.TestCases.ILPretty.AwaitTestHandler/'d__3'::'<>t__builder' + IL_0043: ldloca.s V_4 + IL_0045: ldarg.0 + IL_0046: call instance void valuetype [mscorlib]System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1::AwaitUnsafeOnCompleted,valuetype ICSharpCode.Decompiler.Tests.TestCases.ILPretty.AwaitTestHandler/'d__3'>(!!0&, + !!1&) + IL_004b: ldc.i4.0 + IL_004c: stloc.0 + IL_004d: leave.s IL_00ab + + IL_004f: ldarg.0 + IL_0050: ldfld valuetype [mscorlib]System.Runtime.CompilerServices.TaskAwaiter`1 ICSharpCode.Decompiler.Tests.TestCases.ILPretty.AwaitTestHandler/'d__3'::'<>u__$awaiter4' + IL_0055: stloc.s V_4 + IL_0057: ldarg.0 + IL_0058: ldloca.s V_5 + IL_005a: initobj valuetype [mscorlib]System.Runtime.CompilerServices.TaskAwaiter`1 + IL_0060: ldloc.s V_5 + IL_0062: stfld valuetype [mscorlib]System.Runtime.CompilerServices.TaskAwaiter`1 ICSharpCode.Decompiler.Tests.TestCases.ILPretty.AwaitTestHandler/'d__3'::'<>u__$awaiter4' + IL_0067: ldarg.0 + IL_0068: ldc.i4.m1 + IL_0069: stfld int32 ICSharpCode.Decompiler.Tests.TestCases.ILPretty.AwaitTestHandler/'d__3'::'<>1__state' + IL_006e: ldloca.s V_4 + IL_0070: call instance !0 valuetype [mscorlib]System.Runtime.CompilerServices.TaskAwaiter`1::GetResult() + IL_0075: ldloca.s V_4 + IL_0077: initobj valuetype [mscorlib]System.Runtime.CompilerServices.TaskAwaiter`1 + IL_007d: stloc.1 + IL_007e: leave.s IL_0097 + + } // end .try + catch [mscorlib]System.Exception + { + IL_0080: stloc.2 + IL_0081: ldarg.0 + IL_0082: ldc.i4.s -2 + IL_0084: stfld int32 ICSharpCode.Decompiler.Tests.TestCases.ILPretty.AwaitTestHandler/'d__3'::'<>1__state' + IL_0089: ldarg.0 + IL_008a: ldflda valuetype [mscorlib]System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1 ICSharpCode.Decompiler.Tests.TestCases.ILPretty.AwaitTestHandler/'d__3'::'<>t__builder' + IL_008f: ldloc.2 + IL_0090: call instance void valuetype [mscorlib]System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1::SetException(class [mscorlib]System.Exception) + IL_0095: leave.s IL_00ab + + } // end handler + IL_0097: ldarg.0 + IL_0098: ldc.i4.s -2 + IL_009a: stfld int32 ICSharpCode.Decompiler.Tests.TestCases.ILPretty.AwaitTestHandler/'d__3'::'<>1__state' + IL_009f: ldarg.0 + IL_00a0: ldflda valuetype [mscorlib]System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1 ICSharpCode.Decompiler.Tests.TestCases.ILPretty.AwaitTestHandler/'d__3'::'<>t__builder' + IL_00a5: ldloc.1 + IL_00a6: call instance void valuetype [mscorlib]System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1::SetResult(!0) + IL_00ab: ret + } // end of method 'd__3'::MoveNext + + .method private hidebysig newslot virtual final + instance void SetStateMachine(class [mscorlib]System.Runtime.CompilerServices.IAsyncStateMachine param0) cil managed + { + .custom instance void [mscorlib]System.Diagnostics.DebuggerHiddenAttribute::.ctor() = ( 01 00 00 00 ) + .override [mscorlib]System.Runtime.CompilerServices.IAsyncStateMachine::SetStateMachine + // Code size 13 (0xd) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldflda valuetype [mscorlib]System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1 ICSharpCode.Decompiler.Tests.TestCases.ILPretty.AwaitTestHandler/'d__3'::'<>t__builder' + IL_0006: ldarg.1 + IL_0007: call instance void valuetype [mscorlib]System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1::SetStateMachine(class [mscorlib]System.Runtime.CompilerServices.IAsyncStateMachine) + IL_000c: ret + } // end of method 'd__3'::SetStateMachine + + } // end of class 'd__3' + + .method famorassem hidebysig virtual instance class [mscorlib]System.Threading.Tasks.Task`1 + Test(string test) cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.AsyncStateMachineAttribute::.ctor(class [mscorlib]System.Type) = ( 01 00 4B 49 43 53 68 61 72 70 43 6F 64 65 2E 44 // ..KICSharpCode.D + 65 63 6F 6D 70 69 6C 65 72 2E 54 65 73 74 73 2E // ecompiler.Tests. + 54 65 73 74 43 61 73 65 73 2E 49 4C 50 72 65 74 // TestCases.ILPret + 74 79 2E 41 77 61 69 74 54 65 73 74 48 61 6E 64 // ty.AwaitTestHand + 6C 65 72 2B 3C 54 65 73 74 3E 64 5F 5F 33 00 00 ) // ler+d__3.. + .custom instance void [mscorlib]System.Diagnostics.DebuggerStepThroughAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 66 (0x42) + .maxstack 2 + .locals init (valuetype ICSharpCode.Decompiler.Tests.TestCases.ILPretty.AwaitTestHandler/'d__3' V_0, + valuetype [mscorlib]System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1 V_1) + IL_0000: ldloca.s V_0 + IL_0002: ldarg.0 + IL_0003: stfld class ICSharpCode.Decompiler.Tests.TestCases.ILPretty.AwaitTestHandler ICSharpCode.Decompiler.Tests.TestCases.ILPretty.AwaitTestHandler/'d__3'::'<>4__this' + IL_0008: ldloca.s V_0 + IL_000a: ldarg.1 + IL_000b: stfld string ICSharpCode.Decompiler.Tests.TestCases.ILPretty.AwaitTestHandler/'d__3'::test + IL_0010: ldloca.s V_0 + IL_0012: call valuetype [mscorlib]System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1 valuetype [mscorlib]System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1::Create() + IL_0017: stfld valuetype [mscorlib]System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1 ICSharpCode.Decompiler.Tests.TestCases.ILPretty.AwaitTestHandler/'d__3'::'<>t__builder' + IL_001c: ldloca.s V_0 + IL_001e: ldc.i4.m1 + IL_001f: stfld int32 ICSharpCode.Decompiler.Tests.TestCases.ILPretty.AwaitTestHandler/'d__3'::'<>1__state' + IL_0024: ldloca.s V_0 + IL_0026: ldfld valuetype [mscorlib]System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1 ICSharpCode.Decompiler.Tests.TestCases.ILPretty.AwaitTestHandler/'d__3'::'<>t__builder' + IL_002b: stloc.1 + IL_002c: ldloca.s V_1 + IL_002e: ldloca.s V_0 + IL_0030: call instance void valuetype [mscorlib]System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1::Startd__3'>(!!0&) + IL_0035: ldloca.s V_0 + IL_0037: ldflda valuetype [mscorlib]System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1 ICSharpCode.Decompiler.Tests.TestCases.ILPretty.AwaitTestHandler/'d__3'::'<>t__builder' + IL_003c: call instance class [mscorlib]System.Threading.Tasks.Task`1 valuetype [mscorlib]System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1::get_Task() + IL_0041: ret + } // end of method AwaitTestHandler::Test + + .method public hidebysig specialname rtspecialname + instance void .ctor() cil managed + { + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void ICSharpCode.Decompiler.Tests.TestCases.ILPretty.AwaitDelegatingHandler::.ctor() + IL_0006: ret + } // end of method AwaitTestHandler::.ctor + + .method private hidebysig instance class [mscorlib]System.Threading.Tasks.Task`1 + '<>n__FabricatedMethod5'(string A_1) cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 8 (0x8) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: call instance class [mscorlib]System.Threading.Tasks.Task`1 ICSharpCode.Decompiler.Tests.TestCases.ILPretty.AwaitDelegatingHandler::Test(string) + IL_0007: ret + } // end of method AwaitTestHandler::'<>n__FabricatedMethod5' + +} // end of class ICSharpCode.Decompiler.Tests.TestCases.ILPretty.AwaitTestHandler + +.class private auto ansi beforefieldinit ICSharpCode.Decompiler.Tests.TestCases.ILPretty.YieldDelegatingHandler + extends [mscorlib]System.Object +{ + .method famorassem hidebysig newslot virtual + instance string Test(string test) cil managed + { + // Code size 23 (0x17) + .maxstack 4 + .locals init (string[] V_0) + IL_0000: ldarg.1 + IL_0001: ldc.i4.1 + IL_0002: newarr [mscorlib]System.String + IL_0007: stloc.0 + IL_0008: ldloc.0 + IL_0009: ldc.i4.0 + IL_000a: ldstr "fsdf" + IL_000f: stelem.ref + IL_0010: ldloc.0 + IL_0011: call string [mscorlib]System.String::Join(string, + string[]) + IL_0016: ret + } // end of method YieldDelegatingHandler::Test + + .method public hidebysig specialname rtspecialname + instance void .ctor() cil managed + { + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [mscorlib]System.Object::.ctor() + IL_0006: ret + } // end of method YieldDelegatingHandler::.ctor + +} // end of class ICSharpCode.Decompiler.Tests.TestCases.ILPretty.YieldDelegatingHandler + +.class private auto ansi beforefieldinit ICSharpCode.Decompiler.Tests.TestCases.ILPretty.YieldTestHandler + extends ICSharpCode.Decompiler.Tests.TestCases.ILPretty.YieldDelegatingHandler +{ + .class auto ansi sealed nested private beforefieldinit 'd__0' + extends [mscorlib]System.Object + implements class [mscorlib]System.Collections.Generic.IEnumerable`1, + [mscorlib]System.Collections.IEnumerable, + class [mscorlib]System.Collections.Generic.IEnumerator`1, + [mscorlib]System.Collections.IEnumerator, + [mscorlib]System.IDisposable + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field private string '<>2__current' + .field private int32 '<>1__state' + .field private int32 '<>l__initialThreadId' + .field public class ICSharpCode.Decompiler.Tests.TestCases.ILPretty.YieldTestHandler '<>4__this' + .field public string test + .field public string '<>3__test' + .method private hidebysig newslot virtual final + instance class [mscorlib]System.Collections.Generic.IEnumerator`1 + 'System.Collections.Generic.IEnumerable.GetEnumerator'() cil managed + { + .custom instance void [mscorlib]System.Diagnostics.DebuggerHiddenAttribute::.ctor() = ( 01 00 00 00 ) + .override method instance class [mscorlib]System.Collections.Generic.IEnumerator`1 class [mscorlib]System.Collections.Generic.IEnumerable`1::GetEnumerator() + // Code size 67 (0x43) + .maxstack 2 + .locals init (class ICSharpCode.Decompiler.Tests.TestCases.ILPretty.YieldTestHandler/'d__0' V_0) + IL_0000: call int32 [mscorlib]System.Environment::get_CurrentManagedThreadId() + IL_0005: ldarg.0 + IL_0006: ldfld int32 ICSharpCode.Decompiler.Tests.TestCases.ILPretty.YieldTestHandler/'d__0'::'<>l__initialThreadId' + IL_000b: bne.un.s IL_0022 + + IL_000d: ldarg.0 + IL_000e: ldfld int32 ICSharpCode.Decompiler.Tests.TestCases.ILPretty.YieldTestHandler/'d__0'::'<>1__state' + IL_0013: ldc.i4.s -2 + IL_0015: bne.un.s IL_0022 + + IL_0017: ldarg.0 + IL_0018: ldc.i4.0 + IL_0019: stfld int32 ICSharpCode.Decompiler.Tests.TestCases.ILPretty.YieldTestHandler/'d__0'::'<>1__state' + IL_001e: ldarg.0 + IL_001f: stloc.0 + IL_0020: br.s IL_0035 + + IL_0022: ldc.i4.0 + IL_0023: newobj instance void ICSharpCode.Decompiler.Tests.TestCases.ILPretty.YieldTestHandler/'d__0'::.ctor(int32) + IL_0028: stloc.0 + IL_0029: ldloc.0 + IL_002a: ldarg.0 + IL_002b: ldfld class ICSharpCode.Decompiler.Tests.TestCases.ILPretty.YieldTestHandler ICSharpCode.Decompiler.Tests.TestCases.ILPretty.YieldTestHandler/'d__0'::'<>4__this' + IL_0030: stfld class ICSharpCode.Decompiler.Tests.TestCases.ILPretty.YieldTestHandler ICSharpCode.Decompiler.Tests.TestCases.ILPretty.YieldTestHandler/'d__0'::'<>4__this' + IL_0035: ldloc.0 + IL_0036: ldarg.0 + IL_0037: ldfld string ICSharpCode.Decompiler.Tests.TestCases.ILPretty.YieldTestHandler/'d__0'::'<>3__test' + IL_003c: stfld string ICSharpCode.Decompiler.Tests.TestCases.ILPretty.YieldTestHandler/'d__0'::test + IL_0041: ldloc.0 + IL_0042: ret + } // end of method 'd__0'::'System.Collections.Generic.IEnumerable.GetEnumerator' + + .method private hidebysig newslot virtual final + instance class [mscorlib]System.Collections.IEnumerator + System.Collections.IEnumerable.GetEnumerator() cil managed + { + .custom instance void [mscorlib]System.Diagnostics.DebuggerHiddenAttribute::.ctor() = ( 01 00 00 00 ) + .override [mscorlib]System.Collections.IEnumerable::GetEnumerator + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance class [mscorlib]System.Collections.Generic.IEnumerator`1 ICSharpCode.Decompiler.Tests.TestCases.ILPretty.YieldTestHandler/'d__0'::'System.Collections.Generic.IEnumerable.GetEnumerator'() + IL_0006: ret + } // end of method 'd__0'::System.Collections.IEnumerable.GetEnumerator + + .method private hidebysig newslot virtual final + instance bool MoveNext() cil managed + { + .override [mscorlib]System.Collections.IEnumerator::MoveNext + // Code size 71 (0x47) + .maxstack 3 + .locals init (int32 V_0) + IL_0000: ldarg.0 + IL_0001: ldfld int32 ICSharpCode.Decompiler.Tests.TestCases.ILPretty.YieldTestHandler/'d__0'::'<>1__state' + IL_0006: stloc.0 + IL_0007: ldloc.0 + IL_0008: switch ( + IL_0017, + IL_003e) + IL_0015: br.s IL_0045 + + IL_0017: ldarg.0 + IL_0018: ldc.i4.m1 + IL_0019: stfld int32 ICSharpCode.Decompiler.Tests.TestCases.ILPretty.YieldTestHandler/'d__0'::'<>1__state' + IL_001e: ldarg.0 + IL_001f: ldarg.0 + IL_0020: ldfld class ICSharpCode.Decompiler.Tests.TestCases.ILPretty.YieldTestHandler ICSharpCode.Decompiler.Tests.TestCases.ILPretty.YieldTestHandler/'d__0'::'<>4__this' + IL_0025: ldarg.0 + IL_0026: ldfld string ICSharpCode.Decompiler.Tests.TestCases.ILPretty.YieldTestHandler/'d__0'::test + IL_002b: call instance string ICSharpCode.Decompiler.Tests.TestCases.ILPretty.YieldTestHandler::'<>n__FabricatedMethod1'(string) + IL_0030: stfld string ICSharpCode.Decompiler.Tests.TestCases.ILPretty.YieldTestHandler/'d__0'::'<>2__current' + IL_0035: ldarg.0 + IL_0036: ldc.i4.1 + IL_0037: stfld int32 ICSharpCode.Decompiler.Tests.TestCases.ILPretty.YieldTestHandler/'d__0'::'<>1__state' + IL_003c: ldc.i4.1 + IL_003d: ret + + IL_003e: ldarg.0 + IL_003f: ldc.i4.m1 + IL_0040: stfld int32 ICSharpCode.Decompiler.Tests.TestCases.ILPretty.YieldTestHandler/'d__0'::'<>1__state' + IL_0045: ldc.i4.0 + IL_0046: ret + } // end of method 'd__0'::MoveNext + + .method private hidebysig newslot specialname virtual final + instance string 'System.Collections.Generic.IEnumerator.get_Current'() cil managed + { + .custom instance void [mscorlib]System.Diagnostics.DebuggerHiddenAttribute::.ctor() = ( 01 00 00 00 ) + .override method instance !0 class [mscorlib]System.Collections.Generic.IEnumerator`1::get_Current() + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld string ICSharpCode.Decompiler.Tests.TestCases.ILPretty.YieldTestHandler/'d__0'::'<>2__current' + IL_0006: ret + } // end of method 'd__0'::'System.Collections.Generic.IEnumerator.get_Current' + + .method private hidebysig newslot virtual final + instance void System.Collections.IEnumerator.Reset() cil managed + { + .custom instance void [mscorlib]System.Diagnostics.DebuggerHiddenAttribute::.ctor() = ( 01 00 00 00 ) + .override [mscorlib]System.Collections.IEnumerator::Reset + // Code size 6 (0x6) + .maxstack 8 + IL_0000: newobj instance void [mscorlib]System.NotSupportedException::.ctor() + IL_0005: throw + } // end of method 'd__0'::System.Collections.IEnumerator.Reset + + .method private hidebysig newslot virtual final + instance void System.IDisposable.Dispose() cil managed + { + .override [mscorlib]System.IDisposable::Dispose + // Code size 1 (0x1) + .maxstack 8 + IL_0000: ret + } // end of method 'd__0'::System.IDisposable.Dispose + + .method private hidebysig newslot specialname virtual final + instance object System.Collections.IEnumerator.get_Current() cil managed + { + .custom instance void [mscorlib]System.Diagnostics.DebuggerHiddenAttribute::.ctor() = ( 01 00 00 00 ) + .override [mscorlib]System.Collections.IEnumerator::get_Current + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld string ICSharpCode.Decompiler.Tests.TestCases.ILPretty.YieldTestHandler/'d__0'::'<>2__current' + IL_0006: ret + } // end of method 'd__0'::System.Collections.IEnumerator.get_Current + + .method public hidebysig specialname rtspecialname + instance void .ctor(int32 '<>1__state') cil managed + { + .custom instance void [mscorlib]System.Diagnostics.DebuggerHiddenAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 25 (0x19) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [mscorlib]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld int32 ICSharpCode.Decompiler.Tests.TestCases.ILPretty.YieldTestHandler/'d__0'::'<>1__state' + IL_000d: ldarg.0 + IL_000e: call int32 [mscorlib]System.Environment::get_CurrentManagedThreadId() + IL_0013: stfld int32 ICSharpCode.Decompiler.Tests.TestCases.ILPretty.YieldTestHandler/'d__0'::'<>l__initialThreadId' + IL_0018: ret + } // end of method 'd__0'::.ctor + + .property instance string 'System.Collections.Generic.IEnumerator.Current'() + { + .get instance string ICSharpCode.Decompiler.Tests.TestCases.ILPretty.YieldTestHandler/'d__0'::'System.Collections.Generic.IEnumerator.get_Current'() + } // end of property 'd__0'::'System.Collections.Generic.IEnumerator.Current' + .property instance object System.Collections.IEnumerator.Current() + { + .get instance object ICSharpCode.Decompiler.Tests.TestCases.ILPretty.YieldTestHandler/'d__0'::System.Collections.IEnumerator.get_Current() + } // end of property 'd__0'::System.Collections.IEnumerator.Current + } // end of class 'd__0' + + .method famorassem hidebysig instance class [mscorlib]System.Collections.Generic.IEnumerable`1 + Test2(string test) cil managed + { + // Code size 24 (0x18) + .maxstack 2 + .locals init (class ICSharpCode.Decompiler.Tests.TestCases.ILPretty.YieldTestHandler/'d__0' V_0) + IL_0000: ldc.i4.s -2 + IL_0002: newobj instance void ICSharpCode.Decompiler.Tests.TestCases.ILPretty.YieldTestHandler/'d__0'::.ctor(int32) + IL_0007: stloc.0 + IL_0008: ldloc.0 + IL_0009: ldarg.0 + IL_000a: stfld class ICSharpCode.Decompiler.Tests.TestCases.ILPretty.YieldTestHandler ICSharpCode.Decompiler.Tests.TestCases.ILPretty.YieldTestHandler/'d__0'::'<>4__this' + IL_000f: ldloc.0 + IL_0010: ldarg.1 + IL_0011: stfld string ICSharpCode.Decompiler.Tests.TestCases.ILPretty.YieldTestHandler/'d__0'::'<>3__test' + IL_0016: ldloc.0 + IL_0017: ret + } // end of method YieldTestHandler::Test2 + + .method public hidebysig specialname rtspecialname + instance void .ctor() cil managed + { + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void ICSharpCode.Decompiler.Tests.TestCases.ILPretty.YieldDelegatingHandler::.ctor() + IL_0006: ret + } // end of method YieldTestHandler::.ctor + + .method private hidebysig instance string + '<>n__FabricatedMethod1'(string A_1) cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 8 (0x8) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: call instance string ICSharpCode.Decompiler.Tests.TestCases.ILPretty.YieldDelegatingHandler::Test(string) + IL_0007: ret + } // end of method YieldTestHandler::'<>n__FabricatedMethod1' + +} // end of class ICSharpCode.Decompiler.Tests.TestCases.ILPretty.YieldTestHandler + +.class private auto ansi beforefieldinit ICSharpCode.Decompiler.Tests.TestCases.ILPretty.LambdaDelegatingHandler + extends [mscorlib]System.Object +{ + .method famorassem hidebysig newslot virtual + instance string Test(string test) cil managed + { + // Code size 23 (0x17) + .maxstack 4 + .locals init (string[] V_0) + IL_0000: ldarg.1 + IL_0001: ldc.i4.1 + IL_0002: newarr [mscorlib]System.String + IL_0007: stloc.0 + IL_0008: ldloc.0 + IL_0009: ldc.i4.0 + IL_000a: ldstr "fsdf" + IL_000f: stelem.ref + IL_0010: ldloc.0 + IL_0011: call string [mscorlib]System.String::Join(string, + string[]) + IL_0016: ret + } // end of method LambdaDelegatingHandler::Test + + .method public hidebysig specialname rtspecialname + instance void .ctor() cil managed + { + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [mscorlib]System.Object::.ctor() + IL_0006: ret + } // end of method LambdaDelegatingHandler::.ctor + +} // end of class ICSharpCode.Decompiler.Tests.TestCases.ILPretty.LambdaDelegatingHandler + +.class private auto ansi beforefieldinit ICSharpCode.Decompiler.Tests.TestCases.ILPretty.LambdaHandler + extends ICSharpCode.Decompiler.Tests.TestCases.ILPretty.LambdaDelegatingHandler +{ + .class auto ansi sealed nested private beforefieldinit '<>c__DisplayClass1' + extends [mscorlib]System.Object + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field public class ICSharpCode.Decompiler.Tests.TestCases.ILPretty.LambdaHandler '<>4__this' + .field public string test + .method public hidebysig specialname rtspecialname + instance void .ctor() cil managed + { + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [mscorlib]System.Object::.ctor() + IL_0006: ret + } // end of method '<>c__DisplayClass1'::.ctor + + .method public hidebysig instance string + 'b__0'() cil managed + { + // Code size 18 (0x12) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld class ICSharpCode.Decompiler.Tests.TestCases.ILPretty.LambdaHandler ICSharpCode.Decompiler.Tests.TestCases.ILPretty.LambdaHandler/'<>c__DisplayClass1'::'<>4__this' + IL_0006: ldarg.0 + IL_0007: ldfld string ICSharpCode.Decompiler.Tests.TestCases.ILPretty.LambdaHandler/'<>c__DisplayClass1'::test + IL_000c: call instance string ICSharpCode.Decompiler.Tests.TestCases.ILPretty.LambdaHandler::'<>n__FabricatedMethod3'(string) + IL_0011: ret + } // end of method '<>c__DisplayClass1'::'b__0' + + } // end of class '<>c__DisplayClass1' + + .method famorassem hidebysig virtual instance string + Test(string test) cil managed + { + // Code size 40 (0x28) + .maxstack 2 + .locals init (class [mscorlib]System.Func`1 V_0, + class ICSharpCode.Decompiler.Tests.TestCases.ILPretty.LambdaHandler/'<>c__DisplayClass1' V_1) + IL_0000: newobj instance void ICSharpCode.Decompiler.Tests.TestCases.ILPretty.LambdaHandler/'<>c__DisplayClass1'::.ctor() + IL_0005: stloc.1 + IL_0006: ldloc.1 + IL_0007: ldarg.1 + IL_0008: stfld string ICSharpCode.Decompiler.Tests.TestCases.ILPretty.LambdaHandler/'<>c__DisplayClass1'::test + IL_000d: ldloc.1 + IL_000e: ldarg.0 + IL_000f: stfld class ICSharpCode.Decompiler.Tests.TestCases.ILPretty.LambdaHandler ICSharpCode.Decompiler.Tests.TestCases.ILPretty.LambdaHandler/'<>c__DisplayClass1'::'<>4__this' + IL_0014: ldloc.1 + IL_0015: ldftn instance string ICSharpCode.Decompiler.Tests.TestCases.ILPretty.LambdaHandler/'<>c__DisplayClass1'::'b__0'() + IL_001b: newobj instance void class [mscorlib]System.Func`1::.ctor(object, + native int) + IL_0020: stloc.0 + IL_0021: ldloc.0 + IL_0022: callvirt instance !0 class [mscorlib]System.Func`1::Invoke() + IL_0027: ret + } // end of method LambdaHandler::Test + + .method public hidebysig specialname rtspecialname + instance void .ctor() cil managed + { + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void ICSharpCode.Decompiler.Tests.TestCases.ILPretty.LambdaDelegatingHandler::.ctor() + IL_0006: ret + } // end of method LambdaHandler::.ctor + + .method private hidebysig instance string + '<>n__FabricatedMethod3'(string A_1) cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 8 (0x8) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: call instance string ICSharpCode.Decompiler.Tests.TestCases.ILPretty.LambdaDelegatingHandler::Test(string) + IL_0007: ret + } // end of method LambdaHandler::'<>n__FabricatedMethod3' + +} // end of class ICSharpCode.Decompiler.Tests.TestCases.ILPretty.LambdaHandler + + +// ============================================================= + +// *********** DISASSEMBLY COMPLETE *********************** +// Warnung: Win32-Ressourcendatei "../../../TestCases/Pretty\FixProxyCalls.opt.res" wurde erstellt. diff --git a/ICSharpCode.Decompiler.Tests/TestCases/Pretty/FixProxyCalls.opt.roslyn.il b/ICSharpCode.Decompiler.Tests/TestCases/Pretty/FixProxyCalls.opt.roslyn.il new file mode 100644 index 000000000..18067c1bc --- /dev/null +++ b/ICSharpCode.Decompiler.Tests/TestCases/Pretty/FixProxyCalls.opt.roslyn.il @@ -0,0 +1,660 @@ + +// Microsoft (R) .NET Framework IL Disassembler. Version 4.6.1055.0 +// Copyright (c) Microsoft Corporation. Alle Rechte vorbehalten. + + + +// Metadata version: v4.0.30319 +.assembly extern mscorlib +{ + .publickeytoken = (B7 7A 5C 56 19 34 E0 89 ) // .z\V.4.. + .ver 4:0:0:0 +} +.assembly FixProxyCalls +{ + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilationRelaxationsAttribute::.ctor(int32) = ( 01 00 08 00 00 00 00 00 ) + .custom instance void [mscorlib]System.Runtime.CompilerServices.RuntimeCompatibilityAttribute::.ctor() = ( 01 00 01 00 54 02 16 57 72 61 70 4E 6F 6E 45 78 // ....T..WrapNonEx + 63 65 70 74 69 6F 6E 54 68 72 6F 77 73 01 ) // ceptionThrows. + + // --- The following custom attribute is added automatically, do not uncomment ------- + // .custom instance void [mscorlib]System.Diagnostics.DebuggableAttribute::.ctor(valuetype [mscorlib]System.Diagnostics.DebuggableAttribute/DebuggingModes) = ( 01 00 02 00 00 00 00 00 ) + + .permissionset reqmin + = {[mscorlib]System.Security.Permissions.SecurityPermissionAttribute = {property bool 'SkipVerification' = bool(true)}} + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.module FixProxyCalls.dll +// MVID: {01B4F59A-A47C-4AAE-8629-51C35A57DB9D} +.custom instance void [mscorlib]System.Security.UnverifiableCodeAttribute::.ctor() = ( 01 00 00 00 ) +.imagebase 0x10000000 +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 // WINDOWS_CUI +.corflags 0x00000001 // ILONLY +// Image base: 0x004A0000 + + +// =============== CLASS MEMBERS DECLARATION =================== + +.class private auto ansi beforefieldinit ICSharpCode.Decompiler.Tests.TestCases.ILPretty.AwaitTestHandler + extends ICSharpCode.Decompiler.Tests.TestCases.ILPretty.AwaitDelegatingHandler +{ + .class auto ansi sealed nested private beforefieldinit 'd__0' + extends [mscorlib]System.ValueType + implements [mscorlib]System.Runtime.CompilerServices.IAsyncStateMachine + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 '<>1__state' + .field public valuetype [mscorlib]System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1 '<>t__builder' + .field public class ICSharpCode.Decompiler.Tests.TestCases.ILPretty.AwaitTestHandler '<>4__this' + .field public string test + .field private valuetype [mscorlib]System.Runtime.CompilerServices.TaskAwaiter`1 '<>u__1' + .method private hidebysig newslot virtual final + instance void MoveNext() cil managed + { + .override [mscorlib]System.Runtime.CompilerServices.IAsyncStateMachine::MoveNext + // Code size 160 (0xa0) + .maxstack 3 + .locals init (int32 V_0, + class ICSharpCode.Decompiler.Tests.TestCases.ILPretty.AwaitTestHandler V_1, + string V_2, + valuetype [mscorlib]System.Runtime.CompilerServices.TaskAwaiter`1 V_3, + class [mscorlib]System.Exception V_4) + IL_0000: ldarg.0 + IL_0001: ldfld int32 ICSharpCode.Decompiler.Tests.TestCases.ILPretty.AwaitTestHandler/'d__0'::'<>1__state' + IL_0006: stloc.0 + IL_0007: ldarg.0 + IL_0008: ldfld class ICSharpCode.Decompiler.Tests.TestCases.ILPretty.AwaitTestHandler ICSharpCode.Decompiler.Tests.TestCases.ILPretty.AwaitTestHandler/'d__0'::'<>4__this' + IL_000d: stloc.1 + .try + { + IL_000e: ldloc.0 + IL_000f: brfalse.s IL_004c + + IL_0011: ldloc.1 + IL_0012: ldarg.0 + IL_0013: ldfld string ICSharpCode.Decompiler.Tests.TestCases.ILPretty.AwaitTestHandler/'d__0'::test + IL_0018: call instance class [mscorlib]System.Threading.Tasks.Task`1 ICSharpCode.Decompiler.Tests.TestCases.ILPretty.AwaitTestHandler::'<>n__0'(string) + IL_001d: callvirt instance valuetype [mscorlib]System.Runtime.CompilerServices.TaskAwaiter`1 class [mscorlib]System.Threading.Tasks.Task`1::GetAwaiter() + IL_0022: stloc.3 + IL_0023: ldloca.s V_3 + IL_0025: call instance bool valuetype [mscorlib]System.Runtime.CompilerServices.TaskAwaiter`1::get_IsCompleted() + IL_002a: brtrue.s IL_0068 + + IL_002c: ldarg.0 + IL_002d: ldc.i4.0 + IL_002e: dup + IL_002f: stloc.0 + IL_0030: stfld int32 ICSharpCode.Decompiler.Tests.TestCases.ILPretty.AwaitTestHandler/'d__0'::'<>1__state' + IL_0035: ldarg.0 + IL_0036: ldloc.3 + IL_0037: stfld valuetype [mscorlib]System.Runtime.CompilerServices.TaskAwaiter`1 ICSharpCode.Decompiler.Tests.TestCases.ILPretty.AwaitTestHandler/'d__0'::'<>u__1' + IL_003c: ldarg.0 + IL_003d: ldflda valuetype [mscorlib]System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1 ICSharpCode.Decompiler.Tests.TestCases.ILPretty.AwaitTestHandler/'d__0'::'<>t__builder' + IL_0042: ldloca.s V_3 + IL_0044: ldarg.0 + IL_0045: call instance void valuetype [mscorlib]System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1::AwaitUnsafeOnCompleted,valuetype ICSharpCode.Decompiler.Tests.TestCases.ILPretty.AwaitTestHandler/'d__0'>(!!0&, + !!1&) + IL_004a: leave.s IL_009f + + IL_004c: ldarg.0 + IL_004d: ldfld valuetype [mscorlib]System.Runtime.CompilerServices.TaskAwaiter`1 ICSharpCode.Decompiler.Tests.TestCases.ILPretty.AwaitTestHandler/'d__0'::'<>u__1' + IL_0052: stloc.3 + IL_0053: ldarg.0 + IL_0054: ldflda valuetype [mscorlib]System.Runtime.CompilerServices.TaskAwaiter`1 ICSharpCode.Decompiler.Tests.TestCases.ILPretty.AwaitTestHandler/'d__0'::'<>u__1' + IL_0059: initobj valuetype [mscorlib]System.Runtime.CompilerServices.TaskAwaiter`1 + IL_005f: ldarg.0 + IL_0060: ldc.i4.m1 + IL_0061: dup + IL_0062: stloc.0 + IL_0063: stfld int32 ICSharpCode.Decompiler.Tests.TestCases.ILPretty.AwaitTestHandler/'d__0'::'<>1__state' + IL_0068: ldloca.s V_3 + IL_006a: call instance !0 valuetype [mscorlib]System.Runtime.CompilerServices.TaskAwaiter`1::GetResult() + IL_006f: stloc.2 + IL_0070: leave.s IL_008b + + } // end .try + catch [mscorlib]System.Exception + { + IL_0072: stloc.s V_4 + IL_0074: ldarg.0 + IL_0075: ldc.i4.s -2 + IL_0077: stfld int32 ICSharpCode.Decompiler.Tests.TestCases.ILPretty.AwaitTestHandler/'d__0'::'<>1__state' + IL_007c: ldarg.0 + IL_007d: ldflda valuetype [mscorlib]System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1 ICSharpCode.Decompiler.Tests.TestCases.ILPretty.AwaitTestHandler/'d__0'::'<>t__builder' + IL_0082: ldloc.s V_4 + IL_0084: call instance void valuetype [mscorlib]System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1::SetException(class [mscorlib]System.Exception) + IL_0089: leave.s IL_009f + + } // end handler + IL_008b: ldarg.0 + IL_008c: ldc.i4.s -2 + IL_008e: stfld int32 ICSharpCode.Decompiler.Tests.TestCases.ILPretty.AwaitTestHandler/'d__0'::'<>1__state' + IL_0093: ldarg.0 + IL_0094: ldflda valuetype [mscorlib]System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1 ICSharpCode.Decompiler.Tests.TestCases.ILPretty.AwaitTestHandler/'d__0'::'<>t__builder' + IL_0099: ldloc.2 + IL_009a: call instance void valuetype [mscorlib]System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1::SetResult(!0) + IL_009f: ret + } // end of method 'd__0'::MoveNext + + .method private hidebysig newslot virtual final + instance void SetStateMachine(class [mscorlib]System.Runtime.CompilerServices.IAsyncStateMachine stateMachine) cil managed + { + .custom instance void [mscorlib]System.Diagnostics.DebuggerHiddenAttribute::.ctor() = ( 01 00 00 00 ) + .override [mscorlib]System.Runtime.CompilerServices.IAsyncStateMachine::SetStateMachine + // Code size 13 (0xd) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldflda valuetype [mscorlib]System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1 ICSharpCode.Decompiler.Tests.TestCases.ILPretty.AwaitTestHandler/'d__0'::'<>t__builder' + IL_0006: ldarg.1 + IL_0007: call instance void valuetype [mscorlib]System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1::SetStateMachine(class [mscorlib]System.Runtime.CompilerServices.IAsyncStateMachine) + IL_000c: ret + } // end of method 'd__0'::SetStateMachine + + } // end of class 'd__0' + + .method famorassem hidebysig virtual instance class [mscorlib]System.Threading.Tasks.Task`1 + Test(string test) cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.AsyncStateMachineAttribute::.ctor(class [mscorlib]System.Type) = ( 01 00 4B 49 43 53 68 61 72 70 43 6F 64 65 2E 44 // ..KICSharpCode.D + 65 63 6F 6D 70 69 6C 65 72 2E 54 65 73 74 73 2E // ecompiler.Tests. + 54 65 73 74 43 61 73 65 73 2E 49 4C 50 72 65 74 // TestCases.ILPret + 74 79 2E 41 77 61 69 74 54 65 73 74 48 61 6E 64 // ty.AwaitTestHand + 6C 65 72 2B 3C 54 65 73 74 3E 64 5F 5F 30 00 00 ) // ler+d__0.. + // Code size 65 (0x41) + .maxstack 2 + .locals init (valuetype ICSharpCode.Decompiler.Tests.TestCases.ILPretty.AwaitTestHandler/'d__0' V_0, + valuetype [mscorlib]System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1 V_1) + IL_0000: ldloca.s V_0 + IL_0002: ldarg.0 + IL_0003: stfld class ICSharpCode.Decompiler.Tests.TestCases.ILPretty.AwaitTestHandler ICSharpCode.Decompiler.Tests.TestCases.ILPretty.AwaitTestHandler/'d__0'::'<>4__this' + IL_0008: ldloca.s V_0 + IL_000a: ldarg.1 + IL_000b: stfld string ICSharpCode.Decompiler.Tests.TestCases.ILPretty.AwaitTestHandler/'d__0'::test + IL_0010: ldloca.s V_0 + IL_0012: call valuetype [mscorlib]System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1 valuetype [mscorlib]System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1::Create() + IL_0017: stfld valuetype [mscorlib]System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1 ICSharpCode.Decompiler.Tests.TestCases.ILPretty.AwaitTestHandler/'d__0'::'<>t__builder' + IL_001c: ldloca.s V_0 + IL_001e: ldc.i4.m1 + IL_001f: stfld int32 ICSharpCode.Decompiler.Tests.TestCases.ILPretty.AwaitTestHandler/'d__0'::'<>1__state' + IL_0024: ldloc.0 + IL_0025: ldfld valuetype [mscorlib]System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1 ICSharpCode.Decompiler.Tests.TestCases.ILPretty.AwaitTestHandler/'d__0'::'<>t__builder' + IL_002a: stloc.1 + IL_002b: ldloca.s V_1 + IL_002d: ldloca.s V_0 + IL_002f: call instance void valuetype [mscorlib]System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1::Startd__0'>(!!0&) + IL_0034: ldloca.s V_0 + IL_0036: ldflda valuetype [mscorlib]System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1 ICSharpCode.Decompiler.Tests.TestCases.ILPretty.AwaitTestHandler/'d__0'::'<>t__builder' + IL_003b: call instance class [mscorlib]System.Threading.Tasks.Task`1 valuetype [mscorlib]System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1::get_Task() + IL_0040: ret + } // end of method AwaitTestHandler::Test + + .method public hidebysig specialname rtspecialname + instance void .ctor() cil managed + { + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void ICSharpCode.Decompiler.Tests.TestCases.ILPretty.AwaitDelegatingHandler::.ctor() + IL_0006: ret + } // end of method AwaitTestHandler::.ctor + + .method private hidebysig instance class [mscorlib]System.Threading.Tasks.Task`1 + '<>n__0'(string test) cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Diagnostics.DebuggerHiddenAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 8 (0x8) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: call instance class [mscorlib]System.Threading.Tasks.Task`1 ICSharpCode.Decompiler.Tests.TestCases.ILPretty.AwaitDelegatingHandler::Test(string) + IL_0007: ret + } // end of method AwaitTestHandler::'<>n__0' + +} // end of class ICSharpCode.Decompiler.Tests.TestCases.ILPretty.AwaitTestHandler + +.class private auto ansi beforefieldinit ICSharpCode.Decompiler.Tests.TestCases.ILPretty.AwaitDelegatingHandler + extends [mscorlib]System.Object +{ + .class auto ansi sealed nested private beforefieldinit '<>c__DisplayClass0_0' + extends [mscorlib]System.Object + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field public string test + .method public hidebysig specialname rtspecialname + instance void .ctor() cil managed + { + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [mscorlib]System.Object::.ctor() + IL_0006: ret + } // end of method '<>c__DisplayClass0_0'::.ctor + + .method assembly hidebysig instance string + 'b__0'() cil managed + { + // Code size 12 (0xc) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld string ICSharpCode.Decompiler.Tests.TestCases.ILPretty.AwaitDelegatingHandler/'<>c__DisplayClass0_0'::test + IL_0006: callvirt instance string [mscorlib]System.String::ToUpper() + IL_000b: ret + } // end of method '<>c__DisplayClass0_0'::'b__0' + + } // end of class '<>c__DisplayClass0_0' + + .method famorassem hidebysig newslot virtual + instance class [mscorlib]System.Threading.Tasks.Task`1 + Test(string test) cil managed + { + // Code size 29 (0x1d) + .maxstack 8 + IL_0000: newobj instance void ICSharpCode.Decompiler.Tests.TestCases.ILPretty.AwaitDelegatingHandler/'<>c__DisplayClass0_0'::.ctor() + IL_0005: dup + IL_0006: ldarg.1 + IL_0007: stfld string ICSharpCode.Decompiler.Tests.TestCases.ILPretty.AwaitDelegatingHandler/'<>c__DisplayClass0_0'::test + IL_000c: ldftn instance string ICSharpCode.Decompiler.Tests.TestCases.ILPretty.AwaitDelegatingHandler/'<>c__DisplayClass0_0'::'b__0'() + IL_0012: newobj instance void class [mscorlib]System.Func`1::.ctor(object, + native int) + IL_0017: call class [mscorlib]System.Threading.Tasks.Task`1 [mscorlib]System.Threading.Tasks.Task::Run(class [mscorlib]System.Func`1) + IL_001c: ret + } // end of method AwaitDelegatingHandler::Test + + .method public hidebysig specialname rtspecialname + instance void .ctor() cil managed + { + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [mscorlib]System.Object::.ctor() + IL_0006: ret + } // end of method AwaitDelegatingHandler::.ctor + +} // end of class ICSharpCode.Decompiler.Tests.TestCases.ILPretty.AwaitDelegatingHandler + +.class private auto ansi beforefieldinit ICSharpCode.Decompiler.Tests.TestCases.ILPretty.YieldTestHandler + extends ICSharpCode.Decompiler.Tests.TestCases.ILPretty.YieldDelegatingHandler +{ + .class auto ansi sealed nested private beforefieldinit 'd__0' + extends [mscorlib]System.Object + implements class [mscorlib]System.Collections.Generic.IEnumerable`1, + [mscorlib]System.Collections.IEnumerable, + class [mscorlib]System.Collections.Generic.IEnumerator`1, + [mscorlib]System.IDisposable, + [mscorlib]System.Collections.IEnumerator + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field private int32 '<>1__state' + .field private string '<>2__current' + .field private int32 '<>l__initialThreadId' + .field public class ICSharpCode.Decompiler.Tests.TestCases.ILPretty.YieldTestHandler '<>4__this' + .field private string test + .field public string '<>3__test' + .method public hidebysig specialname rtspecialname + instance void .ctor(int32 '<>1__state') cil managed + { + .custom instance void [mscorlib]System.Diagnostics.DebuggerHiddenAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 25 (0x19) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [mscorlib]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld int32 ICSharpCode.Decompiler.Tests.TestCases.ILPretty.YieldTestHandler/'d__0'::'<>1__state' + IL_000d: ldarg.0 + IL_000e: call int32 [mscorlib]System.Environment::get_CurrentManagedThreadId() + IL_0013: stfld int32 ICSharpCode.Decompiler.Tests.TestCases.ILPretty.YieldTestHandler/'d__0'::'<>l__initialThreadId' + IL_0018: ret + } // end of method 'd__0'::.ctor + + .method private hidebysig newslot virtual final + instance void System.IDisposable.Dispose() cil managed + { + .custom instance void [mscorlib]System.Diagnostics.DebuggerHiddenAttribute::.ctor() = ( 01 00 00 00 ) + .override [mscorlib]System.IDisposable::Dispose + // Code size 1 (0x1) + .maxstack 8 + IL_0000: ret + } // end of method 'd__0'::System.IDisposable.Dispose + + .method private hidebysig newslot virtual final + instance bool MoveNext() cil managed + { + .override [mscorlib]System.Collections.IEnumerator::MoveNext + // Code size 66 (0x42) + .maxstack 3 + .locals init (int32 V_0, + class ICSharpCode.Decompiler.Tests.TestCases.ILPretty.YieldTestHandler V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 ICSharpCode.Decompiler.Tests.TestCases.ILPretty.YieldTestHandler/'d__0'::'<>1__state' + IL_0006: stloc.0 + IL_0007: ldarg.0 + IL_0008: ldfld class ICSharpCode.Decompiler.Tests.TestCases.ILPretty.YieldTestHandler ICSharpCode.Decompiler.Tests.TestCases.ILPretty.YieldTestHandler/'d__0'::'<>4__this' + IL_000d: stloc.1 + IL_000e: ldloc.0 + IL_000f: brfalse.s IL_0017 + + IL_0011: ldloc.0 + IL_0012: ldc.i4.1 + IL_0013: beq.s IL_0039 + + IL_0015: ldc.i4.0 + IL_0016: ret + + IL_0017: ldarg.0 + IL_0018: ldc.i4.m1 + IL_0019: stfld int32 ICSharpCode.Decompiler.Tests.TestCases.ILPretty.YieldTestHandler/'d__0'::'<>1__state' + IL_001e: ldarg.0 + IL_001f: ldloc.1 + IL_0020: ldarg.0 + IL_0021: ldfld string ICSharpCode.Decompiler.Tests.TestCases.ILPretty.YieldTestHandler/'d__0'::test + IL_0026: call instance string ICSharpCode.Decompiler.Tests.TestCases.ILPretty.YieldTestHandler::'<>n__0'(string) + IL_002b: stfld string ICSharpCode.Decompiler.Tests.TestCases.ILPretty.YieldTestHandler/'d__0'::'<>2__current' + IL_0030: ldarg.0 + IL_0031: ldc.i4.1 + IL_0032: stfld int32 ICSharpCode.Decompiler.Tests.TestCases.ILPretty.YieldTestHandler/'d__0'::'<>1__state' + IL_0037: ldc.i4.1 + IL_0038: ret + + IL_0039: ldarg.0 + IL_003a: ldc.i4.m1 + IL_003b: stfld int32 ICSharpCode.Decompiler.Tests.TestCases.ILPretty.YieldTestHandler/'d__0'::'<>1__state' + IL_0040: ldc.i4.0 + IL_0041: ret + } // end of method 'd__0'::MoveNext + + .method private hidebysig newslot specialname virtual final + instance string 'System.Collections.Generic.IEnumerator.get_Current'() cil managed + { + .custom instance void [mscorlib]System.Diagnostics.DebuggerHiddenAttribute::.ctor() = ( 01 00 00 00 ) + .override method instance !0 class [mscorlib]System.Collections.Generic.IEnumerator`1::get_Current() + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld string ICSharpCode.Decompiler.Tests.TestCases.ILPretty.YieldTestHandler/'d__0'::'<>2__current' + IL_0006: ret + } // end of method 'd__0'::'System.Collections.Generic.IEnumerator.get_Current' + + .method private hidebysig newslot virtual final + instance void System.Collections.IEnumerator.Reset() cil managed + { + .custom instance void [mscorlib]System.Diagnostics.DebuggerHiddenAttribute::.ctor() = ( 01 00 00 00 ) + .override [mscorlib]System.Collections.IEnumerator::Reset + // Code size 6 (0x6) + .maxstack 8 + IL_0000: newobj instance void [mscorlib]System.NotSupportedException::.ctor() + IL_0005: throw + } // end of method 'd__0'::System.Collections.IEnumerator.Reset + + .method private hidebysig newslot specialname virtual final + instance object System.Collections.IEnumerator.get_Current() cil managed + { + .custom instance void [mscorlib]System.Diagnostics.DebuggerHiddenAttribute::.ctor() = ( 01 00 00 00 ) + .override [mscorlib]System.Collections.IEnumerator::get_Current + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld string ICSharpCode.Decompiler.Tests.TestCases.ILPretty.YieldTestHandler/'d__0'::'<>2__current' + IL_0006: ret + } // end of method 'd__0'::System.Collections.IEnumerator.get_Current + + .method private hidebysig newslot virtual final + instance class [mscorlib]System.Collections.Generic.IEnumerator`1 + 'System.Collections.Generic.IEnumerable.GetEnumerator'() cil managed + { + .custom instance void [mscorlib]System.Diagnostics.DebuggerHiddenAttribute::.ctor() = ( 01 00 00 00 ) + .override method instance class [mscorlib]System.Collections.Generic.IEnumerator`1 class [mscorlib]System.Collections.Generic.IEnumerable`1::GetEnumerator() + // Code size 67 (0x43) + .maxstack 2 + .locals init (class ICSharpCode.Decompiler.Tests.TestCases.ILPretty.YieldTestHandler/'d__0' V_0) + IL_0000: ldarg.0 + IL_0001: ldfld int32 ICSharpCode.Decompiler.Tests.TestCases.ILPretty.YieldTestHandler/'d__0'::'<>1__state' + IL_0006: ldc.i4.s -2 + IL_0008: bne.un.s IL_0022 + + IL_000a: ldarg.0 + IL_000b: ldfld int32 ICSharpCode.Decompiler.Tests.TestCases.ILPretty.YieldTestHandler/'d__0'::'<>l__initialThreadId' + IL_0010: call int32 [mscorlib]System.Environment::get_CurrentManagedThreadId() + IL_0015: bne.un.s IL_0022 + + IL_0017: ldarg.0 + IL_0018: ldc.i4.0 + IL_0019: stfld int32 ICSharpCode.Decompiler.Tests.TestCases.ILPretty.YieldTestHandler/'d__0'::'<>1__state' + IL_001e: ldarg.0 + IL_001f: stloc.0 + IL_0020: br.s IL_0035 + + IL_0022: ldc.i4.0 + IL_0023: newobj instance void ICSharpCode.Decompiler.Tests.TestCases.ILPretty.YieldTestHandler/'d__0'::.ctor(int32) + IL_0028: stloc.0 + IL_0029: ldloc.0 + IL_002a: ldarg.0 + IL_002b: ldfld class ICSharpCode.Decompiler.Tests.TestCases.ILPretty.YieldTestHandler ICSharpCode.Decompiler.Tests.TestCases.ILPretty.YieldTestHandler/'d__0'::'<>4__this' + IL_0030: stfld class ICSharpCode.Decompiler.Tests.TestCases.ILPretty.YieldTestHandler ICSharpCode.Decompiler.Tests.TestCases.ILPretty.YieldTestHandler/'d__0'::'<>4__this' + IL_0035: ldloc.0 + IL_0036: ldarg.0 + IL_0037: ldfld string ICSharpCode.Decompiler.Tests.TestCases.ILPretty.YieldTestHandler/'d__0'::'<>3__test' + IL_003c: stfld string ICSharpCode.Decompiler.Tests.TestCases.ILPretty.YieldTestHandler/'d__0'::test + IL_0041: ldloc.0 + IL_0042: ret + } // end of method 'd__0'::'System.Collections.Generic.IEnumerable.GetEnumerator' + + .method private hidebysig newslot virtual final + instance class [mscorlib]System.Collections.IEnumerator + System.Collections.IEnumerable.GetEnumerator() cil managed + { + .custom instance void [mscorlib]System.Diagnostics.DebuggerHiddenAttribute::.ctor() = ( 01 00 00 00 ) + .override [mscorlib]System.Collections.IEnumerable::GetEnumerator + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance class [mscorlib]System.Collections.Generic.IEnumerator`1 ICSharpCode.Decompiler.Tests.TestCases.ILPretty.YieldTestHandler/'d__0'::'System.Collections.Generic.IEnumerable.GetEnumerator'() + IL_0006: ret + } // end of method 'd__0'::System.Collections.IEnumerable.GetEnumerator + + .property instance string 'System.Collections.Generic.IEnumerator.Current'() + { + .get instance string ICSharpCode.Decompiler.Tests.TestCases.ILPretty.YieldTestHandler/'d__0'::'System.Collections.Generic.IEnumerator.get_Current'() + } // end of property 'd__0'::'System.Collections.Generic.IEnumerator.Current' + .property instance object System.Collections.IEnumerator.Current() + { + .get instance object ICSharpCode.Decompiler.Tests.TestCases.ILPretty.YieldTestHandler/'d__0'::System.Collections.IEnumerator.get_Current() + } // end of property 'd__0'::System.Collections.IEnumerator.Current + } // end of class 'd__0' + + .method famorassem hidebysig instance class [mscorlib]System.Collections.Generic.IEnumerable`1 + Test2(string test) cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.IteratorStateMachineAttribute::.ctor(class [mscorlib]System.Type) = ( 01 00 4C 49 43 53 68 61 72 70 43 6F 64 65 2E 44 // ..LICSharpCode.D + 65 63 6F 6D 70 69 6C 65 72 2E 54 65 73 74 73 2E // ecompiler.Tests. + 54 65 73 74 43 61 73 65 73 2E 49 4C 50 72 65 74 // TestCases.ILPret + 74 79 2E 59 69 65 6C 64 54 65 73 74 48 61 6E 64 // ty.YieldTestHand + 6C 65 72 2B 3C 54 65 73 74 32 3E 64 5F 5F 30 00 // ler+d__0. + 00 ) + // Code size 22 (0x16) + .maxstack 8 + IL_0000: ldc.i4.s -2 + IL_0002: newobj instance void ICSharpCode.Decompiler.Tests.TestCases.ILPretty.YieldTestHandler/'d__0'::.ctor(int32) + IL_0007: dup + IL_0008: ldarg.0 + IL_0009: stfld class ICSharpCode.Decompiler.Tests.TestCases.ILPretty.YieldTestHandler ICSharpCode.Decompiler.Tests.TestCases.ILPretty.YieldTestHandler/'d__0'::'<>4__this' + IL_000e: dup + IL_000f: ldarg.1 + IL_0010: stfld string ICSharpCode.Decompiler.Tests.TestCases.ILPretty.YieldTestHandler/'d__0'::'<>3__test' + IL_0015: ret + } // end of method YieldTestHandler::Test2 + + .method public hidebysig specialname rtspecialname + instance void .ctor() cil managed + { + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void ICSharpCode.Decompiler.Tests.TestCases.ILPretty.YieldDelegatingHandler::.ctor() + IL_0006: ret + } // end of method YieldTestHandler::.ctor + + .method private hidebysig instance string + '<>n__0'(string test) cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Diagnostics.DebuggerHiddenAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 8 (0x8) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: call instance string ICSharpCode.Decompiler.Tests.TestCases.ILPretty.YieldDelegatingHandler::Test(string) + IL_0007: ret + } // end of method YieldTestHandler::'<>n__0' + +} // end of class ICSharpCode.Decompiler.Tests.TestCases.ILPretty.YieldTestHandler + +.class private auto ansi beforefieldinit ICSharpCode.Decompiler.Tests.TestCases.ILPretty.YieldDelegatingHandler + extends [mscorlib]System.Object +{ + .method famorassem hidebysig newslot virtual + instance string Test(string test) cil managed + { + // Code size 21 (0x15) + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldc.i4.1 + IL_0002: newarr [mscorlib]System.String + IL_0007: dup + IL_0008: ldc.i4.0 + IL_0009: ldstr "fsdf" + IL_000e: stelem.ref + IL_000f: call string [mscorlib]System.String::Join(string, + string[]) + IL_0014: ret + } // end of method YieldDelegatingHandler::Test + + .method public hidebysig specialname rtspecialname + instance void .ctor() cil managed + { + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [mscorlib]System.Object::.ctor() + IL_0006: ret + } // end of method YieldDelegatingHandler::.ctor + +} // end of class ICSharpCode.Decompiler.Tests.TestCases.ILPretty.YieldDelegatingHandler + +.class private auto ansi beforefieldinit ICSharpCode.Decompiler.Tests.TestCases.ILPretty.LambdaHandler + extends ICSharpCode.Decompiler.Tests.TestCases.ILPretty.LambdaDelegatingHandler +{ + .class auto ansi sealed nested private beforefieldinit '<>c__DisplayClass0_0' + extends [mscorlib]System.Object + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field public string test + .field public class ICSharpCode.Decompiler.Tests.TestCases.ILPretty.LambdaHandler '<>4__this' + .method public hidebysig specialname rtspecialname + instance void .ctor() cil managed + { + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [mscorlib]System.Object::.ctor() + IL_0006: ret + } // end of method '<>c__DisplayClass0_0'::.ctor + + .method assembly hidebysig instance string + 'b__0'() cil managed + { + // Code size 18 (0x12) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld class ICSharpCode.Decompiler.Tests.TestCases.ILPretty.LambdaHandler ICSharpCode.Decompiler.Tests.TestCases.ILPretty.LambdaHandler/'<>c__DisplayClass0_0'::'<>4__this' + IL_0006: ldarg.0 + IL_0007: ldfld string ICSharpCode.Decompiler.Tests.TestCases.ILPretty.LambdaHandler/'<>c__DisplayClass0_0'::test + IL_000c: call instance string ICSharpCode.Decompiler.Tests.TestCases.ILPretty.LambdaHandler::'<>n__0'(string) + IL_0011: ret + } // end of method '<>c__DisplayClass0_0'::'b__0' + + } // end of class '<>c__DisplayClass0_0' + + .method famorassem hidebysig virtual instance string + Test(string test) cil managed + { + // Code size 36 (0x24) + .maxstack 8 + IL_0000: newobj instance void ICSharpCode.Decompiler.Tests.TestCases.ILPretty.LambdaHandler/'<>c__DisplayClass0_0'::.ctor() + IL_0005: dup + IL_0006: ldarg.0 + IL_0007: stfld class ICSharpCode.Decompiler.Tests.TestCases.ILPretty.LambdaHandler ICSharpCode.Decompiler.Tests.TestCases.ILPretty.LambdaHandler/'<>c__DisplayClass0_0'::'<>4__this' + IL_000c: dup + IL_000d: ldarg.1 + IL_000e: stfld string ICSharpCode.Decompiler.Tests.TestCases.ILPretty.LambdaHandler/'<>c__DisplayClass0_0'::test + IL_0013: ldftn instance string ICSharpCode.Decompiler.Tests.TestCases.ILPretty.LambdaHandler/'<>c__DisplayClass0_0'::'b__0'() + IL_0019: newobj instance void class [mscorlib]System.Func`1::.ctor(object, + native int) + IL_001e: callvirt instance !0 class [mscorlib]System.Func`1::Invoke() + IL_0023: ret + } // end of method LambdaHandler::Test + + .method public hidebysig specialname rtspecialname + instance void .ctor() cil managed + { + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void ICSharpCode.Decompiler.Tests.TestCases.ILPretty.LambdaDelegatingHandler::.ctor() + IL_0006: ret + } // end of method LambdaHandler::.ctor + + .method private hidebysig instance string + '<>n__0'(string test) cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Diagnostics.DebuggerHiddenAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 8 (0x8) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: call instance string ICSharpCode.Decompiler.Tests.TestCases.ILPretty.LambdaDelegatingHandler::Test(string) + IL_0007: ret + } // end of method LambdaHandler::'<>n__0' + +} // end of class ICSharpCode.Decompiler.Tests.TestCases.ILPretty.LambdaHandler + +.class private auto ansi beforefieldinit ICSharpCode.Decompiler.Tests.TestCases.ILPretty.LambdaDelegatingHandler + extends [mscorlib]System.Object +{ + .method famorassem hidebysig newslot virtual + instance string Test(string test) cil managed + { + // Code size 21 (0x15) + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldc.i4.1 + IL_0002: newarr [mscorlib]System.String + IL_0007: dup + IL_0008: ldc.i4.0 + IL_0009: ldstr "fsdf" + IL_000e: stelem.ref + IL_000f: call string [mscorlib]System.String::Join(string, + string[]) + IL_0014: ret + } // end of method LambdaDelegatingHandler::Test + + .method public hidebysig specialname rtspecialname + instance void .ctor() cil managed + { + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [mscorlib]System.Object::.ctor() + IL_0006: ret + } // end of method LambdaDelegatingHandler::.ctor + +} // end of class ICSharpCode.Decompiler.Tests.TestCases.ILPretty.LambdaDelegatingHandler + + +// ============================================================= + +// *********** DISASSEMBLY COMPLETE *********************** diff --git a/ICSharpCode.Decompiler.Tests/TestCases/Pretty/FixProxyCalls.roslyn.il b/ICSharpCode.Decompiler.Tests/TestCases/Pretty/FixProxyCalls.roslyn.il new file mode 100644 index 000000000..696f3ea51 --- /dev/null +++ b/ICSharpCode.Decompiler.Tests/TestCases/Pretty/FixProxyCalls.roslyn.il @@ -0,0 +1,737 @@ + +// Microsoft (R) .NET Framework IL Disassembler. Version 4.6.1055.0 +// Copyright (c) Microsoft Corporation. Alle Rechte vorbehalten. + + + +// Metadata version: v4.0.30319 +.assembly extern mscorlib +{ + .publickeytoken = (B7 7A 5C 56 19 34 E0 89 ) // .z\V.4.. + .ver 4:0:0:0 +} +.assembly FixProxyCalls +{ + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilationRelaxationsAttribute::.ctor(int32) = ( 01 00 08 00 00 00 00 00 ) + .custom instance void [mscorlib]System.Runtime.CompilerServices.RuntimeCompatibilityAttribute::.ctor() = ( 01 00 01 00 54 02 16 57 72 61 70 4E 6F 6E 45 78 // ....T..WrapNonEx + 63 65 70 74 69 6F 6E 54 68 72 6F 77 73 01 ) // ceptionThrows. + + // --- The following custom attribute is added automatically, do not uncomment ------- + // .custom instance void [mscorlib]System.Diagnostics.DebuggableAttribute::.ctor(valuetype [mscorlib]System.Diagnostics.DebuggableAttribute/DebuggingModes) = ( 01 00 07 01 00 00 00 00 ) + + .permissionset reqmin + = {[mscorlib]System.Security.Permissions.SecurityPermissionAttribute = {property bool 'SkipVerification' = bool(true)}} + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.module FixProxyCalls.dll +// MVID: {33B12B9F-34E5-4EDD-B8C4-0A47397C1BC1} +.custom instance void [mscorlib]System.Security.UnverifiableCodeAttribute::.ctor() = ( 01 00 00 00 ) +.imagebase 0x10000000 +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 // WINDOWS_CUI +.corflags 0x00000001 // ILONLY +// Image base: 0x01280000 + + +// =============== CLASS MEMBERS DECLARATION =================== + +.class private auto ansi beforefieldinit ICSharpCode.Decompiler.Tests.TestCases.ILPretty.AwaitTestHandler + extends ICSharpCode.Decompiler.Tests.TestCases.ILPretty.AwaitDelegatingHandler +{ + .class auto ansi sealed nested private beforefieldinit 'd__0' + extends [mscorlib]System.Object + implements [mscorlib]System.Runtime.CompilerServices.IAsyncStateMachine + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 '<>1__state' + .field public valuetype [mscorlib]System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1 '<>t__builder' + .field public string test + .field public class ICSharpCode.Decompiler.Tests.TestCases.ILPretty.AwaitTestHandler '<>4__this' + .field private string '<>s__1' + .field private valuetype [mscorlib]System.Runtime.CompilerServices.TaskAwaiter`1 '<>u__1' + .method public hidebysig specialname rtspecialname + instance void .ctor() cil managed + { + // Code size 8 (0x8) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [mscorlib]System.Object::.ctor() + IL_0006: nop + IL_0007: ret + } // end of method 'd__0'::.ctor + + .method private hidebysig newslot virtual final + instance void MoveNext() cil managed + { + .override [mscorlib]System.Runtime.CompilerServices.IAsyncStateMachine::MoveNext + // Code size 181 (0xb5) + .maxstack 3 + .locals init (int32 V_0, + string V_1, + valuetype [mscorlib]System.Runtime.CompilerServices.TaskAwaiter`1 V_2, + class ICSharpCode.Decompiler.Tests.TestCases.ILPretty.AwaitTestHandler/'d__0' V_3, + class [mscorlib]System.Exception V_4) + IL_0000: ldarg.0 + IL_0001: ldfld int32 ICSharpCode.Decompiler.Tests.TestCases.ILPretty.AwaitTestHandler/'d__0'::'<>1__state' + IL_0006: stloc.0 + .try + { + IL_0007: ldloc.0 + IL_0008: brfalse.s IL_000c + + IL_000a: br.s IL_000e + + IL_000c: br.s IL_0053 + + IL_000e: nop + IL_000f: ldarg.0 + IL_0010: ldfld class ICSharpCode.Decompiler.Tests.TestCases.ILPretty.AwaitTestHandler ICSharpCode.Decompiler.Tests.TestCases.ILPretty.AwaitTestHandler/'d__0'::'<>4__this' + IL_0015: ldarg.0 + IL_0016: ldfld string ICSharpCode.Decompiler.Tests.TestCases.ILPretty.AwaitTestHandler/'d__0'::test + IL_001b: call instance class [mscorlib]System.Threading.Tasks.Task`1 ICSharpCode.Decompiler.Tests.TestCases.ILPretty.AwaitTestHandler::'<>n__0'(string) + IL_0020: callvirt instance valuetype [mscorlib]System.Runtime.CompilerServices.TaskAwaiter`1 class [mscorlib]System.Threading.Tasks.Task`1::GetAwaiter() + IL_0025: stloc.2 + IL_0026: ldloca.s V_2 + IL_0028: call instance bool valuetype [mscorlib]System.Runtime.CompilerServices.TaskAwaiter`1::get_IsCompleted() + IL_002d: brtrue.s IL_006f + + IL_002f: ldarg.0 + IL_0030: ldc.i4.0 + IL_0031: dup + IL_0032: stloc.0 + IL_0033: stfld int32 ICSharpCode.Decompiler.Tests.TestCases.ILPretty.AwaitTestHandler/'d__0'::'<>1__state' + IL_0038: ldarg.0 + IL_0039: ldloc.2 + IL_003a: stfld valuetype [mscorlib]System.Runtime.CompilerServices.TaskAwaiter`1 ICSharpCode.Decompiler.Tests.TestCases.ILPretty.AwaitTestHandler/'d__0'::'<>u__1' + IL_003f: ldarg.0 + IL_0040: stloc.3 + IL_0041: ldarg.0 + IL_0042: ldflda valuetype [mscorlib]System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1 ICSharpCode.Decompiler.Tests.TestCases.ILPretty.AwaitTestHandler/'d__0'::'<>t__builder' + IL_0047: ldloca.s V_2 + IL_0049: ldloca.s V_3 + IL_004b: call instance void valuetype [mscorlib]System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1::AwaitUnsafeOnCompleted,class ICSharpCode.Decompiler.Tests.TestCases.ILPretty.AwaitTestHandler/'d__0'>(!!0&, + !!1&) + IL_0050: nop + IL_0051: leave.s IL_00b4 + + IL_0053: ldarg.0 + IL_0054: ldfld valuetype [mscorlib]System.Runtime.CompilerServices.TaskAwaiter`1 ICSharpCode.Decompiler.Tests.TestCases.ILPretty.AwaitTestHandler/'d__0'::'<>u__1' + IL_0059: stloc.2 + IL_005a: ldarg.0 + IL_005b: ldflda valuetype [mscorlib]System.Runtime.CompilerServices.TaskAwaiter`1 ICSharpCode.Decompiler.Tests.TestCases.ILPretty.AwaitTestHandler/'d__0'::'<>u__1' + IL_0060: initobj valuetype [mscorlib]System.Runtime.CompilerServices.TaskAwaiter`1 + IL_0066: ldarg.0 + IL_0067: ldc.i4.m1 + IL_0068: dup + IL_0069: stloc.0 + IL_006a: stfld int32 ICSharpCode.Decompiler.Tests.TestCases.ILPretty.AwaitTestHandler/'d__0'::'<>1__state' + IL_006f: ldarg.0 + IL_0070: ldloca.s V_2 + IL_0072: call instance !0 valuetype [mscorlib]System.Runtime.CompilerServices.TaskAwaiter`1::GetResult() + IL_0077: stfld string ICSharpCode.Decompiler.Tests.TestCases.ILPretty.AwaitTestHandler/'d__0'::'<>s__1' + IL_007c: ldarg.0 + IL_007d: ldfld string ICSharpCode.Decompiler.Tests.TestCases.ILPretty.AwaitTestHandler/'d__0'::'<>s__1' + IL_0082: stloc.1 + IL_0083: leave.s IL_009f + + } // end .try + catch [mscorlib]System.Exception + { + IL_0085: stloc.s V_4 + IL_0087: ldarg.0 + IL_0088: ldc.i4.s -2 + IL_008a: stfld int32 ICSharpCode.Decompiler.Tests.TestCases.ILPretty.AwaitTestHandler/'d__0'::'<>1__state' + IL_008f: ldarg.0 + IL_0090: ldflda valuetype [mscorlib]System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1 ICSharpCode.Decompiler.Tests.TestCases.ILPretty.AwaitTestHandler/'d__0'::'<>t__builder' + IL_0095: ldloc.s V_4 + IL_0097: call instance void valuetype [mscorlib]System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1::SetException(class [mscorlib]System.Exception) + IL_009c: nop + IL_009d: leave.s IL_00b4 + + } // end handler + IL_009f: ldarg.0 + IL_00a0: ldc.i4.s -2 + IL_00a2: stfld int32 ICSharpCode.Decompiler.Tests.TestCases.ILPretty.AwaitTestHandler/'d__0'::'<>1__state' + IL_00a7: ldarg.0 + IL_00a8: ldflda valuetype [mscorlib]System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1 ICSharpCode.Decompiler.Tests.TestCases.ILPretty.AwaitTestHandler/'d__0'::'<>t__builder' + IL_00ad: ldloc.1 + IL_00ae: call instance void valuetype [mscorlib]System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1::SetResult(!0) + IL_00b3: nop + IL_00b4: ret + } // end of method 'd__0'::MoveNext + + .method private hidebysig newslot virtual final + instance void SetStateMachine(class [mscorlib]System.Runtime.CompilerServices.IAsyncStateMachine stateMachine) cil managed + { + .custom instance void [mscorlib]System.Diagnostics.DebuggerHiddenAttribute::.ctor() = ( 01 00 00 00 ) + .override [mscorlib]System.Runtime.CompilerServices.IAsyncStateMachine::SetStateMachine + // Code size 1 (0x1) + .maxstack 8 + IL_0000: ret + } // end of method 'd__0'::SetStateMachine + + } // end of class 'd__0' + + .method famorassem hidebysig virtual instance class [mscorlib]System.Threading.Tasks.Task`1 + Test(string test) cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.AsyncStateMachineAttribute::.ctor(class [mscorlib]System.Type) = ( 01 00 4B 49 43 53 68 61 72 70 43 6F 64 65 2E 44 // ..KICSharpCode.D + 65 63 6F 6D 70 69 6C 65 72 2E 54 65 73 74 73 2E // ecompiler.Tests. + 54 65 73 74 43 61 73 65 73 2E 49 4C 50 72 65 74 // TestCases.ILPret + 74 79 2E 41 77 61 69 74 54 65 73 74 48 61 6E 64 // ty.AwaitTestHand + 6C 65 72 2B 3C 54 65 73 74 3E 64 5F 5F 30 00 00 ) // ler+d__0.. + .custom instance void [mscorlib]System.Diagnostics.DebuggerStepThroughAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 66 (0x42) + .maxstack 2 + .locals init (class ICSharpCode.Decompiler.Tests.TestCases.ILPretty.AwaitTestHandler/'d__0' V_0, + valuetype [mscorlib]System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1 V_1) + IL_0000: newobj instance void ICSharpCode.Decompiler.Tests.TestCases.ILPretty.AwaitTestHandler/'d__0'::.ctor() + IL_0005: stloc.0 + IL_0006: ldloc.0 + IL_0007: ldarg.0 + IL_0008: stfld class ICSharpCode.Decompiler.Tests.TestCases.ILPretty.AwaitTestHandler ICSharpCode.Decompiler.Tests.TestCases.ILPretty.AwaitTestHandler/'d__0'::'<>4__this' + IL_000d: ldloc.0 + IL_000e: ldarg.1 + IL_000f: stfld string ICSharpCode.Decompiler.Tests.TestCases.ILPretty.AwaitTestHandler/'d__0'::test + IL_0014: ldloc.0 + IL_0015: call valuetype [mscorlib]System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1 valuetype [mscorlib]System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1::Create() + IL_001a: stfld valuetype [mscorlib]System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1 ICSharpCode.Decompiler.Tests.TestCases.ILPretty.AwaitTestHandler/'d__0'::'<>t__builder' + IL_001f: ldloc.0 + IL_0020: ldc.i4.m1 + IL_0021: stfld int32 ICSharpCode.Decompiler.Tests.TestCases.ILPretty.AwaitTestHandler/'d__0'::'<>1__state' + IL_0026: ldloc.0 + IL_0027: ldfld valuetype [mscorlib]System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1 ICSharpCode.Decompiler.Tests.TestCases.ILPretty.AwaitTestHandler/'d__0'::'<>t__builder' + IL_002c: stloc.1 + IL_002d: ldloca.s V_1 + IL_002f: ldloca.s V_0 + IL_0031: call instance void valuetype [mscorlib]System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1::Startd__0'>(!!0&) + IL_0036: ldloc.0 + IL_0037: ldflda valuetype [mscorlib]System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1 ICSharpCode.Decompiler.Tests.TestCases.ILPretty.AwaitTestHandler/'d__0'::'<>t__builder' + IL_003c: call instance class [mscorlib]System.Threading.Tasks.Task`1 valuetype [mscorlib]System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1::get_Task() + IL_0041: ret + } // end of method AwaitTestHandler::Test + + .method public hidebysig specialname rtspecialname + instance void .ctor() cil managed + { + // Code size 8 (0x8) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void ICSharpCode.Decompiler.Tests.TestCases.ILPretty.AwaitDelegatingHandler::.ctor() + IL_0006: nop + IL_0007: ret + } // end of method AwaitTestHandler::.ctor + + .method private hidebysig instance class [mscorlib]System.Threading.Tasks.Task`1 + '<>n__0'(string test) cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Diagnostics.DebuggerHiddenAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 8 (0x8) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: call instance class [mscorlib]System.Threading.Tasks.Task`1 ICSharpCode.Decompiler.Tests.TestCases.ILPretty.AwaitDelegatingHandler::Test(string) + IL_0007: ret + } // end of method AwaitTestHandler::'<>n__0' + +} // end of class ICSharpCode.Decompiler.Tests.TestCases.ILPretty.AwaitTestHandler + +.class private auto ansi beforefieldinit ICSharpCode.Decompiler.Tests.TestCases.ILPretty.AwaitDelegatingHandler + extends [mscorlib]System.Object +{ + .class auto ansi sealed nested private beforefieldinit '<>c__DisplayClass0_0' + extends [mscorlib]System.Object + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field public string test + .method public hidebysig specialname rtspecialname + instance void .ctor() cil managed + { + // Code size 8 (0x8) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [mscorlib]System.Object::.ctor() + IL_0006: nop + IL_0007: ret + } // end of method '<>c__DisplayClass0_0'::.ctor + + .method assembly hidebysig instance string + 'b__0'() cil managed + { + // Code size 17 (0x11) + .maxstack 1 + .locals init (string V_0) + IL_0000: nop + IL_0001: ldarg.0 + IL_0002: ldfld string ICSharpCode.Decompiler.Tests.TestCases.ILPretty.AwaitDelegatingHandler/'<>c__DisplayClass0_0'::test + IL_0007: callvirt instance string [mscorlib]System.String::ToUpper() + IL_000c: stloc.0 + IL_000d: br.s IL_000f + + IL_000f: ldloc.0 + IL_0010: ret + } // end of method '<>c__DisplayClass0_0'::'b__0' + + } // end of class '<>c__DisplayClass0_0' + + .method famorassem hidebysig newslot virtual + instance class [mscorlib]System.Threading.Tasks.Task`1 + Test(string test) cil managed + { + // Code size 36 (0x24) + .maxstack 2 + .locals init (class ICSharpCode.Decompiler.Tests.TestCases.ILPretty.AwaitDelegatingHandler/'<>c__DisplayClass0_0' V_0, + class [mscorlib]System.Threading.Tasks.Task`1 V_1) + IL_0000: newobj instance void ICSharpCode.Decompiler.Tests.TestCases.ILPretty.AwaitDelegatingHandler/'<>c__DisplayClass0_0'::.ctor() + IL_0005: stloc.0 + IL_0006: ldloc.0 + IL_0007: ldarg.1 + IL_0008: stfld string ICSharpCode.Decompiler.Tests.TestCases.ILPretty.AwaitDelegatingHandler/'<>c__DisplayClass0_0'::test + IL_000d: nop + IL_000e: ldloc.0 + IL_000f: ldftn instance string ICSharpCode.Decompiler.Tests.TestCases.ILPretty.AwaitDelegatingHandler/'<>c__DisplayClass0_0'::'b__0'() + IL_0015: newobj instance void class [mscorlib]System.Func`1::.ctor(object, + native int) + IL_001a: call class [mscorlib]System.Threading.Tasks.Task`1 [mscorlib]System.Threading.Tasks.Task::Run(class [mscorlib]System.Func`1) + IL_001f: stloc.1 + IL_0020: br.s IL_0022 + + IL_0022: ldloc.1 + IL_0023: ret + } // end of method AwaitDelegatingHandler::Test + + .method public hidebysig specialname rtspecialname + instance void .ctor() cil managed + { + // Code size 8 (0x8) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [mscorlib]System.Object::.ctor() + IL_0006: nop + IL_0007: ret + } // end of method AwaitDelegatingHandler::.ctor + +} // end of class ICSharpCode.Decompiler.Tests.TestCases.ILPretty.AwaitDelegatingHandler + +.class private auto ansi beforefieldinit ICSharpCode.Decompiler.Tests.TestCases.ILPretty.YieldTestHandler + extends ICSharpCode.Decompiler.Tests.TestCases.ILPretty.YieldDelegatingHandler +{ + .class auto ansi sealed nested private beforefieldinit 'd__0' + extends [mscorlib]System.Object + implements class [mscorlib]System.Collections.Generic.IEnumerable`1, + [mscorlib]System.Collections.IEnumerable, + class [mscorlib]System.Collections.Generic.IEnumerator`1, + [mscorlib]System.IDisposable, + [mscorlib]System.Collections.IEnumerator + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field private int32 '<>1__state' + .field private string '<>2__current' + .field private int32 '<>l__initialThreadId' + .field private string test + .field public string '<>3__test' + .field public class ICSharpCode.Decompiler.Tests.TestCases.ILPretty.YieldTestHandler '<>4__this' + .method public hidebysig specialname rtspecialname + instance void .ctor(int32 '<>1__state') cil managed + { + .custom instance void [mscorlib]System.Diagnostics.DebuggerHiddenAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 26 (0x1a) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [mscorlib]System.Object::.ctor() + IL_0006: nop + IL_0007: ldarg.0 + IL_0008: ldarg.1 + IL_0009: stfld int32 ICSharpCode.Decompiler.Tests.TestCases.ILPretty.YieldTestHandler/'d__0'::'<>1__state' + IL_000e: ldarg.0 + IL_000f: call int32 [mscorlib]System.Environment::get_CurrentManagedThreadId() + IL_0014: stfld int32 ICSharpCode.Decompiler.Tests.TestCases.ILPretty.YieldTestHandler/'d__0'::'<>l__initialThreadId' + IL_0019: ret + } // end of method 'd__0'::.ctor + + .method private hidebysig newslot virtual final + instance void System.IDisposable.Dispose() cil managed + { + .custom instance void [mscorlib]System.Diagnostics.DebuggerHiddenAttribute::.ctor() = ( 01 00 00 00 ) + .override [mscorlib]System.IDisposable::Dispose + // Code size 1 (0x1) + .maxstack 8 + IL_0000: ret + } // end of method 'd__0'::System.IDisposable.Dispose + + .method private hidebysig newslot virtual final + instance bool MoveNext() cil managed + { + .override [mscorlib]System.Collections.IEnumerator::MoveNext + // Code size 73 (0x49) + .maxstack 3 + .locals init (int32 V_0) + IL_0000: ldarg.0 + IL_0001: ldfld int32 ICSharpCode.Decompiler.Tests.TestCases.ILPretty.YieldTestHandler/'d__0'::'<>1__state' + IL_0006: stloc.0 + IL_0007: ldloc.0 + IL_0008: brfalse.s IL_0012 + + IL_000a: br.s IL_000c + + IL_000c: ldloc.0 + IL_000d: ldc.i4.1 + IL_000e: beq.s IL_0014 + + IL_0010: br.s IL_0016 + + IL_0012: br.s IL_0018 + + IL_0014: br.s IL_0040 + + IL_0016: ldc.i4.0 + IL_0017: ret + + IL_0018: ldarg.0 + IL_0019: ldc.i4.m1 + IL_001a: stfld int32 ICSharpCode.Decompiler.Tests.TestCases.ILPretty.YieldTestHandler/'d__0'::'<>1__state' + IL_001f: nop + IL_0020: ldarg.0 + IL_0021: ldarg.0 + IL_0022: ldfld class ICSharpCode.Decompiler.Tests.TestCases.ILPretty.YieldTestHandler ICSharpCode.Decompiler.Tests.TestCases.ILPretty.YieldTestHandler/'d__0'::'<>4__this' + IL_0027: ldarg.0 + IL_0028: ldfld string ICSharpCode.Decompiler.Tests.TestCases.ILPretty.YieldTestHandler/'d__0'::test + IL_002d: call instance string ICSharpCode.Decompiler.Tests.TestCases.ILPretty.YieldTestHandler::'<>n__0'(string) + IL_0032: stfld string ICSharpCode.Decompiler.Tests.TestCases.ILPretty.YieldTestHandler/'d__0'::'<>2__current' + IL_0037: ldarg.0 + IL_0038: ldc.i4.1 + IL_0039: stfld int32 ICSharpCode.Decompiler.Tests.TestCases.ILPretty.YieldTestHandler/'d__0'::'<>1__state' + IL_003e: ldc.i4.1 + IL_003f: ret + + IL_0040: ldarg.0 + IL_0041: ldc.i4.m1 + IL_0042: stfld int32 ICSharpCode.Decompiler.Tests.TestCases.ILPretty.YieldTestHandler/'d__0'::'<>1__state' + IL_0047: ldc.i4.0 + IL_0048: ret + } // end of method 'd__0'::MoveNext + + .method private hidebysig newslot specialname virtual final + instance string 'System.Collections.Generic.IEnumerator.get_Current'() cil managed + { + .custom instance void [mscorlib]System.Diagnostics.DebuggerHiddenAttribute::.ctor() = ( 01 00 00 00 ) + .override method instance !0 class [mscorlib]System.Collections.Generic.IEnumerator`1::get_Current() + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld string ICSharpCode.Decompiler.Tests.TestCases.ILPretty.YieldTestHandler/'d__0'::'<>2__current' + IL_0006: ret + } // end of method 'd__0'::'System.Collections.Generic.IEnumerator.get_Current' + + .method private hidebysig newslot virtual final + instance void System.Collections.IEnumerator.Reset() cil managed + { + .custom instance void [mscorlib]System.Diagnostics.DebuggerHiddenAttribute::.ctor() = ( 01 00 00 00 ) + .override [mscorlib]System.Collections.IEnumerator::Reset + // Code size 6 (0x6) + .maxstack 8 + IL_0000: newobj instance void [mscorlib]System.NotSupportedException::.ctor() + IL_0005: throw + } // end of method 'd__0'::System.Collections.IEnumerator.Reset + + .method private hidebysig newslot specialname virtual final + instance object System.Collections.IEnumerator.get_Current() cil managed + { + .custom instance void [mscorlib]System.Diagnostics.DebuggerHiddenAttribute::.ctor() = ( 01 00 00 00 ) + .override [mscorlib]System.Collections.IEnumerator::get_Current + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld string ICSharpCode.Decompiler.Tests.TestCases.ILPretty.YieldTestHandler/'d__0'::'<>2__current' + IL_0006: ret + } // end of method 'd__0'::System.Collections.IEnumerator.get_Current + + .method private hidebysig newslot virtual final + instance class [mscorlib]System.Collections.Generic.IEnumerator`1 + 'System.Collections.Generic.IEnumerable.GetEnumerator'() cil managed + { + .custom instance void [mscorlib]System.Diagnostics.DebuggerHiddenAttribute::.ctor() = ( 01 00 00 00 ) + .override method instance class [mscorlib]System.Collections.Generic.IEnumerator`1 class [mscorlib]System.Collections.Generic.IEnumerable`1::GetEnumerator() + // Code size 67 (0x43) + .maxstack 2 + .locals init (class ICSharpCode.Decompiler.Tests.TestCases.ILPretty.YieldTestHandler/'d__0' V_0) + IL_0000: ldarg.0 + IL_0001: ldfld int32 ICSharpCode.Decompiler.Tests.TestCases.ILPretty.YieldTestHandler/'d__0'::'<>1__state' + IL_0006: ldc.i4.s -2 + IL_0008: bne.un.s IL_0022 + + IL_000a: ldarg.0 + IL_000b: ldfld int32 ICSharpCode.Decompiler.Tests.TestCases.ILPretty.YieldTestHandler/'d__0'::'<>l__initialThreadId' + IL_0010: call int32 [mscorlib]System.Environment::get_CurrentManagedThreadId() + IL_0015: bne.un.s IL_0022 + + IL_0017: ldarg.0 + IL_0018: ldc.i4.0 + IL_0019: stfld int32 ICSharpCode.Decompiler.Tests.TestCases.ILPretty.YieldTestHandler/'d__0'::'<>1__state' + IL_001e: ldarg.0 + IL_001f: stloc.0 + IL_0020: br.s IL_0035 + + IL_0022: ldc.i4.0 + IL_0023: newobj instance void ICSharpCode.Decompiler.Tests.TestCases.ILPretty.YieldTestHandler/'d__0'::.ctor(int32) + IL_0028: stloc.0 + IL_0029: ldloc.0 + IL_002a: ldarg.0 + IL_002b: ldfld class ICSharpCode.Decompiler.Tests.TestCases.ILPretty.YieldTestHandler ICSharpCode.Decompiler.Tests.TestCases.ILPretty.YieldTestHandler/'d__0'::'<>4__this' + IL_0030: stfld class ICSharpCode.Decompiler.Tests.TestCases.ILPretty.YieldTestHandler ICSharpCode.Decompiler.Tests.TestCases.ILPretty.YieldTestHandler/'d__0'::'<>4__this' + IL_0035: ldloc.0 + IL_0036: ldarg.0 + IL_0037: ldfld string ICSharpCode.Decompiler.Tests.TestCases.ILPretty.YieldTestHandler/'d__0'::'<>3__test' + IL_003c: stfld string ICSharpCode.Decompiler.Tests.TestCases.ILPretty.YieldTestHandler/'d__0'::test + IL_0041: ldloc.0 + IL_0042: ret + } // end of method 'd__0'::'System.Collections.Generic.IEnumerable.GetEnumerator' + + .method private hidebysig newslot virtual final + instance class [mscorlib]System.Collections.IEnumerator + System.Collections.IEnumerable.GetEnumerator() cil managed + { + .custom instance void [mscorlib]System.Diagnostics.DebuggerHiddenAttribute::.ctor() = ( 01 00 00 00 ) + .override [mscorlib]System.Collections.IEnumerable::GetEnumerator + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance class [mscorlib]System.Collections.Generic.IEnumerator`1 ICSharpCode.Decompiler.Tests.TestCases.ILPretty.YieldTestHandler/'d__0'::'System.Collections.Generic.IEnumerable.GetEnumerator'() + IL_0006: ret + } // end of method 'd__0'::System.Collections.IEnumerable.GetEnumerator + + .property instance string 'System.Collections.Generic.IEnumerator.Current'() + { + .get instance string ICSharpCode.Decompiler.Tests.TestCases.ILPretty.YieldTestHandler/'d__0'::'System.Collections.Generic.IEnumerator.get_Current'() + } // end of property 'd__0'::'System.Collections.Generic.IEnumerator.Current' + .property instance object System.Collections.IEnumerator.Current() + { + .get instance object ICSharpCode.Decompiler.Tests.TestCases.ILPretty.YieldTestHandler/'d__0'::System.Collections.IEnumerator.get_Current() + } // end of property 'd__0'::System.Collections.IEnumerator.Current + } // end of class 'd__0' + + .method famorassem hidebysig instance class [mscorlib]System.Collections.Generic.IEnumerable`1 + Test2(string test) cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.IteratorStateMachineAttribute::.ctor(class [mscorlib]System.Type) = ( 01 00 4C 49 43 53 68 61 72 70 43 6F 64 65 2E 44 // ..LICSharpCode.D + 65 63 6F 6D 70 69 6C 65 72 2E 54 65 73 74 73 2E // ecompiler.Tests. + 54 65 73 74 43 61 73 65 73 2E 49 4C 50 72 65 74 // TestCases.ILPret + 74 79 2E 59 69 65 6C 64 54 65 73 74 48 61 6E 64 // ty.YieldTestHand + 6C 65 72 2B 3C 54 65 73 74 32 3E 64 5F 5F 30 00 // ler+d__0. + 00 ) + // Code size 22 (0x16) + .maxstack 8 + IL_0000: ldc.i4.s -2 + IL_0002: newobj instance void ICSharpCode.Decompiler.Tests.TestCases.ILPretty.YieldTestHandler/'d__0'::.ctor(int32) + IL_0007: dup + IL_0008: ldarg.0 + IL_0009: stfld class ICSharpCode.Decompiler.Tests.TestCases.ILPretty.YieldTestHandler ICSharpCode.Decompiler.Tests.TestCases.ILPretty.YieldTestHandler/'d__0'::'<>4__this' + IL_000e: dup + IL_000f: ldarg.1 + IL_0010: stfld string ICSharpCode.Decompiler.Tests.TestCases.ILPretty.YieldTestHandler/'d__0'::'<>3__test' + IL_0015: ret + } // end of method YieldTestHandler::Test2 + + .method public hidebysig specialname rtspecialname + instance void .ctor() cil managed + { + // Code size 8 (0x8) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void ICSharpCode.Decompiler.Tests.TestCases.ILPretty.YieldDelegatingHandler::.ctor() + IL_0006: nop + IL_0007: ret + } // end of method YieldTestHandler::.ctor + + .method private hidebysig instance string + '<>n__0'(string test) cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Diagnostics.DebuggerHiddenAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 8 (0x8) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: call instance string ICSharpCode.Decompiler.Tests.TestCases.ILPretty.YieldDelegatingHandler::Test(string) + IL_0007: ret + } // end of method YieldTestHandler::'<>n__0' + +} // end of class ICSharpCode.Decompiler.Tests.TestCases.ILPretty.YieldTestHandler + +.class private auto ansi beforefieldinit ICSharpCode.Decompiler.Tests.TestCases.ILPretty.YieldDelegatingHandler + extends [mscorlib]System.Object +{ + .method famorassem hidebysig newslot virtual + instance string Test(string test) cil managed + { + // Code size 26 (0x1a) + .maxstack 5 + .locals init (string V_0) + IL_0000: nop + IL_0001: ldarg.1 + IL_0002: ldc.i4.1 + IL_0003: newarr [mscorlib]System.String + IL_0008: dup + IL_0009: ldc.i4.0 + IL_000a: ldstr "fsdf" + IL_000f: stelem.ref + IL_0010: call string [mscorlib]System.String::Join(string, + string[]) + IL_0015: stloc.0 + IL_0016: br.s IL_0018 + + IL_0018: ldloc.0 + IL_0019: ret + } // end of method YieldDelegatingHandler::Test + + .method public hidebysig specialname rtspecialname + instance void .ctor() cil managed + { + // Code size 8 (0x8) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [mscorlib]System.Object::.ctor() + IL_0006: nop + IL_0007: ret + } // end of method YieldDelegatingHandler::.ctor + +} // end of class ICSharpCode.Decompiler.Tests.TestCases.ILPretty.YieldDelegatingHandler + +.class private auto ansi beforefieldinit ICSharpCode.Decompiler.Tests.TestCases.ILPretty.LambdaHandler + extends ICSharpCode.Decompiler.Tests.TestCases.ILPretty.LambdaDelegatingHandler +{ + .class auto ansi sealed nested private beforefieldinit '<>c__DisplayClass0_0' + extends [mscorlib]System.Object + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field public string test + .field public class ICSharpCode.Decompiler.Tests.TestCases.ILPretty.LambdaHandler '<>4__this' + .method public hidebysig specialname rtspecialname + instance void .ctor() cil managed + { + // Code size 8 (0x8) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [mscorlib]System.Object::.ctor() + IL_0006: nop + IL_0007: ret + } // end of method '<>c__DisplayClass0_0'::.ctor + + .method assembly hidebysig instance string + 'b__0'() cil managed + { + // Code size 18 (0x12) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld class ICSharpCode.Decompiler.Tests.TestCases.ILPretty.LambdaHandler ICSharpCode.Decompiler.Tests.TestCases.ILPretty.LambdaHandler/'<>c__DisplayClass0_0'::'<>4__this' + IL_0006: ldarg.0 + IL_0007: ldfld string ICSharpCode.Decompiler.Tests.TestCases.ILPretty.LambdaHandler/'<>c__DisplayClass0_0'::test + IL_000c: call instance string ICSharpCode.Decompiler.Tests.TestCases.ILPretty.LambdaHandler::'<>n__0'(string) + IL_0011: ret + } // end of method '<>c__DisplayClass0_0'::'b__0' + + } // end of class '<>c__DisplayClass0_0' + + .method famorassem hidebysig virtual instance string + Test(string test) cil managed + { + // Code size 45 (0x2d) + .maxstack 2 + .locals init (class ICSharpCode.Decompiler.Tests.TestCases.ILPretty.LambdaHandler/'<>c__DisplayClass0_0' V_0, + class [mscorlib]System.Func`1 V_1, + string V_2) + IL_0000: newobj instance void ICSharpCode.Decompiler.Tests.TestCases.ILPretty.LambdaHandler/'<>c__DisplayClass0_0'::.ctor() + IL_0005: stloc.0 + IL_0006: ldloc.0 + IL_0007: ldarg.0 + IL_0008: stfld class ICSharpCode.Decompiler.Tests.TestCases.ILPretty.LambdaHandler ICSharpCode.Decompiler.Tests.TestCases.ILPretty.LambdaHandler/'<>c__DisplayClass0_0'::'<>4__this' + IL_000d: ldloc.0 + IL_000e: ldarg.1 + IL_000f: stfld string ICSharpCode.Decompiler.Tests.TestCases.ILPretty.LambdaHandler/'<>c__DisplayClass0_0'::test + IL_0014: nop + IL_0015: ldloc.0 + IL_0016: ldftn instance string ICSharpCode.Decompiler.Tests.TestCases.ILPretty.LambdaHandler/'<>c__DisplayClass0_0'::'b__0'() + IL_001c: newobj instance void class [mscorlib]System.Func`1::.ctor(object, + native int) + IL_0021: stloc.1 + IL_0022: ldloc.1 + IL_0023: callvirt instance !0 class [mscorlib]System.Func`1::Invoke() + IL_0028: stloc.2 + IL_0029: br.s IL_002b + + IL_002b: ldloc.2 + IL_002c: ret + } // end of method LambdaHandler::Test + + .method public hidebysig specialname rtspecialname + instance void .ctor() cil managed + { + // Code size 8 (0x8) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void ICSharpCode.Decompiler.Tests.TestCases.ILPretty.LambdaDelegatingHandler::.ctor() + IL_0006: nop + IL_0007: ret + } // end of method LambdaHandler::.ctor + + .method private hidebysig instance string + '<>n__0'(string test) cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Diagnostics.DebuggerHiddenAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 8 (0x8) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: call instance string ICSharpCode.Decompiler.Tests.TestCases.ILPretty.LambdaDelegatingHandler::Test(string) + IL_0007: ret + } // end of method LambdaHandler::'<>n__0' + +} // end of class ICSharpCode.Decompiler.Tests.TestCases.ILPretty.LambdaHandler + +.class private auto ansi beforefieldinit ICSharpCode.Decompiler.Tests.TestCases.ILPretty.LambdaDelegatingHandler + extends [mscorlib]System.Object +{ + .method famorassem hidebysig newslot virtual + instance string Test(string test) cil managed + { + // Code size 26 (0x1a) + .maxstack 5 + .locals init (string V_0) + IL_0000: nop + IL_0001: ldarg.1 + IL_0002: ldc.i4.1 + IL_0003: newarr [mscorlib]System.String + IL_0008: dup + IL_0009: ldc.i4.0 + IL_000a: ldstr "fsdf" + IL_000f: stelem.ref + IL_0010: call string [mscorlib]System.String::Join(string, + string[]) + IL_0015: stloc.0 + IL_0016: br.s IL_0018 + + IL_0018: ldloc.0 + IL_0019: ret + } // end of method LambdaDelegatingHandler::Test + + .method public hidebysig specialname rtspecialname + instance void .ctor() cil managed + { + // Code size 8 (0x8) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [mscorlib]System.Object::.ctor() + IL_0006: nop + IL_0007: ret + } // end of method LambdaDelegatingHandler::.ctor + +} // end of class ICSharpCode.Decompiler.Tests.TestCases.ILPretty.LambdaDelegatingHandler + + +// ============================================================= + +// *********** DISASSEMBLY COMPLETE ***********************