From dd5845e83d6138dd6efcd7a1c8d6b47d307da342 Mon Sep 17 00:00:00 2001 From: Daniel Grunwald Date: Wed, 25 Jul 2018 00:35:51 +0200 Subject: [PATCH] Support short-circuiting operators with dynamic. (e.g. "if (x.A && x.B)" where "x" is dynamic) --- .../Pretty/CustomShortCircuitOperators.cs | 37 +- .../Pretty/CustomShortCircuitOperators.il | 1206 +++++++- .../Pretty/CustomShortCircuitOperators.opt.il | 1103 +++++++- .../CustomShortCircuitOperators.opt.roslyn.il | 1043 ++++++- .../CustomShortCircuitOperators.roslyn.il | 1157 +++++++- .../TestCases/Pretty/DynamicTests.cs | 69 +- .../TestCases/Pretty/DynamicTests.il | 2485 ++++++++++++++++- .../TestCases/Pretty/DynamicTests.opt.il | 2337 +++++++++++++++- .../Pretty/DynamicTests.opt.roslyn.il | 2165 +++++++++++++- .../TestCases/Pretty/DynamicTests.roslyn.il | 2357 +++++++++++++++- .../CSharp/ExpressionBuilder.cs | 17 + .../CSharp/StatementBuilder.cs | 4 +- ICSharpCode.Decompiler/IL/Instructions.cs | 105 +- ICSharpCode.Decompiler/IL/Instructions.tt | 10 +- .../IL/Instructions/DynamicInstructions.cs | 49 + .../IL/Transforms/ExpressionTransforms.cs | 3 + .../IL/Transforms/ILInlining.cs | 1 + .../Transforms/UserDefinedLogicTransform.cs | 106 + .../TypeSystem/NormalizeTypeVisitor.cs | 31 +- 19 files changed, 14080 insertions(+), 205 deletions(-) diff --git a/ICSharpCode.Decompiler.Tests/TestCases/Pretty/CustomShortCircuitOperators.cs b/ICSharpCode.Decompiler.Tests/TestCases/Pretty/CustomShortCircuitOperators.cs index b9351b9d4..cd91f5c37 100644 --- a/ICSharpCode.Decompiler.Tests/TestCases/Pretty/CustomShortCircuitOperators.cs +++ b/ICSharpCode.Decompiler.Tests/TestCases/Pretty/CustomShortCircuitOperators.cs @@ -82,13 +82,14 @@ namespace ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperat private static void Test2() { - C c = new C(); - if (c && c) { - Console.WriteLine(c.ToString()); + if (GetC(1) && GetC(2)) { + Console.WriteLine(GetC(3)); } - - if (!(c && c)) { - Console.WriteLine(c.ToString()); + if (GetC(1) || GetC(2)) { + Console.WriteLine(GetC(3)); + } + if (!(GetC(1) && GetC(2))) { + Console.WriteLine(GetC(3)); } } @@ -102,6 +103,18 @@ namespace ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperat Console.WriteLine(c.ToString()); } } + + public void WithDynamic(dynamic d) + { + Console.WriteLine(GetC(1) && d.P); + Console.WriteLine(GetC(2) || d.P); + if (GetC(3) && d.P) { + Console.WriteLine(GetC(4)); + } + if (GetC(5) || d.P) { + Console.WriteLine(GetC(6)); + } + } } internal struct S @@ -167,5 +180,17 @@ namespace ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperat Console.WriteLine("e"); } } + + public void WithDynamic(dynamic d) + { + Console.WriteLine(Get(1) && d.P); + Console.WriteLine(Get(2) || d.P); + if (Get(3) && d.P) { + Console.WriteLine(Get(4)); + } + if (Get(5) || d.P) { + Console.WriteLine(Get(6)); + } + } } } \ No newline at end of file diff --git a/ICSharpCode.Decompiler.Tests/TestCases/Pretty/CustomShortCircuitOperators.il b/ICSharpCode.Decompiler.Tests/TestCases/Pretty/CustomShortCircuitOperators.il index 51011f2c8..521a6ab19 100644 --- a/ICSharpCode.Decompiler.Tests/TestCases/Pretty/CustomShortCircuitOperators.il +++ b/ICSharpCode.Decompiler.Tests/TestCases/Pretty/CustomShortCircuitOperators.il @@ -8,6 +8,16 @@ .publickeytoken = (B7 7A 5C 56 19 34 E0 89 ) // .z\V.4.. .ver 4:0:0:0 } +.assembly extern System.Core +{ + .publickeytoken = (B7 7A 5C 56 19 34 E0 89 ) // .z\V.4.. + .ver 4:0:0:0 +} +.assembly extern Microsoft.CSharp +{ + .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A ) // .?_....: + .ver 4:0:0:0 +} .assembly CustomShortCircuitOperators { .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilationRelaxationsAttribute::.ctor(int32) = ( 01 00 08 00 00 00 00 00 ) @@ -77,6 +87,24 @@ .class private auto ansi beforefieldinit ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C extends ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.BaseClass { + .class abstract auto ansi sealed nested private beforefieldinit 'o__SiteContainer0' + extends [mscorlib]System.Object + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__Site1' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__Site2' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__Site3' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__Site4' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__Site5' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__Site6' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__Site7' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__Site8' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__Site9' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__Sitea' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__Siteb' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__Sitec' + } // end of class 'o__SiteContainer0' + .method public hidebysig specialname static class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C op_BitwiseAnd(class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C x, @@ -283,57 +311,81 @@ .method private hidebysig static void Test2() cil managed { - // Code size 95 (0x5f) + // Code size 160 (0xa0) .maxstack 2 - .locals init (class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C V_0, - bool V_1) + .locals init (bool V_0) IL_0000: nop - IL_0001: newobj instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C::.ctor() - IL_0006: stloc.0 - IL_0007: ldloc.0 - IL_0008: dup - IL_0009: call bool ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.BaseClass::op_False(class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.BaseClass) - IL_000e: brtrue.s IL_0016 + IL_0001: ldc.i4.1 + IL_0002: call class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C::GetC(int32) + IL_0007: dup + IL_0008: call bool ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.BaseClass::op_False(class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.BaseClass) + IL_000d: brtrue.s IL_001a - IL_0010: ldloc.0 - IL_0011: call class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C::op_BitwiseAnd(class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C, + IL_000f: ldc.i4.2 + IL_0010: call class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C::GetC(int32) + IL_0015: call class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C::op_BitwiseAnd(class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C, class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C) - IL_0016: call bool ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.BaseClass::op_True(class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.BaseClass) - IL_001b: ldc.i4.0 - IL_001c: ceq - IL_001e: stloc.1 - IL_001f: ldloc.1 - IL_0020: brtrue.s IL_0030 - - IL_0022: nop + IL_001a: call bool ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.BaseClass::op_True(class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.BaseClass) + IL_001f: ldc.i4.0 + IL_0020: ceq + IL_0022: stloc.0 IL_0023: ldloc.0 - IL_0024: callvirt instance string [mscorlib]System.Object::ToString() - IL_0029: call void [mscorlib]System.Console::WriteLine(string) - IL_002e: nop - IL_002f: nop - IL_0030: ldloc.0 - IL_0031: dup - IL_0032: call bool ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.BaseClass::op_False(class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.BaseClass) - IL_0037: brtrue.s IL_003f - - IL_0039: ldloc.0 - IL_003a: call class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C::op_BitwiseAnd(class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C, + IL_0024: brtrue.s IL_0034 + + IL_0026: nop + IL_0027: ldc.i4.3 + IL_0028: call class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C::GetC(int32) + IL_002d: call void [mscorlib]System.Console::WriteLine(object) + IL_0032: nop + IL_0033: nop + IL_0034: ldc.i4.1 + IL_0035: call class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C::GetC(int32) + IL_003a: dup + IL_003b: call bool ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.BaseClass::op_True(class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.BaseClass) + IL_0040: brtrue.s IL_004d + + IL_0042: ldc.i4.2 + IL_0043: call class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C::GetC(int32) + IL_0048: call class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C::op_BitwiseOr(class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C, + class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C) + IL_004d: call bool ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.BaseClass::op_True(class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.BaseClass) + IL_0052: ldc.i4.0 + IL_0053: ceq + IL_0055: stloc.0 + IL_0056: ldloc.0 + IL_0057: brtrue.s IL_0067 + + IL_0059: nop + IL_005a: ldc.i4.3 + IL_005b: call class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C::GetC(int32) + IL_0060: call void [mscorlib]System.Console::WriteLine(object) + IL_0065: nop + IL_0066: nop + IL_0067: ldc.i4.1 + IL_0068: call class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C::GetC(int32) + IL_006d: dup + IL_006e: call bool ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.BaseClass::op_False(class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.BaseClass) + IL_0073: brtrue.s IL_0080 + + IL_0075: ldc.i4.2 + IL_0076: call class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C::GetC(int32) + IL_007b: call class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C::op_BitwiseAnd(class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C, class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C) - IL_003f: call class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C::op_LogicalNot(class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C) - IL_0044: call bool ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.BaseClass::op_True(class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.BaseClass) - IL_0049: ldc.i4.0 - IL_004a: ceq - IL_004c: stloc.1 - IL_004d: ldloc.1 - IL_004e: brtrue.s IL_005e - - IL_0050: nop - IL_0051: ldloc.0 - IL_0052: callvirt instance string [mscorlib]System.Object::ToString() - IL_0057: call void [mscorlib]System.Console::WriteLine(string) - IL_005c: nop - IL_005d: nop - IL_005e: ret + IL_0080: call class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C::op_LogicalNot(class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C) + IL_0085: call bool ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.BaseClass::op_True(class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.BaseClass) + IL_008a: ldc.i4.0 + IL_008b: ceq + IL_008d: stloc.0 + IL_008e: ldloc.0 + IL_008f: brtrue.s IL_009f + + IL_0091: nop + IL_0092: ldc.i4.3 + IL_0093: call class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C::GetC(int32) + IL_0098: call void [mscorlib]System.Console::WriteLine(object) + IL_009d: nop + IL_009e: nop + IL_009f: ret } // end of method C::Test2 .method private hidebysig static void Test3() cil managed @@ -377,6 +429,526 @@ IL_0042: ret } // end of method C::Test3 + .method public hidebysig instance void + WithDynamic(object d) cil managed + { + .param [1] + .custom instance void [System.Core]System.Runtime.CompilerServices.DynamicAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 1150 (0x47e) + .maxstack 13 + .locals init (class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo[] V_0, + class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C V_1, + bool V_2) + IL_0000: nop + IL_0001: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'o__SiteContainer0'::'<>p__Site1' + IL_0006: brtrue.s IL_004b + + IL_0008: ldc.i4 0x100 + IL_000d: ldstr "WriteLine" + IL_0012: ldnull + IL_0013: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C + IL_0018: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_001d: ldc.i4.2 + IL_001e: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_0023: stloc.0 + IL_0024: ldloc.0 + IL_0025: ldc.i4.0 + IL_0026: ldc.i4.s 33 + IL_0028: ldnull + IL_0029: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_002e: stelem.ref + IL_002f: ldloc.0 + IL_0030: ldc.i4.1 + IL_0031: ldc.i4.0 + IL_0032: ldnull + IL_0033: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0038: stelem.ref + IL_0039: ldloc.0 + IL_003a: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::InvokeMember(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + string, + class [mscorlib]System.Collections.Generic.IEnumerable`1, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_003f: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_0044: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'o__SiteContainer0'::'<>p__Site1' + IL_0049: br.s IL_004b + + IL_004b: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'o__SiteContainer0'::'<>p__Site1' + IL_0050: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_0055: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'o__SiteContainer0'::'<>p__Site1' + IL_005a: ldtoken [mscorlib]System.Console + IL_005f: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0064: ldc.i4.1 + IL_0065: call class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C::GetC(int32) + IL_006a: stloc.1 + IL_006b: ldloc.1 + IL_006c: call bool ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.BaseClass::op_False(class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.BaseClass) + IL_0071: brtrue IL_011c + + IL_0076: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'o__SiteContainer0'::'<>p__Site2' + IL_007b: brtrue.s IL_00b6 + + IL_007d: ldc.i4.8 + IL_007e: ldc.i4.2 + IL_007f: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C + IL_0084: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0089: ldc.i4.2 + IL_008a: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_008f: stloc.0 + IL_0090: ldloc.0 + IL_0091: ldc.i4.0 + IL_0092: ldc.i4.1 + IL_0093: ldnull + IL_0094: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0099: stelem.ref + IL_009a: ldloc.0 + IL_009b: ldc.i4.1 + IL_009c: ldc.i4.0 + IL_009d: ldnull + IL_009e: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_00a3: stelem.ref + IL_00a4: ldloc.0 + IL_00a5: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::BinaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_00aa: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_00af: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'o__SiteContainer0'::'<>p__Site2' + IL_00b4: br.s IL_00b6 + + IL_00b6: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'o__SiteContainer0'::'<>p__Site2' + IL_00bb: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_00c0: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'o__SiteContainer0'::'<>p__Site2' + IL_00c5: ldloc.1 + IL_00c6: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'o__SiteContainer0'::'<>p__Site3' + IL_00cb: brtrue.s IL_0100 + + IL_00cd: ldc.i4.0 + IL_00ce: ldstr "P" + IL_00d3: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C + IL_00d8: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00dd: ldc.i4.1 + IL_00de: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_00e3: stloc.0 + IL_00e4: ldloc.0 + IL_00e5: ldc.i4.0 + IL_00e6: ldc.i4.0 + IL_00e7: ldnull + IL_00e8: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_00ed: stelem.ref + IL_00ee: ldloc.0 + IL_00ef: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::GetMember(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + string, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_00f4: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_00f9: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'o__SiteContainer0'::'<>p__Site3' + IL_00fe: br.s IL_0100 + + IL_0100: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'o__SiteContainer0'::'<>p__Site3' + IL_0105: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_010a: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'o__SiteContainer0'::'<>p__Site3' + IL_010f: ldarg.1 + IL_0110: callvirt instance !2 class [mscorlib]System.Func`3::Invoke(!0, + !1) + IL_0115: callvirt instance !3 class [mscorlib]System.Func`4::Invoke(!0, + !1, + !2) + IL_011a: br.s IL_011d + + IL_011c: ldloc.1 + IL_011d: nop + IL_011e: callvirt instance void class [mscorlib]System.Action`3::Invoke(!0, + !1, + !2) + IL_0123: nop + IL_0124: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'o__SiteContainer0'::'<>p__Site4' + IL_0129: brtrue.s IL_016e + + IL_012b: ldc.i4 0x100 + IL_0130: ldstr "WriteLine" + IL_0135: ldnull + IL_0136: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C + IL_013b: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0140: ldc.i4.2 + IL_0141: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_0146: stloc.0 + IL_0147: ldloc.0 + IL_0148: ldc.i4.0 + IL_0149: ldc.i4.s 33 + IL_014b: ldnull + IL_014c: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0151: stelem.ref + IL_0152: ldloc.0 + IL_0153: ldc.i4.1 + IL_0154: ldc.i4.0 + IL_0155: ldnull + IL_0156: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_015b: stelem.ref + IL_015c: ldloc.0 + IL_015d: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::InvokeMember(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + string, + class [mscorlib]System.Collections.Generic.IEnumerable`1, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0162: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_0167: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'o__SiteContainer0'::'<>p__Site4' + IL_016c: br.s IL_016e + + IL_016e: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'o__SiteContainer0'::'<>p__Site4' + IL_0173: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_0178: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'o__SiteContainer0'::'<>p__Site4' + IL_017d: ldtoken [mscorlib]System.Console + IL_0182: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0187: ldc.i4.2 + IL_0188: call class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C::GetC(int32) + IL_018d: stloc.1 + IL_018e: ldloc.1 + IL_018f: call bool ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.BaseClass::op_True(class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.BaseClass) + IL_0194: brtrue IL_0240 + + IL_0199: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'o__SiteContainer0'::'<>p__Site5' + IL_019e: brtrue.s IL_01da + + IL_01a0: ldc.i4.8 + IL_01a1: ldc.i4.s 36 + IL_01a3: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C + IL_01a8: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_01ad: ldc.i4.2 + IL_01ae: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_01b3: stloc.0 + IL_01b4: ldloc.0 + IL_01b5: ldc.i4.0 + IL_01b6: ldc.i4.1 + IL_01b7: ldnull + IL_01b8: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_01bd: stelem.ref + IL_01be: ldloc.0 + IL_01bf: ldc.i4.1 + IL_01c0: ldc.i4.0 + IL_01c1: ldnull + IL_01c2: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_01c7: stelem.ref + IL_01c8: ldloc.0 + IL_01c9: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::BinaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_01ce: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_01d3: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'o__SiteContainer0'::'<>p__Site5' + IL_01d8: br.s IL_01da + + IL_01da: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'o__SiteContainer0'::'<>p__Site5' + IL_01df: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_01e4: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'o__SiteContainer0'::'<>p__Site5' + IL_01e9: ldloc.1 + IL_01ea: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'o__SiteContainer0'::'<>p__Site6' + IL_01ef: brtrue.s IL_0224 + + IL_01f1: ldc.i4.0 + IL_01f2: ldstr "P" + IL_01f7: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C + IL_01fc: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0201: ldc.i4.1 + IL_0202: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_0207: stloc.0 + IL_0208: ldloc.0 + IL_0209: ldc.i4.0 + IL_020a: ldc.i4.0 + IL_020b: ldnull + IL_020c: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0211: stelem.ref + IL_0212: ldloc.0 + IL_0213: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::GetMember(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + string, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0218: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_021d: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'o__SiteContainer0'::'<>p__Site6' + IL_0222: br.s IL_0224 + + IL_0224: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'o__SiteContainer0'::'<>p__Site6' + IL_0229: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_022e: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'o__SiteContainer0'::'<>p__Site6' + IL_0233: ldarg.1 + IL_0234: callvirt instance !2 class [mscorlib]System.Func`3::Invoke(!0, + !1) + IL_0239: callvirt instance !3 class [mscorlib]System.Func`4::Invoke(!0, + !1, + !2) + IL_023e: br.s IL_0241 + + IL_0240: ldloc.1 + IL_0241: nop + IL_0242: callvirt instance void class [mscorlib]System.Action`3::Invoke(!0, + !1, + !2) + IL_0247: nop + IL_0248: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'o__SiteContainer0'::'<>p__Site7' + IL_024d: brtrue.s IL_027f + + IL_024f: ldc.i4.0 + IL_0250: ldc.i4.s 83 + IL_0252: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C + IL_0257: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_025c: ldc.i4.1 + IL_025d: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_0262: stloc.0 + IL_0263: ldloc.0 + IL_0264: ldc.i4.0 + IL_0265: ldc.i4.0 + IL_0266: ldnull + IL_0267: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_026c: stelem.ref + IL_026d: ldloc.0 + IL_026e: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::UnaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0273: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_0278: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'o__SiteContainer0'::'<>p__Site7' + IL_027d: br.s IL_027f + + IL_027f: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'o__SiteContainer0'::'<>p__Site7' + IL_0284: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_0289: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'o__SiteContainer0'::'<>p__Site7' + IL_028e: ldc.i4.3 + IL_028f: call class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C::GetC(int32) + IL_0294: stloc.1 + IL_0295: ldloc.1 + IL_0296: call bool ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.BaseClass::op_False(class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.BaseClass) + IL_029b: brtrue IL_0346 + + IL_02a0: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'o__SiteContainer0'::'<>p__Site8' + IL_02a5: brtrue.s IL_02e0 + + IL_02a7: ldc.i4.8 + IL_02a8: ldc.i4.2 + IL_02a9: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C + IL_02ae: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_02b3: ldc.i4.2 + IL_02b4: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_02b9: stloc.0 + IL_02ba: ldloc.0 + IL_02bb: ldc.i4.0 + IL_02bc: ldc.i4.1 + IL_02bd: ldnull + IL_02be: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_02c3: stelem.ref + IL_02c4: ldloc.0 + IL_02c5: ldc.i4.1 + IL_02c6: ldc.i4.0 + IL_02c7: ldnull + IL_02c8: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_02cd: stelem.ref + IL_02ce: ldloc.0 + IL_02cf: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::BinaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_02d4: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_02d9: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'o__SiteContainer0'::'<>p__Site8' + IL_02de: br.s IL_02e0 + + IL_02e0: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'o__SiteContainer0'::'<>p__Site8' + IL_02e5: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_02ea: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'o__SiteContainer0'::'<>p__Site8' + IL_02ef: ldloc.1 + IL_02f0: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'o__SiteContainer0'::'<>p__Site9' + IL_02f5: brtrue.s IL_032a + + IL_02f7: ldc.i4.0 + IL_02f8: ldstr "P" + IL_02fd: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C + IL_0302: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0307: ldc.i4.1 + IL_0308: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_030d: stloc.0 + IL_030e: ldloc.0 + IL_030f: ldc.i4.0 + IL_0310: ldc.i4.0 + IL_0311: ldnull + IL_0312: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0317: stelem.ref + IL_0318: ldloc.0 + IL_0319: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::GetMember(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + string, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_031e: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_0323: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'o__SiteContainer0'::'<>p__Site9' + IL_0328: br.s IL_032a + + IL_032a: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'o__SiteContainer0'::'<>p__Site9' + IL_032f: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_0334: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'o__SiteContainer0'::'<>p__Site9' + IL_0339: ldarg.1 + IL_033a: callvirt instance !2 class [mscorlib]System.Func`3::Invoke(!0, + !1) + IL_033f: callvirt instance !3 class [mscorlib]System.Func`4::Invoke(!0, + !1, + !2) + IL_0344: br.s IL_0347 + + IL_0346: ldloc.1 + IL_0347: nop + IL_0348: callvirt instance !2 class [mscorlib]System.Func`3::Invoke(!0, + !1) + IL_034d: ldc.i4.0 + IL_034e: ceq + IL_0350: stloc.2 + IL_0351: ldloc.2 + IL_0352: brtrue.s IL_0362 + + IL_0354: nop + IL_0355: ldc.i4.4 + IL_0356: call class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C::GetC(int32) + IL_035b: call void [mscorlib]System.Console::WriteLine(object) + IL_0360: nop + IL_0361: nop + IL_0362: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'o__SiteContainer0'::'<>p__Sitea' + IL_0367: brtrue.s IL_0399 + + IL_0369: ldc.i4.0 + IL_036a: ldc.i4.s 83 + IL_036c: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C + IL_0371: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0376: ldc.i4.1 + IL_0377: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_037c: stloc.0 + IL_037d: ldloc.0 + IL_037e: ldc.i4.0 + IL_037f: ldc.i4.0 + IL_0380: ldnull + IL_0381: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0386: stelem.ref + IL_0387: ldloc.0 + IL_0388: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::UnaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_038d: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_0392: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'o__SiteContainer0'::'<>p__Sitea' + IL_0397: br.s IL_0399 + + IL_0399: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'o__SiteContainer0'::'<>p__Sitea' + IL_039e: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_03a3: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'o__SiteContainer0'::'<>p__Sitea' + IL_03a8: ldc.i4.5 + IL_03a9: call class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C::GetC(int32) + IL_03ae: stloc.1 + IL_03af: ldloc.1 + IL_03b0: call bool ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.BaseClass::op_True(class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.BaseClass) + IL_03b5: brtrue IL_0461 + + IL_03ba: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'o__SiteContainer0'::'<>p__Siteb' + IL_03bf: brtrue.s IL_03fb + + IL_03c1: ldc.i4.8 + IL_03c2: ldc.i4.s 36 + IL_03c4: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C + IL_03c9: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_03ce: ldc.i4.2 + IL_03cf: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_03d4: stloc.0 + IL_03d5: ldloc.0 + IL_03d6: ldc.i4.0 + IL_03d7: ldc.i4.1 + IL_03d8: ldnull + IL_03d9: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_03de: stelem.ref + IL_03df: ldloc.0 + IL_03e0: ldc.i4.1 + IL_03e1: ldc.i4.0 + IL_03e2: ldnull + IL_03e3: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_03e8: stelem.ref + IL_03e9: ldloc.0 + IL_03ea: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::BinaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_03ef: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_03f4: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'o__SiteContainer0'::'<>p__Siteb' + IL_03f9: br.s IL_03fb + + IL_03fb: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'o__SiteContainer0'::'<>p__Siteb' + IL_0400: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_0405: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'o__SiteContainer0'::'<>p__Siteb' + IL_040a: ldloc.1 + IL_040b: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'o__SiteContainer0'::'<>p__Sitec' + IL_0410: brtrue.s IL_0445 + + IL_0412: ldc.i4.0 + IL_0413: ldstr "P" + IL_0418: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C + IL_041d: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0422: ldc.i4.1 + IL_0423: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_0428: stloc.0 + IL_0429: ldloc.0 + IL_042a: ldc.i4.0 + IL_042b: ldc.i4.0 + IL_042c: ldnull + IL_042d: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0432: stelem.ref + IL_0433: ldloc.0 + IL_0434: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::GetMember(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + string, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0439: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_043e: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'o__SiteContainer0'::'<>p__Sitec' + IL_0443: br.s IL_0445 + + IL_0445: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'o__SiteContainer0'::'<>p__Sitec' + IL_044a: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_044f: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'o__SiteContainer0'::'<>p__Sitec' + IL_0454: ldarg.1 + IL_0455: callvirt instance !2 class [mscorlib]System.Func`3::Invoke(!0, + !1) + IL_045a: callvirt instance !3 class [mscorlib]System.Func`4::Invoke(!0, + !1, + !2) + IL_045f: br.s IL_0462 + + IL_0461: ldloc.1 + IL_0462: nop + IL_0463: callvirt instance !2 class [mscorlib]System.Func`3::Invoke(!0, + !1) + IL_0468: ldc.i4.0 + IL_0469: ceq + IL_046b: stloc.2 + IL_046c: ldloc.2 + IL_046d: brtrue.s IL_047d + + IL_046f: nop + IL_0470: ldc.i4.6 + IL_0471: call class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C::GetC(int32) + IL_0476: call void [mscorlib]System.Console::WriteLine(object) + IL_047b: nop + IL_047c: nop + IL_047d: ret + } // end of method C::WithDynamic + .method public hidebysig specialname rtspecialname instance void .ctor() cil managed { @@ -392,6 +964,24 @@ .class private sequential ansi sealed beforefieldinit ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S extends [mscorlib]System.ValueType { + .class abstract auto ansi sealed nested private beforefieldinit 'o__SiteContainer0' + extends [mscorlib]System.Object + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__Site1' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__Site2' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__Site3' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__Site4' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__Site5' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__Site6' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__Site7' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__Site8' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__Site9' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__Sitea' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__Siteb' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__Sitec' + } // end of class 'o__SiteContainer0' + .field private initonly bool val .method public hidebysig specialname rtspecialname instance void .ctor(bool val) cil managed @@ -638,6 +1228,532 @@ IL_008e: ret } // end of method S::InConditionDetection + .method public hidebysig instance void + WithDynamic(object d) cil managed + { + .param [1] + .custom instance void [System.Core]System.Runtime.CompilerServices.DynamicAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 1180 (0x49c) + .maxstack 13 + .locals init (class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo[] V_0, + valuetype ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S V_1, + bool V_2) + IL_0000: nop + IL_0001: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'o__SiteContainer0'::'<>p__Site1' + IL_0006: brtrue.s IL_004b + + IL_0008: ldc.i4 0x100 + IL_000d: ldstr "WriteLine" + IL_0012: ldnull + IL_0013: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S + IL_0018: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_001d: ldc.i4.2 + IL_001e: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_0023: stloc.0 + IL_0024: ldloc.0 + IL_0025: ldc.i4.0 + IL_0026: ldc.i4.s 33 + IL_0028: ldnull + IL_0029: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_002e: stelem.ref + IL_002f: ldloc.0 + IL_0030: ldc.i4.1 + IL_0031: ldc.i4.0 + IL_0032: ldnull + IL_0033: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0038: stelem.ref + IL_0039: ldloc.0 + IL_003a: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::InvokeMember(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + string, + class [mscorlib]System.Collections.Generic.IEnumerable`1, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_003f: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_0044: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'o__SiteContainer0'::'<>p__Site1' + IL_0049: br.s IL_004b + + IL_004b: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'o__SiteContainer0'::'<>p__Site1' + IL_0050: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_0055: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'o__SiteContainer0'::'<>p__Site1' + IL_005a: ldtoken [mscorlib]System.Console + IL_005f: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0064: ldc.i4.1 + IL_0065: call valuetype ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S::Get(int32) + IL_006a: stloc.1 + IL_006b: ldloc.1 + IL_006c: call bool ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S::op_False(valuetype ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S) + IL_0071: brtrue IL_011c + + IL_0076: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'o__SiteContainer0'::'<>p__Site2' + IL_007b: brtrue.s IL_00b6 + + IL_007d: ldc.i4.8 + IL_007e: ldc.i4.2 + IL_007f: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S + IL_0084: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0089: ldc.i4.2 + IL_008a: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_008f: stloc.0 + IL_0090: ldloc.0 + IL_0091: ldc.i4.0 + IL_0092: ldc.i4.1 + IL_0093: ldnull + IL_0094: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0099: stelem.ref + IL_009a: ldloc.0 + IL_009b: ldc.i4.1 + IL_009c: ldc.i4.0 + IL_009d: ldnull + IL_009e: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_00a3: stelem.ref + IL_00a4: ldloc.0 + IL_00a5: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::BinaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_00aa: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_00af: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'o__SiteContainer0'::'<>p__Site2' + IL_00b4: br.s IL_00b6 + + IL_00b6: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'o__SiteContainer0'::'<>p__Site2' + IL_00bb: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_00c0: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'o__SiteContainer0'::'<>p__Site2' + IL_00c5: ldloc.1 + IL_00c6: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'o__SiteContainer0'::'<>p__Site3' + IL_00cb: brtrue.s IL_0100 + + IL_00cd: ldc.i4.0 + IL_00ce: ldstr "P" + IL_00d3: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S + IL_00d8: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00dd: ldc.i4.1 + IL_00de: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_00e3: stloc.0 + IL_00e4: ldloc.0 + IL_00e5: ldc.i4.0 + IL_00e6: ldc.i4.0 + IL_00e7: ldnull + IL_00e8: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_00ed: stelem.ref + IL_00ee: ldloc.0 + IL_00ef: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::GetMember(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + string, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_00f4: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_00f9: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'o__SiteContainer0'::'<>p__Site3' + IL_00fe: br.s IL_0100 + + IL_0100: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'o__SiteContainer0'::'<>p__Site3' + IL_0105: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_010a: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'o__SiteContainer0'::'<>p__Site3' + IL_010f: ldarg.1 + IL_0110: callvirt instance !2 class [mscorlib]System.Func`3::Invoke(!0, + !1) + IL_0115: callvirt instance !3 class [mscorlib]System.Func`4::Invoke(!0, + !1, + !2) + IL_011a: br.s IL_0122 + + IL_011c: ldloc.1 + IL_011d: box ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S + IL_0122: nop + IL_0123: callvirt instance void class [mscorlib]System.Action`3::Invoke(!0, + !1, + !2) + IL_0128: nop + IL_0129: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'o__SiteContainer0'::'<>p__Site4' + IL_012e: brtrue.s IL_0173 + + IL_0130: ldc.i4 0x100 + IL_0135: ldstr "WriteLine" + IL_013a: ldnull + IL_013b: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S + IL_0140: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0145: ldc.i4.2 + IL_0146: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_014b: stloc.0 + IL_014c: ldloc.0 + IL_014d: ldc.i4.0 + IL_014e: ldc.i4.s 33 + IL_0150: ldnull + IL_0151: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0156: stelem.ref + IL_0157: ldloc.0 + IL_0158: ldc.i4.1 + IL_0159: ldc.i4.0 + IL_015a: ldnull + IL_015b: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0160: stelem.ref + IL_0161: ldloc.0 + IL_0162: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::InvokeMember(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + string, + class [mscorlib]System.Collections.Generic.IEnumerable`1, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0167: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_016c: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'o__SiteContainer0'::'<>p__Site4' + IL_0171: br.s IL_0173 + + IL_0173: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'o__SiteContainer0'::'<>p__Site4' + IL_0178: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_017d: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'o__SiteContainer0'::'<>p__Site4' + IL_0182: ldtoken [mscorlib]System.Console + IL_0187: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_018c: ldc.i4.2 + IL_018d: call valuetype ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S::Get(int32) + IL_0192: stloc.1 + IL_0193: ldloc.1 + IL_0194: call bool ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S::op_True(valuetype ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S) + IL_0199: brtrue IL_0245 + + IL_019e: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'o__SiteContainer0'::'<>p__Site5' + IL_01a3: brtrue.s IL_01df + + IL_01a5: ldc.i4.8 + IL_01a6: ldc.i4.s 36 + IL_01a8: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S + IL_01ad: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_01b2: ldc.i4.2 + IL_01b3: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_01b8: stloc.0 + IL_01b9: ldloc.0 + IL_01ba: ldc.i4.0 + IL_01bb: ldc.i4.1 + IL_01bc: ldnull + IL_01bd: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_01c2: stelem.ref + IL_01c3: ldloc.0 + IL_01c4: ldc.i4.1 + IL_01c5: ldc.i4.0 + IL_01c6: ldnull + IL_01c7: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_01cc: stelem.ref + IL_01cd: ldloc.0 + IL_01ce: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::BinaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_01d3: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_01d8: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'o__SiteContainer0'::'<>p__Site5' + IL_01dd: br.s IL_01df + + IL_01df: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'o__SiteContainer0'::'<>p__Site5' + IL_01e4: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_01e9: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'o__SiteContainer0'::'<>p__Site5' + IL_01ee: ldloc.1 + IL_01ef: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'o__SiteContainer0'::'<>p__Site6' + IL_01f4: brtrue.s IL_0229 + + IL_01f6: ldc.i4.0 + IL_01f7: ldstr "P" + IL_01fc: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S + IL_0201: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0206: ldc.i4.1 + IL_0207: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_020c: stloc.0 + IL_020d: ldloc.0 + IL_020e: ldc.i4.0 + IL_020f: ldc.i4.0 + IL_0210: ldnull + IL_0211: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0216: stelem.ref + IL_0217: ldloc.0 + IL_0218: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::GetMember(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + string, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_021d: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_0222: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'o__SiteContainer0'::'<>p__Site6' + IL_0227: br.s IL_0229 + + IL_0229: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'o__SiteContainer0'::'<>p__Site6' + IL_022e: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_0233: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'o__SiteContainer0'::'<>p__Site6' + IL_0238: ldarg.1 + IL_0239: callvirt instance !2 class [mscorlib]System.Func`3::Invoke(!0, + !1) + IL_023e: callvirt instance !3 class [mscorlib]System.Func`4::Invoke(!0, + !1, + !2) + IL_0243: br.s IL_024b + + IL_0245: ldloc.1 + IL_0246: box ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S + IL_024b: nop + IL_024c: callvirt instance void class [mscorlib]System.Action`3::Invoke(!0, + !1, + !2) + IL_0251: nop + IL_0252: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'o__SiteContainer0'::'<>p__Site7' + IL_0257: brtrue.s IL_0289 + + IL_0259: ldc.i4.0 + IL_025a: ldc.i4.s 83 + IL_025c: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S + IL_0261: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0266: ldc.i4.1 + IL_0267: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_026c: stloc.0 + IL_026d: ldloc.0 + IL_026e: ldc.i4.0 + IL_026f: ldc.i4.0 + IL_0270: ldnull + IL_0271: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0276: stelem.ref + IL_0277: ldloc.0 + IL_0278: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::UnaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_027d: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_0282: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'o__SiteContainer0'::'<>p__Site7' + IL_0287: br.s IL_0289 + + IL_0289: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'o__SiteContainer0'::'<>p__Site7' + IL_028e: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_0293: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'o__SiteContainer0'::'<>p__Site7' + IL_0298: ldc.i4.3 + IL_0299: call valuetype ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S::Get(int32) + IL_029e: stloc.1 + IL_029f: ldloc.1 + IL_02a0: call bool ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S::op_False(valuetype ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S) + IL_02a5: brtrue IL_0350 + + IL_02aa: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'o__SiteContainer0'::'<>p__Site8' + IL_02af: brtrue.s IL_02ea + + IL_02b1: ldc.i4.8 + IL_02b2: ldc.i4.2 + IL_02b3: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S + IL_02b8: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_02bd: ldc.i4.2 + IL_02be: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_02c3: stloc.0 + IL_02c4: ldloc.0 + IL_02c5: ldc.i4.0 + IL_02c6: ldc.i4.1 + IL_02c7: ldnull + IL_02c8: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_02cd: stelem.ref + IL_02ce: ldloc.0 + IL_02cf: ldc.i4.1 + IL_02d0: ldc.i4.0 + IL_02d1: ldnull + IL_02d2: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_02d7: stelem.ref + IL_02d8: ldloc.0 + IL_02d9: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::BinaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_02de: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_02e3: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'o__SiteContainer0'::'<>p__Site8' + IL_02e8: br.s IL_02ea + + IL_02ea: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'o__SiteContainer0'::'<>p__Site8' + IL_02ef: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_02f4: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'o__SiteContainer0'::'<>p__Site8' + IL_02f9: ldloc.1 + IL_02fa: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'o__SiteContainer0'::'<>p__Site9' + IL_02ff: brtrue.s IL_0334 + + IL_0301: ldc.i4.0 + IL_0302: ldstr "P" + IL_0307: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S + IL_030c: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0311: ldc.i4.1 + IL_0312: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_0317: stloc.0 + IL_0318: ldloc.0 + IL_0319: ldc.i4.0 + IL_031a: ldc.i4.0 + IL_031b: ldnull + IL_031c: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0321: stelem.ref + IL_0322: ldloc.0 + IL_0323: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::GetMember(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + string, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0328: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_032d: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'o__SiteContainer0'::'<>p__Site9' + IL_0332: br.s IL_0334 + + IL_0334: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'o__SiteContainer0'::'<>p__Site9' + IL_0339: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_033e: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'o__SiteContainer0'::'<>p__Site9' + IL_0343: ldarg.1 + IL_0344: callvirt instance !2 class [mscorlib]System.Func`3::Invoke(!0, + !1) + IL_0349: callvirt instance !3 class [mscorlib]System.Func`4::Invoke(!0, + !1, + !2) + IL_034e: br.s IL_0356 + + IL_0350: ldloc.1 + IL_0351: box ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S + IL_0356: nop + IL_0357: callvirt instance !2 class [mscorlib]System.Func`3::Invoke(!0, + !1) + IL_035c: ldc.i4.0 + IL_035d: ceq + IL_035f: stloc.2 + IL_0360: ldloc.2 + IL_0361: brtrue.s IL_0376 + + IL_0363: nop + IL_0364: ldc.i4.4 + IL_0365: call valuetype ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S::Get(int32) + IL_036a: box ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S + IL_036f: call void [mscorlib]System.Console::WriteLine(object) + IL_0374: nop + IL_0375: nop + IL_0376: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'o__SiteContainer0'::'<>p__Sitea' + IL_037b: brtrue.s IL_03ad + + IL_037d: ldc.i4.0 + IL_037e: ldc.i4.s 83 + IL_0380: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S + IL_0385: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_038a: ldc.i4.1 + IL_038b: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_0390: stloc.0 + IL_0391: ldloc.0 + IL_0392: ldc.i4.0 + IL_0393: ldc.i4.0 + IL_0394: ldnull + IL_0395: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_039a: stelem.ref + IL_039b: ldloc.0 + IL_039c: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::UnaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_03a1: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_03a6: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'o__SiteContainer0'::'<>p__Sitea' + IL_03ab: br.s IL_03ad + + IL_03ad: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'o__SiteContainer0'::'<>p__Sitea' + IL_03b2: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_03b7: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'o__SiteContainer0'::'<>p__Sitea' + IL_03bc: ldc.i4.5 + IL_03bd: call valuetype ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S::Get(int32) + IL_03c2: stloc.1 + IL_03c3: ldloc.1 + IL_03c4: call bool ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S::op_True(valuetype ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S) + IL_03c9: brtrue IL_0475 + + IL_03ce: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'o__SiteContainer0'::'<>p__Siteb' + IL_03d3: brtrue.s IL_040f + + IL_03d5: ldc.i4.8 + IL_03d6: ldc.i4.s 36 + IL_03d8: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S + IL_03dd: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_03e2: ldc.i4.2 + IL_03e3: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_03e8: stloc.0 + IL_03e9: ldloc.0 + IL_03ea: ldc.i4.0 + IL_03eb: ldc.i4.1 + IL_03ec: ldnull + IL_03ed: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_03f2: stelem.ref + IL_03f3: ldloc.0 + IL_03f4: ldc.i4.1 + IL_03f5: ldc.i4.0 + IL_03f6: ldnull + IL_03f7: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_03fc: stelem.ref + IL_03fd: ldloc.0 + IL_03fe: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::BinaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0403: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_0408: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'o__SiteContainer0'::'<>p__Siteb' + IL_040d: br.s IL_040f + + IL_040f: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'o__SiteContainer0'::'<>p__Siteb' + IL_0414: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_0419: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'o__SiteContainer0'::'<>p__Siteb' + IL_041e: ldloc.1 + IL_041f: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'o__SiteContainer0'::'<>p__Sitec' + IL_0424: brtrue.s IL_0459 + + IL_0426: ldc.i4.0 + IL_0427: ldstr "P" + IL_042c: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S + IL_0431: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0436: ldc.i4.1 + IL_0437: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_043c: stloc.0 + IL_043d: ldloc.0 + IL_043e: ldc.i4.0 + IL_043f: ldc.i4.0 + IL_0440: ldnull + IL_0441: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0446: stelem.ref + IL_0447: ldloc.0 + IL_0448: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::GetMember(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + string, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_044d: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_0452: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'o__SiteContainer0'::'<>p__Sitec' + IL_0457: br.s IL_0459 + + IL_0459: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'o__SiteContainer0'::'<>p__Sitec' + IL_045e: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_0463: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'o__SiteContainer0'::'<>p__Sitec' + IL_0468: ldarg.1 + IL_0469: callvirt instance !2 class [mscorlib]System.Func`3::Invoke(!0, + !1) + IL_046e: callvirt instance !3 class [mscorlib]System.Func`4::Invoke(!0, + !1, + !2) + IL_0473: br.s IL_047b + + IL_0475: ldloc.1 + IL_0476: box ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S + IL_047b: nop + IL_047c: callvirt instance !2 class [mscorlib]System.Func`3::Invoke(!0, + !1) + IL_0481: ldc.i4.0 + IL_0482: ceq + IL_0484: stloc.2 + IL_0485: ldloc.2 + IL_0486: brtrue.s IL_049b + + IL_0488: nop + IL_0489: ldc.i4.6 + IL_048a: call valuetype ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S::Get(int32) + IL_048f: box ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S + IL_0494: call void [mscorlib]System.Console::WriteLine(object) + IL_0499: nop + IL_049a: nop + IL_049b: ret + } // end of method S::WithDynamic + } // end of class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S diff --git a/ICSharpCode.Decompiler.Tests/TestCases/Pretty/CustomShortCircuitOperators.opt.il b/ICSharpCode.Decompiler.Tests/TestCases/Pretty/CustomShortCircuitOperators.opt.il index fc5150d56..8081c6945 100644 --- a/ICSharpCode.Decompiler.Tests/TestCases/Pretty/CustomShortCircuitOperators.opt.il +++ b/ICSharpCode.Decompiler.Tests/TestCases/Pretty/CustomShortCircuitOperators.opt.il @@ -8,6 +8,16 @@ .publickeytoken = (B7 7A 5C 56 19 34 E0 89 ) // .z\V.4.. .ver 4:0:0:0 } +.assembly extern System.Core +{ + .publickeytoken = (B7 7A 5C 56 19 34 E0 89 ) // .z\V.4.. + .ver 4:0:0:0 +} +.assembly extern Microsoft.CSharp +{ + .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A ) // .?_....: + .ver 4:0:0:0 +} .assembly CustomShortCircuitOperators.opt { .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilationRelaxationsAttribute::.ctor(int32) = ( 01 00 08 00 00 00 00 00 ) @@ -65,6 +75,24 @@ .class private auto ansi beforefieldinit ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C extends ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.BaseClass { + .class abstract auto ansi sealed nested private beforefieldinit 'o__SiteContainer0' + extends [mscorlib]System.Object + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__Site1' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__Site2' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__Site3' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__Site4' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__Site5' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__Site6' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__Site7' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__Site8' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__Site9' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__Sitea' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__Siteb' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__Sitec' + } // end of class 'o__SiteContainer0' + .method public hidebysig specialname static class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C op_BitwiseAnd(class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C x, @@ -226,41 +254,58 @@ .method private hidebysig static void Test2() cil managed { - // Code size 78 (0x4e) + // Code size 135 (0x87) .maxstack 2 - .locals init (class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C V_0) - IL_0000: newobj instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C::.ctor() - IL_0005: stloc.0 - IL_0006: ldloc.0 - IL_0007: dup - IL_0008: call bool ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.BaseClass::op_False(class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.BaseClass) - IL_000d: brtrue.s IL_0015 + IL_0000: ldc.i4.1 + IL_0001: call class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C::GetC(int32) + IL_0006: dup + IL_0007: call bool ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.BaseClass::op_False(class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.BaseClass) + IL_000c: brtrue.s IL_0019 - IL_000f: ldloc.0 - IL_0010: call class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C::op_BitwiseAnd(class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C, + IL_000e: ldc.i4.2 + IL_000f: call class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C::GetC(int32) + IL_0014: call class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C::op_BitwiseAnd(class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C, class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C) - IL_0015: call bool ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.BaseClass::op_True(class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.BaseClass) - IL_001a: brfalse.s IL_0027 + IL_0019: call bool ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.BaseClass::op_True(class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.BaseClass) + IL_001e: brfalse.s IL_002b - IL_001c: ldloc.0 - IL_001d: callvirt instance string [mscorlib]System.Object::ToString() - IL_0022: call void [mscorlib]System.Console::WriteLine(string) - IL_0027: ldloc.0 - IL_0028: dup - IL_0029: call bool ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.BaseClass::op_False(class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.BaseClass) - IL_002e: brtrue.s IL_0036 - - IL_0030: ldloc.0 - IL_0031: call class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C::op_BitwiseAnd(class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C, + IL_0020: ldc.i4.3 + IL_0021: call class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C::GetC(int32) + IL_0026: call void [mscorlib]System.Console::WriteLine(object) + IL_002b: ldc.i4.1 + IL_002c: call class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C::GetC(int32) + IL_0031: dup + IL_0032: call bool ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.BaseClass::op_True(class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.BaseClass) + IL_0037: brtrue.s IL_0044 + + IL_0039: ldc.i4.2 + IL_003a: call class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C::GetC(int32) + IL_003f: call class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C::op_BitwiseOr(class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C, + class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C) + IL_0044: call bool ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.BaseClass::op_True(class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.BaseClass) + IL_0049: brfalse.s IL_0056 + + IL_004b: ldc.i4.3 + IL_004c: call class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C::GetC(int32) + IL_0051: call void [mscorlib]System.Console::WriteLine(object) + IL_0056: ldc.i4.1 + IL_0057: call class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C::GetC(int32) + IL_005c: dup + IL_005d: call bool ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.BaseClass::op_False(class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.BaseClass) + IL_0062: brtrue.s IL_006f + + IL_0064: ldc.i4.2 + IL_0065: call class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C::GetC(int32) + IL_006a: call class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C::op_BitwiseAnd(class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C, class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C) - IL_0036: call class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C::op_LogicalNot(class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C) - IL_003b: call bool ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.BaseClass::op_True(class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.BaseClass) - IL_0040: brfalse.s IL_004d + IL_006f: call class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C::op_LogicalNot(class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C) + IL_0074: call bool ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.BaseClass::op_True(class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.BaseClass) + IL_0079: brfalse.s IL_0086 - IL_0042: ldloc.0 - IL_0043: callvirt instance string [mscorlib]System.Object::ToString() - IL_0048: call void [mscorlib]System.Console::WriteLine(string) - IL_004d: ret + IL_007b: ldc.i4.3 + IL_007c: call class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C::GetC(int32) + IL_0081: call void [mscorlib]System.Console::WriteLine(object) + IL_0086: ret } // end of method C::Test2 .method private hidebysig static void Test3() cil managed @@ -288,6 +333,494 @@ IL_0031: ret } // end of method C::Test3 + .method public hidebysig instance void + WithDynamic(object d) cil managed + { + .param [1] + .custom instance void [System.Core]System.Runtime.CompilerServices.DynamicAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 1146 (0x47a) + .maxstack 13 + .locals init (class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo[] V_0, + class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C V_1, + class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo[] V_2, + class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo[] V_3, + class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo[] V_4, + class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C V_5, + class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo[] V_6, + class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo[] V_7, + class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo[] V_8, + class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C V_9, + class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo[] V_10, + class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo[] V_11, + class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo[] V_12, + class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C V_13, + class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo[] V_14, + class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo[] V_15) + IL_0000: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'o__SiteContainer0'::'<>p__Site1' + IL_0005: brtrue.s IL_0048 + + IL_0007: ldc.i4 0x100 + IL_000c: ldstr "WriteLine" + IL_0011: ldnull + IL_0012: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C + IL_0017: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_001c: ldc.i4.2 + IL_001d: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_0022: stloc.0 + IL_0023: ldloc.0 + IL_0024: ldc.i4.0 + IL_0025: ldc.i4.s 33 + IL_0027: ldnull + IL_0028: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_002d: stelem.ref + IL_002e: ldloc.0 + IL_002f: ldc.i4.1 + IL_0030: ldc.i4.0 + IL_0031: ldnull + IL_0032: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0037: stelem.ref + IL_0038: ldloc.0 + IL_0039: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::InvokeMember(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + string, + class [mscorlib]System.Collections.Generic.IEnumerable`1, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_003e: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_0043: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'o__SiteContainer0'::'<>p__Site1' + IL_0048: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'o__SiteContainer0'::'<>p__Site1' + IL_004d: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_0052: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'o__SiteContainer0'::'<>p__Site1' + IL_0057: ldtoken [mscorlib]System.Console + IL_005c: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0061: ldc.i4.1 + IL_0062: call class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C::GetC(int32) + IL_0067: stloc.1 + IL_0068: ldloc.1 + IL_0069: call bool ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.BaseClass::op_False(class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.BaseClass) + IL_006e: brtrue IL_0115 + + IL_0073: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'o__SiteContainer0'::'<>p__Site2' + IL_0078: brtrue.s IL_00b1 + + IL_007a: ldc.i4.8 + IL_007b: ldc.i4.2 + IL_007c: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C + IL_0081: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0086: ldc.i4.2 + IL_0087: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_008c: stloc.2 + IL_008d: ldloc.2 + IL_008e: ldc.i4.0 + IL_008f: ldc.i4.1 + IL_0090: ldnull + IL_0091: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0096: stelem.ref + IL_0097: ldloc.2 + IL_0098: ldc.i4.1 + IL_0099: ldc.i4.0 + IL_009a: ldnull + IL_009b: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_00a0: stelem.ref + IL_00a1: ldloc.2 + IL_00a2: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::BinaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_00a7: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_00ac: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'o__SiteContainer0'::'<>p__Site2' + IL_00b1: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'o__SiteContainer0'::'<>p__Site2' + IL_00b6: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_00bb: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'o__SiteContainer0'::'<>p__Site2' + IL_00c0: ldloc.1 + IL_00c1: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'o__SiteContainer0'::'<>p__Site3' + IL_00c6: brtrue.s IL_00f9 + + IL_00c8: ldc.i4.0 + IL_00c9: ldstr "P" + IL_00ce: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C + IL_00d3: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00d8: ldc.i4.1 + IL_00d9: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_00de: stloc.3 + IL_00df: ldloc.3 + IL_00e0: ldc.i4.0 + IL_00e1: ldc.i4.0 + IL_00e2: ldnull + IL_00e3: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_00e8: stelem.ref + IL_00e9: ldloc.3 + IL_00ea: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::GetMember(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + string, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_00ef: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_00f4: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'o__SiteContainer0'::'<>p__Site3' + IL_00f9: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'o__SiteContainer0'::'<>p__Site3' + IL_00fe: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_0103: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'o__SiteContainer0'::'<>p__Site3' + IL_0108: ldarg.1 + IL_0109: callvirt instance !2 class [mscorlib]System.Func`3::Invoke(!0, + !1) + IL_010e: callvirt instance !3 class [mscorlib]System.Func`4::Invoke(!0, + !1, + !2) + IL_0113: br.s IL_0116 + + IL_0115: ldloc.1 + IL_0116: callvirt instance void class [mscorlib]System.Action`3::Invoke(!0, + !1, + !2) + IL_011b: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'o__SiteContainer0'::'<>p__Site4' + IL_0120: brtrue.s IL_0167 + + IL_0122: ldc.i4 0x100 + IL_0127: ldstr "WriteLine" + IL_012c: ldnull + IL_012d: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C + IL_0132: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0137: ldc.i4.2 + IL_0138: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_013d: stloc.s V_4 + IL_013f: ldloc.s V_4 + IL_0141: ldc.i4.0 + IL_0142: ldc.i4.s 33 + IL_0144: ldnull + IL_0145: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_014a: stelem.ref + IL_014b: ldloc.s V_4 + IL_014d: ldc.i4.1 + IL_014e: ldc.i4.0 + IL_014f: ldnull + IL_0150: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0155: stelem.ref + IL_0156: ldloc.s V_4 + IL_0158: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::InvokeMember(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + string, + class [mscorlib]System.Collections.Generic.IEnumerable`1, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_015d: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_0162: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'o__SiteContainer0'::'<>p__Site4' + IL_0167: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'o__SiteContainer0'::'<>p__Site4' + IL_016c: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_0171: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'o__SiteContainer0'::'<>p__Site4' + IL_0176: ldtoken [mscorlib]System.Console + IL_017b: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0180: ldc.i4.2 + IL_0181: call class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C::GetC(int32) + IL_0186: stloc.s V_5 + IL_0188: ldloc.s V_5 + IL_018a: call bool ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.BaseClass::op_True(class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.BaseClass) + IL_018f: brtrue IL_023f + + IL_0194: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'o__SiteContainer0'::'<>p__Site5' + IL_0199: brtrue.s IL_01d7 + + IL_019b: ldc.i4.8 + IL_019c: ldc.i4.s 36 + IL_019e: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C + IL_01a3: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_01a8: ldc.i4.2 + IL_01a9: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_01ae: stloc.s V_6 + IL_01b0: ldloc.s V_6 + IL_01b2: ldc.i4.0 + IL_01b3: ldc.i4.1 + IL_01b4: ldnull + IL_01b5: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_01ba: stelem.ref + IL_01bb: ldloc.s V_6 + IL_01bd: ldc.i4.1 + IL_01be: ldc.i4.0 + IL_01bf: ldnull + IL_01c0: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_01c5: stelem.ref + IL_01c6: ldloc.s V_6 + IL_01c8: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::BinaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_01cd: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_01d2: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'o__SiteContainer0'::'<>p__Site5' + IL_01d7: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'o__SiteContainer0'::'<>p__Site5' + IL_01dc: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_01e1: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'o__SiteContainer0'::'<>p__Site5' + IL_01e6: ldloc.s V_5 + IL_01e8: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'o__SiteContainer0'::'<>p__Site6' + IL_01ed: brtrue.s IL_0223 + + IL_01ef: ldc.i4.0 + IL_01f0: ldstr "P" + IL_01f5: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C + IL_01fa: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_01ff: ldc.i4.1 + IL_0200: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_0205: stloc.s V_7 + IL_0207: ldloc.s V_7 + IL_0209: ldc.i4.0 + IL_020a: ldc.i4.0 + IL_020b: ldnull + IL_020c: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0211: stelem.ref + IL_0212: ldloc.s V_7 + IL_0214: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::GetMember(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + string, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0219: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_021e: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'o__SiteContainer0'::'<>p__Site6' + IL_0223: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'o__SiteContainer0'::'<>p__Site6' + IL_0228: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_022d: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'o__SiteContainer0'::'<>p__Site6' + IL_0232: ldarg.1 + IL_0233: callvirt instance !2 class [mscorlib]System.Func`3::Invoke(!0, + !1) + IL_0238: callvirt instance !3 class [mscorlib]System.Func`4::Invoke(!0, + !1, + !2) + IL_023d: br.s IL_0241 + + IL_023f: ldloc.s V_5 + IL_0241: callvirt instance void class [mscorlib]System.Action`3::Invoke(!0, + !1, + !2) + IL_0246: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'o__SiteContainer0'::'<>p__Site7' + IL_024b: brtrue.s IL_027e + + IL_024d: ldc.i4.0 + IL_024e: ldc.i4.s 83 + IL_0250: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C + IL_0255: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_025a: ldc.i4.1 + IL_025b: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_0260: stloc.s V_8 + IL_0262: ldloc.s V_8 + IL_0264: ldc.i4.0 + IL_0265: ldc.i4.0 + IL_0266: ldnull + IL_0267: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_026c: stelem.ref + IL_026d: ldloc.s V_8 + IL_026f: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::UnaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0274: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_0279: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'o__SiteContainer0'::'<>p__Site7' + IL_027e: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'o__SiteContainer0'::'<>p__Site7' + IL_0283: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_0288: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'o__SiteContainer0'::'<>p__Site7' + IL_028d: ldc.i4.3 + IL_028e: call class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C::GetC(int32) + IL_0293: stloc.s V_9 + IL_0295: ldloc.s V_9 + IL_0297: call bool ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.BaseClass::op_False(class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.BaseClass) + IL_029c: brtrue IL_034b + + IL_02a1: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'o__SiteContainer0'::'<>p__Site8' + IL_02a6: brtrue.s IL_02e3 + + IL_02a8: ldc.i4.8 + IL_02a9: ldc.i4.2 + IL_02aa: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C + IL_02af: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_02b4: ldc.i4.2 + IL_02b5: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_02ba: stloc.s V_10 + IL_02bc: ldloc.s V_10 + IL_02be: ldc.i4.0 + IL_02bf: ldc.i4.1 + IL_02c0: ldnull + IL_02c1: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_02c6: stelem.ref + IL_02c7: ldloc.s V_10 + IL_02c9: ldc.i4.1 + IL_02ca: ldc.i4.0 + IL_02cb: ldnull + IL_02cc: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_02d1: stelem.ref + IL_02d2: ldloc.s V_10 + IL_02d4: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::BinaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_02d9: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_02de: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'o__SiteContainer0'::'<>p__Site8' + IL_02e3: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'o__SiteContainer0'::'<>p__Site8' + IL_02e8: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_02ed: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'o__SiteContainer0'::'<>p__Site8' + IL_02f2: ldloc.s V_9 + IL_02f4: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'o__SiteContainer0'::'<>p__Site9' + IL_02f9: brtrue.s IL_032f + + IL_02fb: ldc.i4.0 + IL_02fc: ldstr "P" + IL_0301: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C + IL_0306: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_030b: ldc.i4.1 + IL_030c: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_0311: stloc.s V_11 + IL_0313: ldloc.s V_11 + IL_0315: ldc.i4.0 + IL_0316: ldc.i4.0 + IL_0317: ldnull + IL_0318: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_031d: stelem.ref + IL_031e: ldloc.s V_11 + IL_0320: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::GetMember(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + string, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0325: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_032a: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'o__SiteContainer0'::'<>p__Site9' + IL_032f: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'o__SiteContainer0'::'<>p__Site9' + IL_0334: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_0339: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'o__SiteContainer0'::'<>p__Site9' + IL_033e: ldarg.1 + IL_033f: callvirt instance !2 class [mscorlib]System.Func`3::Invoke(!0, + !1) + IL_0344: callvirt instance !3 class [mscorlib]System.Func`4::Invoke(!0, + !1, + !2) + IL_0349: br.s IL_034d + + IL_034b: ldloc.s V_9 + IL_034d: callvirt instance !2 class [mscorlib]System.Func`3::Invoke(!0, + !1) + IL_0352: brfalse.s IL_035f + + IL_0354: ldc.i4.4 + IL_0355: call class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C::GetC(int32) + IL_035a: call void [mscorlib]System.Console::WriteLine(object) + IL_035f: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'o__SiteContainer0'::'<>p__Sitea' + IL_0364: brtrue.s IL_0397 + + IL_0366: ldc.i4.0 + IL_0367: ldc.i4.s 83 + IL_0369: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C + IL_036e: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0373: ldc.i4.1 + IL_0374: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_0379: stloc.s V_12 + IL_037b: ldloc.s V_12 + IL_037d: ldc.i4.0 + IL_037e: ldc.i4.0 + IL_037f: ldnull + IL_0380: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0385: stelem.ref + IL_0386: ldloc.s V_12 + IL_0388: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::UnaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_038d: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_0392: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'o__SiteContainer0'::'<>p__Sitea' + IL_0397: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'o__SiteContainer0'::'<>p__Sitea' + IL_039c: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_03a1: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'o__SiteContainer0'::'<>p__Sitea' + IL_03a6: ldc.i4.5 + IL_03a7: call class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C::GetC(int32) + IL_03ac: stloc.s V_13 + IL_03ae: ldloc.s V_13 + IL_03b0: call bool ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.BaseClass::op_True(class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.BaseClass) + IL_03b5: brtrue IL_0465 + + IL_03ba: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'o__SiteContainer0'::'<>p__Siteb' + IL_03bf: brtrue.s IL_03fd + + IL_03c1: ldc.i4.8 + IL_03c2: ldc.i4.s 36 + IL_03c4: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C + IL_03c9: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_03ce: ldc.i4.2 + IL_03cf: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_03d4: stloc.s V_14 + IL_03d6: ldloc.s V_14 + IL_03d8: ldc.i4.0 + IL_03d9: ldc.i4.1 + IL_03da: ldnull + IL_03db: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_03e0: stelem.ref + IL_03e1: ldloc.s V_14 + IL_03e3: ldc.i4.1 + IL_03e4: ldc.i4.0 + IL_03e5: ldnull + IL_03e6: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_03eb: stelem.ref + IL_03ec: ldloc.s V_14 + IL_03ee: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::BinaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_03f3: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_03f8: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'o__SiteContainer0'::'<>p__Siteb' + IL_03fd: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'o__SiteContainer0'::'<>p__Siteb' + IL_0402: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_0407: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'o__SiteContainer0'::'<>p__Siteb' + IL_040c: ldloc.s V_13 + IL_040e: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'o__SiteContainer0'::'<>p__Sitec' + IL_0413: brtrue.s IL_0449 + + IL_0415: ldc.i4.0 + IL_0416: ldstr "P" + IL_041b: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C + IL_0420: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0425: ldc.i4.1 + IL_0426: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_042b: stloc.s V_15 + IL_042d: ldloc.s V_15 + IL_042f: ldc.i4.0 + IL_0430: ldc.i4.0 + IL_0431: ldnull + IL_0432: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0437: stelem.ref + IL_0438: ldloc.s V_15 + IL_043a: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::GetMember(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + string, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_043f: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_0444: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'o__SiteContainer0'::'<>p__Sitec' + IL_0449: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'o__SiteContainer0'::'<>p__Sitec' + IL_044e: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_0453: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'o__SiteContainer0'::'<>p__Sitec' + IL_0458: ldarg.1 + IL_0459: callvirt instance !2 class [mscorlib]System.Func`3::Invoke(!0, + !1) + IL_045e: callvirt instance !3 class [mscorlib]System.Func`4::Invoke(!0, + !1, + !2) + IL_0463: br.s IL_0467 + + IL_0465: ldloc.s V_13 + IL_0467: callvirt instance !2 class [mscorlib]System.Func`3::Invoke(!0, + !1) + IL_046c: brfalse.s IL_0479 + + IL_046e: ldc.i4.6 + IL_046f: call class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C::GetC(int32) + IL_0474: call void [mscorlib]System.Console::WriteLine(object) + IL_0479: ret + } // end of method C::WithDynamic + .method public hidebysig specialname rtspecialname instance void .ctor() cil managed { @@ -303,6 +836,24 @@ .class private sequential ansi sealed beforefieldinit ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S extends [mscorlib]System.ValueType { + .class abstract auto ansi sealed nested private beforefieldinit 'o__SiteContainer0' + extends [mscorlib]System.Object + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__Site1' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__Site2' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__Site3' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__Site4' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__Site5' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__Site6' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__Site7' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__Site8' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__Site9' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__Sitea' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__Siteb' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__Sitec' + } // end of class 'o__SiteContainer0' + .field private initonly bool val .method public hidebysig specialname rtspecialname instance void .ctor(bool val) cil managed @@ -477,6 +1028,500 @@ IL_0075: ret } // end of method S::InConditionDetection + .method public hidebysig instance void + WithDynamic(object d) cil managed + { + .param [1] + .custom instance void [System.Core]System.Runtime.CompilerServices.DynamicAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 1176 (0x498) + .maxstack 13 + .locals init (class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo[] V_0, + valuetype ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S V_1, + class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo[] V_2, + class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo[] V_3, + class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo[] V_4, + valuetype ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S V_5, + class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo[] V_6, + class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo[] V_7, + class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo[] V_8, + valuetype ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S V_9, + class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo[] V_10, + class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo[] V_11, + class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo[] V_12, + valuetype ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S V_13, + class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo[] V_14, + class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo[] V_15) + IL_0000: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'o__SiteContainer0'::'<>p__Site1' + IL_0005: brtrue.s IL_0048 + + IL_0007: ldc.i4 0x100 + IL_000c: ldstr "WriteLine" + IL_0011: ldnull + IL_0012: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S + IL_0017: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_001c: ldc.i4.2 + IL_001d: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_0022: stloc.0 + IL_0023: ldloc.0 + IL_0024: ldc.i4.0 + IL_0025: ldc.i4.s 33 + IL_0027: ldnull + IL_0028: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_002d: stelem.ref + IL_002e: ldloc.0 + IL_002f: ldc.i4.1 + IL_0030: ldc.i4.0 + IL_0031: ldnull + IL_0032: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0037: stelem.ref + IL_0038: ldloc.0 + IL_0039: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::InvokeMember(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + string, + class [mscorlib]System.Collections.Generic.IEnumerable`1, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_003e: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_0043: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'o__SiteContainer0'::'<>p__Site1' + IL_0048: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'o__SiteContainer0'::'<>p__Site1' + IL_004d: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_0052: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'o__SiteContainer0'::'<>p__Site1' + IL_0057: ldtoken [mscorlib]System.Console + IL_005c: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0061: ldc.i4.1 + IL_0062: call valuetype ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S::Get(int32) + IL_0067: stloc.1 + IL_0068: ldloc.1 + IL_0069: call bool ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S::op_False(valuetype ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S) + IL_006e: brtrue IL_0115 + + IL_0073: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'o__SiteContainer0'::'<>p__Site2' + IL_0078: brtrue.s IL_00b1 + + IL_007a: ldc.i4.8 + IL_007b: ldc.i4.2 + IL_007c: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S + IL_0081: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0086: ldc.i4.2 + IL_0087: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_008c: stloc.2 + IL_008d: ldloc.2 + IL_008e: ldc.i4.0 + IL_008f: ldc.i4.1 + IL_0090: ldnull + IL_0091: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0096: stelem.ref + IL_0097: ldloc.2 + IL_0098: ldc.i4.1 + IL_0099: ldc.i4.0 + IL_009a: ldnull + IL_009b: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_00a0: stelem.ref + IL_00a1: ldloc.2 + IL_00a2: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::BinaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_00a7: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_00ac: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'o__SiteContainer0'::'<>p__Site2' + IL_00b1: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'o__SiteContainer0'::'<>p__Site2' + IL_00b6: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_00bb: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'o__SiteContainer0'::'<>p__Site2' + IL_00c0: ldloc.1 + IL_00c1: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'o__SiteContainer0'::'<>p__Site3' + IL_00c6: brtrue.s IL_00f9 + + IL_00c8: ldc.i4.0 + IL_00c9: ldstr "P" + IL_00ce: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S + IL_00d3: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00d8: ldc.i4.1 + IL_00d9: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_00de: stloc.3 + IL_00df: ldloc.3 + IL_00e0: ldc.i4.0 + IL_00e1: ldc.i4.0 + IL_00e2: ldnull + IL_00e3: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_00e8: stelem.ref + IL_00e9: ldloc.3 + IL_00ea: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::GetMember(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + string, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_00ef: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_00f4: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'o__SiteContainer0'::'<>p__Site3' + IL_00f9: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'o__SiteContainer0'::'<>p__Site3' + IL_00fe: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_0103: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'o__SiteContainer0'::'<>p__Site3' + IL_0108: ldarg.1 + IL_0109: callvirt instance !2 class [mscorlib]System.Func`3::Invoke(!0, + !1) + IL_010e: callvirt instance !3 class [mscorlib]System.Func`4::Invoke(!0, + !1, + !2) + IL_0113: br.s IL_011b + + IL_0115: ldloc.1 + IL_0116: box ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S + IL_011b: callvirt instance void class [mscorlib]System.Action`3::Invoke(!0, + !1, + !2) + IL_0120: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'o__SiteContainer0'::'<>p__Site4' + IL_0125: brtrue.s IL_016c + + IL_0127: ldc.i4 0x100 + IL_012c: ldstr "WriteLine" + IL_0131: ldnull + IL_0132: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S + IL_0137: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_013c: ldc.i4.2 + IL_013d: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_0142: stloc.s V_4 + IL_0144: ldloc.s V_4 + IL_0146: ldc.i4.0 + IL_0147: ldc.i4.s 33 + IL_0149: ldnull + IL_014a: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_014f: stelem.ref + IL_0150: ldloc.s V_4 + IL_0152: ldc.i4.1 + IL_0153: ldc.i4.0 + IL_0154: ldnull + IL_0155: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_015a: stelem.ref + IL_015b: ldloc.s V_4 + IL_015d: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::InvokeMember(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + string, + class [mscorlib]System.Collections.Generic.IEnumerable`1, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0162: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_0167: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'o__SiteContainer0'::'<>p__Site4' + IL_016c: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'o__SiteContainer0'::'<>p__Site4' + IL_0171: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_0176: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'o__SiteContainer0'::'<>p__Site4' + IL_017b: ldtoken [mscorlib]System.Console + IL_0180: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0185: ldc.i4.2 + IL_0186: call valuetype ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S::Get(int32) + IL_018b: stloc.s V_5 + IL_018d: ldloc.s V_5 + IL_018f: call bool ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S::op_True(valuetype ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S) + IL_0194: brtrue IL_0244 + + IL_0199: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'o__SiteContainer0'::'<>p__Site5' + IL_019e: brtrue.s IL_01dc + + IL_01a0: ldc.i4.8 + IL_01a1: ldc.i4.s 36 + IL_01a3: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S + IL_01a8: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_01ad: ldc.i4.2 + IL_01ae: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_01b3: stloc.s V_6 + IL_01b5: ldloc.s V_6 + IL_01b7: ldc.i4.0 + IL_01b8: ldc.i4.1 + IL_01b9: ldnull + IL_01ba: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_01bf: stelem.ref + IL_01c0: ldloc.s V_6 + IL_01c2: ldc.i4.1 + IL_01c3: ldc.i4.0 + IL_01c4: ldnull + IL_01c5: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_01ca: stelem.ref + IL_01cb: ldloc.s V_6 + IL_01cd: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::BinaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_01d2: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_01d7: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'o__SiteContainer0'::'<>p__Site5' + IL_01dc: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'o__SiteContainer0'::'<>p__Site5' + IL_01e1: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_01e6: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'o__SiteContainer0'::'<>p__Site5' + IL_01eb: ldloc.s V_5 + IL_01ed: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'o__SiteContainer0'::'<>p__Site6' + IL_01f2: brtrue.s IL_0228 + + IL_01f4: ldc.i4.0 + IL_01f5: ldstr "P" + IL_01fa: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S + IL_01ff: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0204: ldc.i4.1 + IL_0205: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_020a: stloc.s V_7 + IL_020c: ldloc.s V_7 + IL_020e: ldc.i4.0 + IL_020f: ldc.i4.0 + IL_0210: ldnull + IL_0211: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0216: stelem.ref + IL_0217: ldloc.s V_7 + IL_0219: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::GetMember(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + string, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_021e: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_0223: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'o__SiteContainer0'::'<>p__Site6' + IL_0228: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'o__SiteContainer0'::'<>p__Site6' + IL_022d: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_0232: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'o__SiteContainer0'::'<>p__Site6' + IL_0237: ldarg.1 + IL_0238: callvirt instance !2 class [mscorlib]System.Func`3::Invoke(!0, + !1) + IL_023d: callvirt instance !3 class [mscorlib]System.Func`4::Invoke(!0, + !1, + !2) + IL_0242: br.s IL_024b + + IL_0244: ldloc.s V_5 + IL_0246: box ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S + IL_024b: callvirt instance void class [mscorlib]System.Action`3::Invoke(!0, + !1, + !2) + IL_0250: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'o__SiteContainer0'::'<>p__Site7' + IL_0255: brtrue.s IL_0288 + + IL_0257: ldc.i4.0 + IL_0258: ldc.i4.s 83 + IL_025a: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S + IL_025f: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0264: ldc.i4.1 + IL_0265: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_026a: stloc.s V_8 + IL_026c: ldloc.s V_8 + IL_026e: ldc.i4.0 + IL_026f: ldc.i4.0 + IL_0270: ldnull + IL_0271: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0276: stelem.ref + IL_0277: ldloc.s V_8 + IL_0279: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::UnaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_027e: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_0283: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'o__SiteContainer0'::'<>p__Site7' + IL_0288: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'o__SiteContainer0'::'<>p__Site7' + IL_028d: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_0292: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'o__SiteContainer0'::'<>p__Site7' + IL_0297: ldc.i4.3 + IL_0298: call valuetype ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S::Get(int32) + IL_029d: stloc.s V_9 + IL_029f: ldloc.s V_9 + IL_02a1: call bool ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S::op_False(valuetype ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S) + IL_02a6: brtrue IL_0355 + + IL_02ab: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'o__SiteContainer0'::'<>p__Site8' + IL_02b0: brtrue.s IL_02ed + + IL_02b2: ldc.i4.8 + IL_02b3: ldc.i4.2 + IL_02b4: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S + IL_02b9: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_02be: ldc.i4.2 + IL_02bf: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_02c4: stloc.s V_10 + IL_02c6: ldloc.s V_10 + IL_02c8: ldc.i4.0 + IL_02c9: ldc.i4.1 + IL_02ca: ldnull + IL_02cb: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_02d0: stelem.ref + IL_02d1: ldloc.s V_10 + IL_02d3: ldc.i4.1 + IL_02d4: ldc.i4.0 + IL_02d5: ldnull + IL_02d6: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_02db: stelem.ref + IL_02dc: ldloc.s V_10 + IL_02de: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::BinaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_02e3: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_02e8: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'o__SiteContainer0'::'<>p__Site8' + IL_02ed: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'o__SiteContainer0'::'<>p__Site8' + IL_02f2: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_02f7: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'o__SiteContainer0'::'<>p__Site8' + IL_02fc: ldloc.s V_9 + IL_02fe: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'o__SiteContainer0'::'<>p__Site9' + IL_0303: brtrue.s IL_0339 + + IL_0305: ldc.i4.0 + IL_0306: ldstr "P" + IL_030b: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S + IL_0310: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0315: ldc.i4.1 + IL_0316: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_031b: stloc.s V_11 + IL_031d: ldloc.s V_11 + IL_031f: ldc.i4.0 + IL_0320: ldc.i4.0 + IL_0321: ldnull + IL_0322: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0327: stelem.ref + IL_0328: ldloc.s V_11 + IL_032a: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::GetMember(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + string, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_032f: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_0334: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'o__SiteContainer0'::'<>p__Site9' + IL_0339: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'o__SiteContainer0'::'<>p__Site9' + IL_033e: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_0343: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'o__SiteContainer0'::'<>p__Site9' + IL_0348: ldarg.1 + IL_0349: callvirt instance !2 class [mscorlib]System.Func`3::Invoke(!0, + !1) + IL_034e: callvirt instance !3 class [mscorlib]System.Func`4::Invoke(!0, + !1, + !2) + IL_0353: br.s IL_035c + + IL_0355: ldloc.s V_9 + IL_0357: box ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S + IL_035c: callvirt instance !2 class [mscorlib]System.Func`3::Invoke(!0, + !1) + IL_0361: brfalse.s IL_0373 + + IL_0363: ldc.i4.4 + IL_0364: call valuetype ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S::Get(int32) + IL_0369: box ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S + IL_036e: call void [mscorlib]System.Console::WriteLine(object) + IL_0373: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'o__SiteContainer0'::'<>p__Sitea' + IL_0378: brtrue.s IL_03ab + + IL_037a: ldc.i4.0 + IL_037b: ldc.i4.s 83 + IL_037d: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S + IL_0382: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0387: ldc.i4.1 + IL_0388: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_038d: stloc.s V_12 + IL_038f: ldloc.s V_12 + IL_0391: ldc.i4.0 + IL_0392: ldc.i4.0 + IL_0393: ldnull + IL_0394: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0399: stelem.ref + IL_039a: ldloc.s V_12 + IL_039c: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::UnaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_03a1: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_03a6: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'o__SiteContainer0'::'<>p__Sitea' + IL_03ab: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'o__SiteContainer0'::'<>p__Sitea' + IL_03b0: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_03b5: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'o__SiteContainer0'::'<>p__Sitea' + IL_03ba: ldc.i4.5 + IL_03bb: call valuetype ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S::Get(int32) + IL_03c0: stloc.s V_13 + IL_03c2: ldloc.s V_13 + IL_03c4: call bool ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S::op_True(valuetype ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S) + IL_03c9: brtrue IL_0479 + + IL_03ce: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'o__SiteContainer0'::'<>p__Siteb' + IL_03d3: brtrue.s IL_0411 + + IL_03d5: ldc.i4.8 + IL_03d6: ldc.i4.s 36 + IL_03d8: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S + IL_03dd: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_03e2: ldc.i4.2 + IL_03e3: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_03e8: stloc.s V_14 + IL_03ea: ldloc.s V_14 + IL_03ec: ldc.i4.0 + IL_03ed: ldc.i4.1 + IL_03ee: ldnull + IL_03ef: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_03f4: stelem.ref + IL_03f5: ldloc.s V_14 + IL_03f7: ldc.i4.1 + IL_03f8: ldc.i4.0 + IL_03f9: ldnull + IL_03fa: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_03ff: stelem.ref + IL_0400: ldloc.s V_14 + IL_0402: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::BinaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0407: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_040c: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'o__SiteContainer0'::'<>p__Siteb' + IL_0411: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'o__SiteContainer0'::'<>p__Siteb' + IL_0416: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_041b: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'o__SiteContainer0'::'<>p__Siteb' + IL_0420: ldloc.s V_13 + IL_0422: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'o__SiteContainer0'::'<>p__Sitec' + IL_0427: brtrue.s IL_045d + + IL_0429: ldc.i4.0 + IL_042a: ldstr "P" + IL_042f: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S + IL_0434: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0439: ldc.i4.1 + IL_043a: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_043f: stloc.s V_15 + IL_0441: ldloc.s V_15 + IL_0443: ldc.i4.0 + IL_0444: ldc.i4.0 + IL_0445: ldnull + IL_0446: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_044b: stelem.ref + IL_044c: ldloc.s V_15 + IL_044e: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::GetMember(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + string, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0453: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_0458: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'o__SiteContainer0'::'<>p__Sitec' + IL_045d: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'o__SiteContainer0'::'<>p__Sitec' + IL_0462: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_0467: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'o__SiteContainer0'::'<>p__Sitec' + IL_046c: ldarg.1 + IL_046d: callvirt instance !2 class [mscorlib]System.Func`3::Invoke(!0, + !1) + IL_0472: callvirt instance !3 class [mscorlib]System.Func`4::Invoke(!0, + !1, + !2) + IL_0477: br.s IL_0480 + + IL_0479: ldloc.s V_13 + IL_047b: box ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S + IL_0480: callvirt instance !2 class [mscorlib]System.Func`3::Invoke(!0, + !1) + IL_0485: brfalse.s IL_0497 + + IL_0487: ldc.i4.6 + IL_0488: call valuetype ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S::Get(int32) + IL_048d: box ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S + IL_0492: call void [mscorlib]System.Console::WriteLine(object) + IL_0497: ret + } // end of method S::WithDynamic + } // end of class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S diff --git a/ICSharpCode.Decompiler.Tests/TestCases/Pretty/CustomShortCircuitOperators.opt.roslyn.il b/ICSharpCode.Decompiler.Tests/TestCases/Pretty/CustomShortCircuitOperators.opt.roslyn.il index 85ae3db95..875f476ed 100644 --- a/ICSharpCode.Decompiler.Tests/TestCases/Pretty/CustomShortCircuitOperators.opt.roslyn.il +++ b/ICSharpCode.Decompiler.Tests/TestCases/Pretty/CustomShortCircuitOperators.opt.roslyn.il @@ -8,6 +8,16 @@ .publickeytoken = (B7 7A 5C 56 19 34 E0 89 ) // .z\V.4.. .ver 4:0:0:0 } +.assembly extern System.Core +{ + .publickeytoken = (B7 7A 5C 56 19 34 E0 89 ) // .z\V.4.. + .ver 4:0:0:0 +} +.assembly extern Microsoft.CSharp +{ + .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A ) // .?_....: + .ver 4:0:0:0 +} .assembly CustomShortCircuitOperators { .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilationRelaxationsAttribute::.ctor(int32) = ( 01 00 08 00 00 00 00 00 ) @@ -69,6 +79,24 @@ .class private auto ansi beforefieldinit ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C extends ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.BaseClass { + .class abstract auto ansi sealed nested private beforefieldinit '<>o__10' + extends [mscorlib]System.Object + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__0' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__1' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__2' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__3' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__4' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__5' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__6' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__7' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__8' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__9' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__10' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__11' + } // end of class '<>o__10' + .method public hidebysig specialname static class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C op_BitwiseAnd(class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C x, @@ -270,52 +298,74 @@ .method private hidebysig static void Test2() cil managed { - // Code size 88 (0x58) + // Code size 150 (0x96) .maxstack 2 - .locals init (class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C V_0, - class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C V_1) - IL_0000: newobj instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C::.ctor() - IL_0005: stloc.0 - IL_0006: ldloc.0 - IL_0007: stloc.1 - IL_0008: ldloc.1 - IL_0009: call bool ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.BaseClass::op_False(class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.BaseClass) - IL_000e: brtrue.s IL_0019 + .locals init (class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C V_0) + IL_0000: ldc.i4.1 + IL_0001: call class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C::GetC(int32) + IL_0006: stloc.0 + IL_0007: ldloc.0 + IL_0008: call bool ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.BaseClass::op_False(class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.BaseClass) + IL_000d: brtrue.s IL_001d - IL_0010: ldloc.1 - IL_0011: ldloc.0 - IL_0012: call class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C::op_BitwiseAnd(class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C, + IL_000f: ldloc.0 + IL_0010: ldc.i4.2 + IL_0011: call class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C::GetC(int32) + IL_0016: call class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C::op_BitwiseAnd(class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C, class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C) - IL_0017: br.s IL_001a - - IL_0019: ldloc.1 - IL_001a: call bool ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.BaseClass::op_True(class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.BaseClass) - IL_001f: brfalse.s IL_002c - - IL_0021: ldloc.0 - IL_0022: callvirt instance string [mscorlib]System.Object::ToString() - IL_0027: call void [mscorlib]System.Console::WriteLine(string) - IL_002c: ldloc.0 - IL_002d: stloc.1 - IL_002e: ldloc.1 - IL_002f: call bool ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.BaseClass::op_False(class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.BaseClass) - IL_0034: brtrue.s IL_003f - - IL_0036: ldloc.1 + IL_001b: br.s IL_001e + + IL_001d: ldloc.0 + IL_001e: call bool ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.BaseClass::op_True(class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.BaseClass) + IL_0023: brfalse.s IL_0030 + + IL_0025: ldc.i4.3 + IL_0026: call class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C::GetC(int32) + IL_002b: call void [mscorlib]System.Console::WriteLine(object) + IL_0030: ldc.i4.1 + IL_0031: call class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C::GetC(int32) + IL_0036: stloc.0 IL_0037: ldloc.0 - IL_0038: call class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C::op_BitwiseAnd(class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C, + IL_0038: call bool ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.BaseClass::op_True(class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.BaseClass) + IL_003d: brtrue.s IL_004d + + IL_003f: ldloc.0 + IL_0040: ldc.i4.2 + IL_0041: call class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C::GetC(int32) + IL_0046: call class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C::op_BitwiseOr(class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C, + class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C) + IL_004b: br.s IL_004e + + IL_004d: ldloc.0 + IL_004e: call bool ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.BaseClass::op_True(class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.BaseClass) + IL_0053: brfalse.s IL_0060 + + IL_0055: ldc.i4.3 + IL_0056: call class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C::GetC(int32) + IL_005b: call void [mscorlib]System.Console::WriteLine(object) + IL_0060: ldc.i4.1 + IL_0061: call class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C::GetC(int32) + IL_0066: stloc.0 + IL_0067: ldloc.0 + IL_0068: call bool ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.BaseClass::op_False(class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.BaseClass) + IL_006d: brtrue.s IL_007d + + IL_006f: ldloc.0 + IL_0070: ldc.i4.2 + IL_0071: call class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C::GetC(int32) + IL_0076: call class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C::op_BitwiseAnd(class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C, class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C) - IL_003d: br.s IL_0040 + IL_007b: br.s IL_007e - IL_003f: ldloc.1 - IL_0040: call class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C::op_LogicalNot(class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C) - IL_0045: call bool ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.BaseClass::op_True(class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.BaseClass) - IL_004a: brfalse.s IL_0057 + IL_007d: ldloc.0 + IL_007e: call class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C::op_LogicalNot(class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C) + IL_0083: call bool ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.BaseClass::op_True(class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.BaseClass) + IL_0088: brfalse.s IL_0095 - IL_004c: ldloc.0 - IL_004d: callvirt instance string [mscorlib]System.Object::ToString() - IL_0052: call void [mscorlib]System.Console::WriteLine(string) - IL_0057: ret + IL_008a: ldc.i4.3 + IL_008b: call class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C::GetC(int32) + IL_0090: call void [mscorlib]System.Console::WriteLine(object) + IL_0095: ret } // end of method C::Test2 .method private hidebysig static void Test3() cil managed @@ -343,6 +393,452 @@ IL_0031: ret } // end of method C::Test3 + .method public hidebysig instance void + WithDynamic(object d) cil managed + { + .param [1] + .custom instance void [System.Core]System.Runtime.CompilerServices.DynamicAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 1076 (0x434) + .maxstack 14 + .locals init (class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C V_0) + IL_0000: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'<>o__10'::'<>p__2' + IL_0005: brtrue.s IL_0046 + + IL_0007: ldc.i4 0x100 + IL_000c: ldstr "WriteLine" + IL_0011: ldnull + IL_0012: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C + IL_0017: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_001c: ldc.i4.2 + IL_001d: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_0022: dup + IL_0023: ldc.i4.0 + IL_0024: ldc.i4.s 33 + IL_0026: ldnull + IL_0027: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_002c: stelem.ref + IL_002d: dup + IL_002e: ldc.i4.1 + IL_002f: ldc.i4.0 + IL_0030: ldnull + IL_0031: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0036: stelem.ref + IL_0037: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::InvokeMember(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + string, + class [mscorlib]System.Collections.Generic.IEnumerable`1, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_003c: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_0041: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'<>o__10'::'<>p__2' + IL_0046: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'<>o__10'::'<>p__2' + IL_004b: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_0050: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'<>o__10'::'<>p__2' + IL_0055: ldtoken [mscorlib]System.Console + IL_005a: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_005f: ldc.i4.1 + IL_0060: call class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C::GetC(int32) + IL_0065: stloc.0 + IL_0066: ldloc.0 + IL_0067: call bool ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.BaseClass::op_False(class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.BaseClass) + IL_006c: brtrue IL_010f + + IL_0071: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'<>o__10'::'<>p__1' + IL_0076: brtrue.s IL_00ad + + IL_0078: ldc.i4.8 + IL_0079: ldc.i4.2 + IL_007a: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C + IL_007f: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0084: ldc.i4.2 + IL_0085: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_008a: dup + IL_008b: ldc.i4.0 + IL_008c: ldc.i4.1 + IL_008d: ldnull + IL_008e: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0093: stelem.ref + IL_0094: dup + IL_0095: ldc.i4.1 + IL_0096: ldc.i4.0 + IL_0097: ldnull + IL_0098: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_009d: stelem.ref + IL_009e: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::BinaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_00a3: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_00a8: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'<>o__10'::'<>p__1' + IL_00ad: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'<>o__10'::'<>p__1' + IL_00b2: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_00b7: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'<>o__10'::'<>p__1' + IL_00bc: ldloc.0 + IL_00bd: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'<>o__10'::'<>p__0' + IL_00c2: brtrue.s IL_00f3 + + IL_00c4: ldc.i4.0 + IL_00c5: ldstr "P" + IL_00ca: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C + IL_00cf: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00d4: ldc.i4.1 + IL_00d5: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_00da: dup + IL_00db: ldc.i4.0 + IL_00dc: ldc.i4.0 + IL_00dd: ldnull + IL_00de: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_00e3: stelem.ref + IL_00e4: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::GetMember(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + string, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_00e9: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_00ee: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'<>o__10'::'<>p__0' + IL_00f3: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'<>o__10'::'<>p__0' + IL_00f8: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_00fd: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'<>o__10'::'<>p__0' + IL_0102: ldarg.1 + IL_0103: callvirt instance !2 class [mscorlib]System.Func`3::Invoke(!0, + !1) + IL_0108: callvirt instance !3 class [mscorlib]System.Func`4::Invoke(!0, + !1, + !2) + IL_010d: br.s IL_0110 + + IL_010f: ldloc.0 + IL_0110: callvirt instance void class [mscorlib]System.Action`3::Invoke(!0, + !1, + !2) + IL_0115: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'<>o__10'::'<>p__5' + IL_011a: brtrue.s IL_015b + + IL_011c: ldc.i4 0x100 + IL_0121: ldstr "WriteLine" + IL_0126: ldnull + IL_0127: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C + IL_012c: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0131: ldc.i4.2 + IL_0132: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_0137: dup + IL_0138: ldc.i4.0 + IL_0139: ldc.i4.s 33 + IL_013b: ldnull + IL_013c: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0141: stelem.ref + IL_0142: dup + IL_0143: ldc.i4.1 + IL_0144: ldc.i4.0 + IL_0145: ldnull + IL_0146: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_014b: stelem.ref + IL_014c: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::InvokeMember(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + string, + class [mscorlib]System.Collections.Generic.IEnumerable`1, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0151: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_0156: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'<>o__10'::'<>p__5' + IL_015b: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'<>o__10'::'<>p__5' + IL_0160: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_0165: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'<>o__10'::'<>p__5' + IL_016a: ldtoken [mscorlib]System.Console + IL_016f: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0174: ldc.i4.2 + IL_0175: call class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C::GetC(int32) + IL_017a: stloc.0 + IL_017b: ldloc.0 + IL_017c: call bool ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.BaseClass::op_True(class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.BaseClass) + IL_0181: brtrue IL_0225 + + IL_0186: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'<>o__10'::'<>p__4' + IL_018b: brtrue.s IL_01c3 + + IL_018d: ldc.i4.8 + IL_018e: ldc.i4.s 36 + IL_0190: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C + IL_0195: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_019a: ldc.i4.2 + IL_019b: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_01a0: dup + IL_01a1: ldc.i4.0 + IL_01a2: ldc.i4.1 + IL_01a3: ldnull + IL_01a4: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_01a9: stelem.ref + IL_01aa: dup + IL_01ab: ldc.i4.1 + IL_01ac: ldc.i4.0 + IL_01ad: ldnull + IL_01ae: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_01b3: stelem.ref + IL_01b4: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::BinaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_01b9: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_01be: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'<>o__10'::'<>p__4' + IL_01c3: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'<>o__10'::'<>p__4' + IL_01c8: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_01cd: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'<>o__10'::'<>p__4' + IL_01d2: ldloc.0 + IL_01d3: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'<>o__10'::'<>p__3' + IL_01d8: brtrue.s IL_0209 + + IL_01da: ldc.i4.0 + IL_01db: ldstr "P" + IL_01e0: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C + IL_01e5: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_01ea: ldc.i4.1 + IL_01eb: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_01f0: dup + IL_01f1: ldc.i4.0 + IL_01f2: ldc.i4.0 + IL_01f3: ldnull + IL_01f4: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_01f9: stelem.ref + IL_01fa: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::GetMember(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + string, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_01ff: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_0204: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'<>o__10'::'<>p__3' + IL_0209: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'<>o__10'::'<>p__3' + IL_020e: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_0213: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'<>o__10'::'<>p__3' + IL_0218: ldarg.1 + IL_0219: callvirt instance !2 class [mscorlib]System.Func`3::Invoke(!0, + !1) + IL_021e: callvirt instance !3 class [mscorlib]System.Func`4::Invoke(!0, + !1, + !2) + IL_0223: br.s IL_0226 + + IL_0225: ldloc.0 + IL_0226: callvirt instance void class [mscorlib]System.Action`3::Invoke(!0, + !1, + !2) + IL_022b: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'<>o__10'::'<>p__8' + IL_0230: brtrue.s IL_025e + + IL_0232: ldc.i4.0 + IL_0233: ldc.i4.s 83 + IL_0235: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C + IL_023a: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_023f: ldc.i4.1 + IL_0240: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_0245: dup + IL_0246: ldc.i4.0 + IL_0247: ldc.i4.0 + IL_0248: ldnull + IL_0249: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_024e: stelem.ref + IL_024f: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::UnaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0254: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_0259: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'<>o__10'::'<>p__8' + IL_025e: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'<>o__10'::'<>p__8' + IL_0263: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_0268: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'<>o__10'::'<>p__8' + IL_026d: ldc.i4.3 + IL_026e: call class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C::GetC(int32) + IL_0273: stloc.0 + IL_0274: ldloc.0 + IL_0275: call bool ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.BaseClass::op_False(class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.BaseClass) + IL_027a: brtrue IL_031d + + IL_027f: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'<>o__10'::'<>p__7' + IL_0284: brtrue.s IL_02bb + + IL_0286: ldc.i4.8 + IL_0287: ldc.i4.2 + IL_0288: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C + IL_028d: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0292: ldc.i4.2 + IL_0293: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_0298: dup + IL_0299: ldc.i4.0 + IL_029a: ldc.i4.1 + IL_029b: ldnull + IL_029c: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_02a1: stelem.ref + IL_02a2: dup + IL_02a3: ldc.i4.1 + IL_02a4: ldc.i4.0 + IL_02a5: ldnull + IL_02a6: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_02ab: stelem.ref + IL_02ac: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::BinaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_02b1: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_02b6: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'<>o__10'::'<>p__7' + IL_02bb: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'<>o__10'::'<>p__7' + IL_02c0: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_02c5: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'<>o__10'::'<>p__7' + IL_02ca: ldloc.0 + IL_02cb: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'<>o__10'::'<>p__6' + IL_02d0: brtrue.s IL_0301 + + IL_02d2: ldc.i4.0 + IL_02d3: ldstr "P" + IL_02d8: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C + IL_02dd: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_02e2: ldc.i4.1 + IL_02e3: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_02e8: dup + IL_02e9: ldc.i4.0 + IL_02ea: ldc.i4.0 + IL_02eb: ldnull + IL_02ec: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_02f1: stelem.ref + IL_02f2: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::GetMember(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + string, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_02f7: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_02fc: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'<>o__10'::'<>p__6' + IL_0301: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'<>o__10'::'<>p__6' + IL_0306: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_030b: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'<>o__10'::'<>p__6' + IL_0310: ldarg.1 + IL_0311: callvirt instance !2 class [mscorlib]System.Func`3::Invoke(!0, + !1) + IL_0316: callvirt instance !3 class [mscorlib]System.Func`4::Invoke(!0, + !1, + !2) + IL_031b: br.s IL_031e + + IL_031d: ldloc.0 + IL_031e: callvirt instance !2 class [mscorlib]System.Func`3::Invoke(!0, + !1) + IL_0323: brfalse.s IL_0330 + + IL_0325: ldc.i4.4 + IL_0326: call class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C::GetC(int32) + IL_032b: call void [mscorlib]System.Console::WriteLine(object) + IL_0330: ldc.i4.5 + IL_0331: call class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C::GetC(int32) + IL_0336: stloc.0 + IL_0337: ldloc.0 + IL_0338: call bool ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.BaseClass::op_True(class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.BaseClass) + IL_033d: brtrue IL_0428 + + IL_0342: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'<>o__10'::'<>p__11' + IL_0347: brtrue.s IL_0375 + + IL_0349: ldc.i4.0 + IL_034a: ldc.i4.s 83 + IL_034c: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C + IL_0351: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0356: ldc.i4.1 + IL_0357: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_035c: dup + IL_035d: ldc.i4.0 + IL_035e: ldc.i4.0 + IL_035f: ldnull + IL_0360: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0365: stelem.ref + IL_0366: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::UnaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_036b: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_0370: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'<>o__10'::'<>p__11' + IL_0375: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'<>o__10'::'<>p__11' + IL_037a: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_037f: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'<>o__10'::'<>p__11' + IL_0384: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'<>o__10'::'<>p__10' + IL_0389: brtrue.s IL_03c1 + + IL_038b: ldc.i4.8 + IL_038c: ldc.i4.s 36 + IL_038e: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C + IL_0393: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0398: ldc.i4.2 + IL_0399: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_039e: dup + IL_039f: ldc.i4.0 + IL_03a0: ldc.i4.1 + IL_03a1: ldnull + IL_03a2: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_03a7: stelem.ref + IL_03a8: dup + IL_03a9: ldc.i4.1 + IL_03aa: ldc.i4.0 + IL_03ab: ldnull + IL_03ac: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_03b1: stelem.ref + IL_03b2: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::BinaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_03b7: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_03bc: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'<>o__10'::'<>p__10' + IL_03c1: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'<>o__10'::'<>p__10' + IL_03c6: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_03cb: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'<>o__10'::'<>p__10' + IL_03d0: ldloc.0 + IL_03d1: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'<>o__10'::'<>p__9' + IL_03d6: brtrue.s IL_0407 + + IL_03d8: ldc.i4.0 + IL_03d9: ldstr "P" + IL_03de: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C + IL_03e3: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_03e8: ldc.i4.1 + IL_03e9: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_03ee: dup + IL_03ef: ldc.i4.0 + IL_03f0: ldc.i4.0 + IL_03f1: ldnull + IL_03f2: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_03f7: stelem.ref + IL_03f8: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::GetMember(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + string, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_03fd: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_0402: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'<>o__10'::'<>p__9' + IL_0407: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'<>o__10'::'<>p__9' + IL_040c: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_0411: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'<>o__10'::'<>p__9' + IL_0416: ldarg.1 + IL_0417: callvirt instance !2 class [mscorlib]System.Func`3::Invoke(!0, + !1) + IL_041c: callvirt instance !3 class [mscorlib]System.Func`4::Invoke(!0, + !1, + !2) + IL_0421: callvirt instance !2 class [mscorlib]System.Func`3::Invoke(!0, + !1) + IL_0426: brfalse.s IL_0433 + + IL_0428: ldc.i4.6 + IL_0429: call class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C::GetC(int32) + IL_042e: call void [mscorlib]System.Console::WriteLine(object) + IL_0433: ret + } // end of method C::WithDynamic + .method public hidebysig specialname rtspecialname instance void .ctor() cil managed { @@ -358,6 +854,24 @@ .class private sequential ansi sealed beforefieldinit ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S extends [mscorlib]System.ValueType { + .class abstract auto ansi sealed nested private beforefieldinit '<>o__11' + extends [mscorlib]System.Object + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__0' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__1' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__2' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__3' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__4' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__5' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__6' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__7' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__8' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__9' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__10' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__11' + } // end of class '<>o__11' + .field private initonly bool val .method public hidebysig specialname rtspecialname instance void .ctor(bool val) cil managed @@ -555,6 +1069,457 @@ IL_007f: ret } // end of method S::InConditionDetection + .method public hidebysig instance void + WithDynamic(object d) cil managed + { + .param [1] + .custom instance void [System.Core]System.Runtime.CompilerServices.DynamicAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 1101 (0x44d) + .maxstack 14 + .locals init (valuetype ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S V_0) + IL_0000: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'<>o__11'::'<>p__2' + IL_0005: brtrue.s IL_0046 + + IL_0007: ldc.i4 0x100 + IL_000c: ldstr "WriteLine" + IL_0011: ldnull + IL_0012: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S + IL_0017: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_001c: ldc.i4.2 + IL_001d: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_0022: dup + IL_0023: ldc.i4.0 + IL_0024: ldc.i4.s 33 + IL_0026: ldnull + IL_0027: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_002c: stelem.ref + IL_002d: dup + IL_002e: ldc.i4.1 + IL_002f: ldc.i4.0 + IL_0030: ldnull + IL_0031: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0036: stelem.ref + IL_0037: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::InvokeMember(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + string, + class [mscorlib]System.Collections.Generic.IEnumerable`1, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_003c: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_0041: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'<>o__11'::'<>p__2' + IL_0046: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'<>o__11'::'<>p__2' + IL_004b: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_0050: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'<>o__11'::'<>p__2' + IL_0055: ldtoken [mscorlib]System.Console + IL_005a: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_005f: ldc.i4.1 + IL_0060: call valuetype ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S::Get(int32) + IL_0065: stloc.0 + IL_0066: ldloc.0 + IL_0067: call bool ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S::op_False(valuetype ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S) + IL_006c: brtrue IL_010f + + IL_0071: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'<>o__11'::'<>p__1' + IL_0076: brtrue.s IL_00ad + + IL_0078: ldc.i4.8 + IL_0079: ldc.i4.2 + IL_007a: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S + IL_007f: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0084: ldc.i4.2 + IL_0085: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_008a: dup + IL_008b: ldc.i4.0 + IL_008c: ldc.i4.1 + IL_008d: ldnull + IL_008e: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0093: stelem.ref + IL_0094: dup + IL_0095: ldc.i4.1 + IL_0096: ldc.i4.0 + IL_0097: ldnull + IL_0098: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_009d: stelem.ref + IL_009e: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::BinaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_00a3: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_00a8: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'<>o__11'::'<>p__1' + IL_00ad: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'<>o__11'::'<>p__1' + IL_00b2: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_00b7: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'<>o__11'::'<>p__1' + IL_00bc: ldloc.0 + IL_00bd: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'<>o__11'::'<>p__0' + IL_00c2: brtrue.s IL_00f3 + + IL_00c4: ldc.i4.0 + IL_00c5: ldstr "P" + IL_00ca: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S + IL_00cf: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00d4: ldc.i4.1 + IL_00d5: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_00da: dup + IL_00db: ldc.i4.0 + IL_00dc: ldc.i4.0 + IL_00dd: ldnull + IL_00de: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_00e3: stelem.ref + IL_00e4: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::GetMember(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + string, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_00e9: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_00ee: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'<>o__11'::'<>p__0' + IL_00f3: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'<>o__11'::'<>p__0' + IL_00f8: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_00fd: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'<>o__11'::'<>p__0' + IL_0102: ldarg.1 + IL_0103: callvirt instance !2 class [mscorlib]System.Func`3::Invoke(!0, + !1) + IL_0108: callvirt instance !3 class [mscorlib]System.Func`4::Invoke(!0, + !1, + !2) + IL_010d: br.s IL_0115 + + IL_010f: ldloc.0 + IL_0110: box ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S + IL_0115: callvirt instance void class [mscorlib]System.Action`3::Invoke(!0, + !1, + !2) + IL_011a: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'<>o__11'::'<>p__5' + IL_011f: brtrue.s IL_0160 + + IL_0121: ldc.i4 0x100 + IL_0126: ldstr "WriteLine" + IL_012b: ldnull + IL_012c: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S + IL_0131: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0136: ldc.i4.2 + IL_0137: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_013c: dup + IL_013d: ldc.i4.0 + IL_013e: ldc.i4.s 33 + IL_0140: ldnull + IL_0141: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0146: stelem.ref + IL_0147: dup + IL_0148: ldc.i4.1 + IL_0149: ldc.i4.0 + IL_014a: ldnull + IL_014b: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0150: stelem.ref + IL_0151: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::InvokeMember(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + string, + class [mscorlib]System.Collections.Generic.IEnumerable`1, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0156: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_015b: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'<>o__11'::'<>p__5' + IL_0160: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'<>o__11'::'<>p__5' + IL_0165: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_016a: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'<>o__11'::'<>p__5' + IL_016f: ldtoken [mscorlib]System.Console + IL_0174: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0179: ldc.i4.2 + IL_017a: call valuetype ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S::Get(int32) + IL_017f: stloc.0 + IL_0180: ldloc.0 + IL_0181: call bool ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S::op_True(valuetype ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S) + IL_0186: brtrue IL_022a + + IL_018b: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'<>o__11'::'<>p__4' + IL_0190: brtrue.s IL_01c8 + + IL_0192: ldc.i4.8 + IL_0193: ldc.i4.s 36 + IL_0195: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S + IL_019a: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_019f: ldc.i4.2 + IL_01a0: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_01a5: dup + IL_01a6: ldc.i4.0 + IL_01a7: ldc.i4.1 + IL_01a8: ldnull + IL_01a9: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_01ae: stelem.ref + IL_01af: dup + IL_01b0: ldc.i4.1 + IL_01b1: ldc.i4.0 + IL_01b2: ldnull + IL_01b3: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_01b8: stelem.ref + IL_01b9: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::BinaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_01be: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_01c3: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'<>o__11'::'<>p__4' + IL_01c8: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'<>o__11'::'<>p__4' + IL_01cd: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_01d2: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'<>o__11'::'<>p__4' + IL_01d7: ldloc.0 + IL_01d8: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'<>o__11'::'<>p__3' + IL_01dd: brtrue.s IL_020e + + IL_01df: ldc.i4.0 + IL_01e0: ldstr "P" + IL_01e5: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S + IL_01ea: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_01ef: ldc.i4.1 + IL_01f0: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_01f5: dup + IL_01f6: ldc.i4.0 + IL_01f7: ldc.i4.0 + IL_01f8: ldnull + IL_01f9: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_01fe: stelem.ref + IL_01ff: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::GetMember(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + string, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0204: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_0209: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'<>o__11'::'<>p__3' + IL_020e: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'<>o__11'::'<>p__3' + IL_0213: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_0218: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'<>o__11'::'<>p__3' + IL_021d: ldarg.1 + IL_021e: callvirt instance !2 class [mscorlib]System.Func`3::Invoke(!0, + !1) + IL_0223: callvirt instance !3 class [mscorlib]System.Func`4::Invoke(!0, + !1, + !2) + IL_0228: br.s IL_0230 + + IL_022a: ldloc.0 + IL_022b: box ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S + IL_0230: callvirt instance void class [mscorlib]System.Action`3::Invoke(!0, + !1, + !2) + IL_0235: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'<>o__11'::'<>p__8' + IL_023a: brtrue.s IL_0268 + + IL_023c: ldc.i4.0 + IL_023d: ldc.i4.s 83 + IL_023f: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S + IL_0244: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0249: ldc.i4.1 + IL_024a: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_024f: dup + IL_0250: ldc.i4.0 + IL_0251: ldc.i4.0 + IL_0252: ldnull + IL_0253: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0258: stelem.ref + IL_0259: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::UnaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_025e: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_0263: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'<>o__11'::'<>p__8' + IL_0268: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'<>o__11'::'<>p__8' + IL_026d: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_0272: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'<>o__11'::'<>p__8' + IL_0277: ldc.i4.3 + IL_0278: call valuetype ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S::Get(int32) + IL_027d: stloc.0 + IL_027e: ldloc.0 + IL_027f: call bool ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S::op_False(valuetype ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S) + IL_0284: brtrue IL_0327 + + IL_0289: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'<>o__11'::'<>p__7' + IL_028e: brtrue.s IL_02c5 + + IL_0290: ldc.i4.8 + IL_0291: ldc.i4.2 + IL_0292: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S + IL_0297: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_029c: ldc.i4.2 + IL_029d: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_02a2: dup + IL_02a3: ldc.i4.0 + IL_02a4: ldc.i4.1 + IL_02a5: ldnull + IL_02a6: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_02ab: stelem.ref + IL_02ac: dup + IL_02ad: ldc.i4.1 + IL_02ae: ldc.i4.0 + IL_02af: ldnull + IL_02b0: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_02b5: stelem.ref + IL_02b6: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::BinaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_02bb: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_02c0: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'<>o__11'::'<>p__7' + IL_02c5: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'<>o__11'::'<>p__7' + IL_02ca: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_02cf: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'<>o__11'::'<>p__7' + IL_02d4: ldloc.0 + IL_02d5: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'<>o__11'::'<>p__6' + IL_02da: brtrue.s IL_030b + + IL_02dc: ldc.i4.0 + IL_02dd: ldstr "P" + IL_02e2: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S + IL_02e7: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_02ec: ldc.i4.1 + IL_02ed: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_02f2: dup + IL_02f3: ldc.i4.0 + IL_02f4: ldc.i4.0 + IL_02f5: ldnull + IL_02f6: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_02fb: stelem.ref + IL_02fc: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::GetMember(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + string, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0301: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_0306: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'<>o__11'::'<>p__6' + IL_030b: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'<>o__11'::'<>p__6' + IL_0310: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_0315: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'<>o__11'::'<>p__6' + IL_031a: ldarg.1 + IL_031b: callvirt instance !2 class [mscorlib]System.Func`3::Invoke(!0, + !1) + IL_0320: callvirt instance !3 class [mscorlib]System.Func`4::Invoke(!0, + !1, + !2) + IL_0325: br.s IL_032d + + IL_0327: ldloc.0 + IL_0328: box ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S + IL_032d: callvirt instance !2 class [mscorlib]System.Func`3::Invoke(!0, + !1) + IL_0332: brfalse.s IL_0344 + + IL_0334: ldc.i4.4 + IL_0335: call valuetype ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S::Get(int32) + IL_033a: box ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S + IL_033f: call void [mscorlib]System.Console::WriteLine(object) + IL_0344: ldc.i4.5 + IL_0345: call valuetype ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S::Get(int32) + IL_034a: stloc.0 + IL_034b: ldloc.0 + IL_034c: call bool ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S::op_True(valuetype ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S) + IL_0351: brtrue IL_043c + + IL_0356: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'<>o__11'::'<>p__11' + IL_035b: brtrue.s IL_0389 + + IL_035d: ldc.i4.0 + IL_035e: ldc.i4.s 83 + IL_0360: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S + IL_0365: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_036a: ldc.i4.1 + IL_036b: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_0370: dup + IL_0371: ldc.i4.0 + IL_0372: ldc.i4.0 + IL_0373: ldnull + IL_0374: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0379: stelem.ref + IL_037a: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::UnaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_037f: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_0384: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'<>o__11'::'<>p__11' + IL_0389: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'<>o__11'::'<>p__11' + IL_038e: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_0393: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'<>o__11'::'<>p__11' + IL_0398: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'<>o__11'::'<>p__10' + IL_039d: brtrue.s IL_03d5 + + IL_039f: ldc.i4.8 + IL_03a0: ldc.i4.s 36 + IL_03a2: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S + IL_03a7: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_03ac: ldc.i4.2 + IL_03ad: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_03b2: dup + IL_03b3: ldc.i4.0 + IL_03b4: ldc.i4.1 + IL_03b5: ldnull + IL_03b6: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_03bb: stelem.ref + IL_03bc: dup + IL_03bd: ldc.i4.1 + IL_03be: ldc.i4.0 + IL_03bf: ldnull + IL_03c0: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_03c5: stelem.ref + IL_03c6: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::BinaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_03cb: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_03d0: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'<>o__11'::'<>p__10' + IL_03d5: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'<>o__11'::'<>p__10' + IL_03da: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_03df: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'<>o__11'::'<>p__10' + IL_03e4: ldloc.0 + IL_03e5: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'<>o__11'::'<>p__9' + IL_03ea: brtrue.s IL_041b + + IL_03ec: ldc.i4.0 + IL_03ed: ldstr "P" + IL_03f2: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S + IL_03f7: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_03fc: ldc.i4.1 + IL_03fd: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_0402: dup + IL_0403: ldc.i4.0 + IL_0404: ldc.i4.0 + IL_0405: ldnull + IL_0406: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_040b: stelem.ref + IL_040c: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::GetMember(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + string, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0411: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_0416: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'<>o__11'::'<>p__9' + IL_041b: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'<>o__11'::'<>p__9' + IL_0420: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_0425: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'<>o__11'::'<>p__9' + IL_042a: ldarg.1 + IL_042b: callvirt instance !2 class [mscorlib]System.Func`3::Invoke(!0, + !1) + IL_0430: callvirt instance !3 class [mscorlib]System.Func`4::Invoke(!0, + !1, + !2) + IL_0435: callvirt instance !2 class [mscorlib]System.Func`3::Invoke(!0, + !1) + IL_043a: brfalse.s IL_044c + + IL_043c: ldc.i4.6 + IL_043d: call valuetype ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S::Get(int32) + IL_0442: box ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S + IL_0447: call void [mscorlib]System.Console::WriteLine(object) + IL_044c: ret + } // end of method S::WithDynamic + } // end of class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S diff --git a/ICSharpCode.Decompiler.Tests/TestCases/Pretty/CustomShortCircuitOperators.roslyn.il b/ICSharpCode.Decompiler.Tests/TestCases/Pretty/CustomShortCircuitOperators.roslyn.il index 4d279600b..3c9e421e2 100644 --- a/ICSharpCode.Decompiler.Tests/TestCases/Pretty/CustomShortCircuitOperators.roslyn.il +++ b/ICSharpCode.Decompiler.Tests/TestCases/Pretty/CustomShortCircuitOperators.roslyn.il @@ -8,6 +8,16 @@ .publickeytoken = (B7 7A 5C 56 19 34 E0 89 ) // .z\V.4.. .ver 4:0:0:0 } +.assembly extern System.Core +{ + .publickeytoken = (B7 7A 5C 56 19 34 E0 89 ) // .z\V.4.. + .ver 4:0:0:0 +} +.assembly extern Microsoft.CSharp +{ + .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A ) // .?_....: + .ver 4:0:0:0 +} .assembly CustomShortCircuitOperators { .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilationRelaxationsAttribute::.ctor(int32) = ( 01 00 08 00 00 00 00 00 ) @@ -82,6 +92,24 @@ .class private auto ansi beforefieldinit ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C extends ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.BaseClass { + .class abstract auto ansi sealed nested private beforefieldinit '<>o__10' + extends [mscorlib]System.Object + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__0' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__1' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__2' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__3' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__4' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__5' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__6' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__7' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__8' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__9' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__10' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__11' + } // end of class '<>o__10' + .method public hidebysig specialname static class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C op_BitwiseAnd(class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C x, @@ -334,65 +362,93 @@ .method private hidebysig static void Test2() cil managed { - // Code size 99 (0x63) + // Code size 166 (0xa6) .maxstack 2 - .locals init (class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C V_0, - bool V_1, - class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C V_2, + .locals init (bool V_0, + class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C V_1, + bool V_2, bool V_3) IL_0000: nop - IL_0001: newobj instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C::.ctor() - IL_0006: stloc.0 - IL_0007: ldloc.0 - IL_0008: stloc.2 - IL_0009: ldloc.2 - IL_000a: call bool ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.BaseClass::op_False(class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.BaseClass) - IL_000f: brtrue.s IL_001a + IL_0001: ldc.i4.1 + IL_0002: call class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C::GetC(int32) + IL_0007: stloc.1 + IL_0008: ldloc.1 + IL_0009: call bool ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.BaseClass::op_False(class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.BaseClass) + IL_000e: brtrue.s IL_001e - IL_0011: ldloc.2 - IL_0012: ldloc.0 - IL_0013: call class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C::op_BitwiseAnd(class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C, + IL_0010: ldloc.1 + IL_0011: ldc.i4.2 + IL_0012: call class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C::GetC(int32) + IL_0017: call class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C::op_BitwiseAnd(class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C, class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C) - IL_0018: br.s IL_001b - - IL_001a: ldloc.2 - IL_001b: call bool ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.BaseClass::op_True(class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.BaseClass) - IL_0020: stloc.1 - IL_0021: ldloc.1 - IL_0022: brfalse.s IL_0032 + IL_001c: br.s IL_001f - IL_0024: nop + IL_001e: ldloc.1 + IL_001f: call bool ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.BaseClass::op_True(class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.BaseClass) + IL_0024: stloc.0 IL_0025: ldloc.0 - IL_0026: callvirt instance string [mscorlib]System.Object::ToString() - IL_002b: call void [mscorlib]System.Console::WriteLine(string) - IL_0030: nop - IL_0031: nop - IL_0032: ldloc.0 - IL_0033: stloc.2 - IL_0034: ldloc.2 - IL_0035: call bool ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.BaseClass::op_False(class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.BaseClass) - IL_003a: brtrue.s IL_0045 - - IL_003c: ldloc.2 - IL_003d: ldloc.0 - IL_003e: call class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C::op_BitwiseAnd(class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C, + IL_0026: brfalse.s IL_0036 + + IL_0028: nop + IL_0029: ldc.i4.3 + IL_002a: call class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C::GetC(int32) + IL_002f: call void [mscorlib]System.Console::WriteLine(object) + IL_0034: nop + IL_0035: nop + IL_0036: ldc.i4.1 + IL_0037: call class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C::GetC(int32) + IL_003c: stloc.1 + IL_003d: ldloc.1 + IL_003e: call bool ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.BaseClass::op_True(class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.BaseClass) + IL_0043: brtrue.s IL_0053 + + IL_0045: ldloc.1 + IL_0046: ldc.i4.2 + IL_0047: call class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C::GetC(int32) + IL_004c: call class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C::op_BitwiseOr(class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C, + class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C) + IL_0051: br.s IL_0054 + + IL_0053: ldloc.1 + IL_0054: call bool ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.BaseClass::op_True(class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.BaseClass) + IL_0059: stloc.2 + IL_005a: ldloc.2 + IL_005b: brfalse.s IL_006b + + IL_005d: nop + IL_005e: ldc.i4.3 + IL_005f: call class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C::GetC(int32) + IL_0064: call void [mscorlib]System.Console::WriteLine(object) + IL_0069: nop + IL_006a: nop + IL_006b: ldc.i4.1 + IL_006c: call class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C::GetC(int32) + IL_0071: stloc.1 + IL_0072: ldloc.1 + IL_0073: call bool ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.BaseClass::op_False(class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.BaseClass) + IL_0078: brtrue.s IL_0088 + + IL_007a: ldloc.1 + IL_007b: ldc.i4.2 + IL_007c: call class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C::GetC(int32) + IL_0081: call class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C::op_BitwiseAnd(class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C, class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C) - IL_0043: br.s IL_0046 - - IL_0045: ldloc.2 - IL_0046: call class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C::op_LogicalNot(class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C) - IL_004b: call bool ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.BaseClass::op_True(class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.BaseClass) - IL_0050: stloc.3 - IL_0051: ldloc.3 - IL_0052: brfalse.s IL_0062 - - IL_0054: nop - IL_0055: ldloc.0 - IL_0056: callvirt instance string [mscorlib]System.Object::ToString() - IL_005b: call void [mscorlib]System.Console::WriteLine(string) - IL_0060: nop - IL_0061: nop - IL_0062: ret + IL_0086: br.s IL_0089 + + IL_0088: ldloc.1 + IL_0089: call class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C::op_LogicalNot(class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C) + IL_008e: call bool ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.BaseClass::op_True(class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.BaseClass) + IL_0093: stloc.3 + IL_0094: ldloc.3 + IL_0095: brfalse.s IL_00a5 + + IL_0097: nop + IL_0098: ldc.i4.3 + IL_0099: call class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C::GetC(int32) + IL_009e: call void [mscorlib]System.Console::WriteLine(object) + IL_00a3: nop + IL_00a4: nop + IL_00a5: ret } // end of method C::Test2 .method private hidebysig static void Test3() cil managed @@ -433,6 +489,494 @@ IL_003c: ret } // end of method C::Test3 + .method public hidebysig instance void + WithDynamic(object d) cil managed + { + .param [1] + .custom instance void [System.Core]System.Runtime.CompilerServices.DynamicAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 1116 (0x45c) + .maxstack 14 + .locals init (class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C V_0, + bool V_1, + bool V_2) + IL_0000: nop + IL_0001: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'<>o__10'::'<>p__2' + IL_0006: brfalse.s IL_000a + + IL_0008: br.s IL_0049 + + IL_000a: ldc.i4 0x100 + IL_000f: ldstr "WriteLine" + IL_0014: ldnull + IL_0015: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C + IL_001a: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_001f: ldc.i4.2 + IL_0020: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_0025: dup + IL_0026: ldc.i4.0 + IL_0027: ldc.i4.s 33 + IL_0029: ldnull + IL_002a: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_002f: stelem.ref + IL_0030: dup + IL_0031: ldc.i4.1 + IL_0032: ldc.i4.0 + IL_0033: ldnull + IL_0034: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0039: stelem.ref + IL_003a: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::InvokeMember(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + string, + class [mscorlib]System.Collections.Generic.IEnumerable`1, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_003f: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_0044: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'<>o__10'::'<>p__2' + IL_0049: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'<>o__10'::'<>p__2' + IL_004e: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_0053: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'<>o__10'::'<>p__2' + IL_0058: ldtoken [mscorlib]System.Console + IL_005d: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0062: ldc.i4.1 + IL_0063: call class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C::GetC(int32) + IL_0068: stloc.0 + IL_0069: ldloc.0 + IL_006a: call bool ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.BaseClass::op_False(class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.BaseClass) + IL_006f: brtrue IL_0116 + + IL_0074: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'<>o__10'::'<>p__1' + IL_0079: brfalse.s IL_007d + + IL_007b: br.s IL_00b2 + + IL_007d: ldc.i4.8 + IL_007e: ldc.i4.2 + IL_007f: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C + IL_0084: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0089: ldc.i4.2 + IL_008a: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_008f: dup + IL_0090: ldc.i4.0 + IL_0091: ldc.i4.1 + IL_0092: ldnull + IL_0093: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0098: stelem.ref + IL_0099: dup + IL_009a: ldc.i4.1 + IL_009b: ldc.i4.0 + IL_009c: ldnull + IL_009d: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_00a2: stelem.ref + IL_00a3: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::BinaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_00a8: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_00ad: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'<>o__10'::'<>p__1' + IL_00b2: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'<>o__10'::'<>p__1' + IL_00b7: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_00bc: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'<>o__10'::'<>p__1' + IL_00c1: ldloc.0 + IL_00c2: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'<>o__10'::'<>p__0' + IL_00c7: brfalse.s IL_00cb + + IL_00c9: br.s IL_00fa + + IL_00cb: ldc.i4.0 + IL_00cc: ldstr "P" + IL_00d1: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C + IL_00d6: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00db: ldc.i4.1 + IL_00dc: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_00e1: dup + IL_00e2: ldc.i4.0 + IL_00e3: ldc.i4.0 + IL_00e4: ldnull + IL_00e5: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_00ea: stelem.ref + IL_00eb: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::GetMember(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + string, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_00f0: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_00f5: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'<>o__10'::'<>p__0' + IL_00fa: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'<>o__10'::'<>p__0' + IL_00ff: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_0104: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'<>o__10'::'<>p__0' + IL_0109: ldarg.1 + IL_010a: callvirt instance !2 class [mscorlib]System.Func`3::Invoke(!0, + !1) + IL_010f: callvirt instance !3 class [mscorlib]System.Func`4::Invoke(!0, + !1, + !2) + IL_0114: br.s IL_0117 + + IL_0116: ldloc.0 + IL_0117: callvirt instance void class [mscorlib]System.Action`3::Invoke(!0, + !1, + !2) + IL_011c: nop + IL_011d: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'<>o__10'::'<>p__5' + IL_0122: brfalse.s IL_0126 + + IL_0124: br.s IL_0165 + + IL_0126: ldc.i4 0x100 + IL_012b: ldstr "WriteLine" + IL_0130: ldnull + IL_0131: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C + IL_0136: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_013b: ldc.i4.2 + IL_013c: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_0141: dup + IL_0142: ldc.i4.0 + IL_0143: ldc.i4.s 33 + IL_0145: ldnull + IL_0146: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_014b: stelem.ref + IL_014c: dup + IL_014d: ldc.i4.1 + IL_014e: ldc.i4.0 + IL_014f: ldnull + IL_0150: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0155: stelem.ref + IL_0156: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::InvokeMember(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + string, + class [mscorlib]System.Collections.Generic.IEnumerable`1, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_015b: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_0160: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'<>o__10'::'<>p__5' + IL_0165: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'<>o__10'::'<>p__5' + IL_016a: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_016f: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'<>o__10'::'<>p__5' + IL_0174: ldtoken [mscorlib]System.Console + IL_0179: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_017e: ldc.i4.2 + IL_017f: call class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C::GetC(int32) + IL_0184: stloc.0 + IL_0185: ldloc.0 + IL_0186: call bool ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.BaseClass::op_True(class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.BaseClass) + IL_018b: brtrue IL_0233 + + IL_0190: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'<>o__10'::'<>p__4' + IL_0195: brfalse.s IL_0199 + + IL_0197: br.s IL_01cf + + IL_0199: ldc.i4.8 + IL_019a: ldc.i4.s 36 + IL_019c: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C + IL_01a1: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_01a6: ldc.i4.2 + IL_01a7: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_01ac: dup + IL_01ad: ldc.i4.0 + IL_01ae: ldc.i4.1 + IL_01af: ldnull + IL_01b0: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_01b5: stelem.ref + IL_01b6: dup + IL_01b7: ldc.i4.1 + IL_01b8: ldc.i4.0 + IL_01b9: ldnull + IL_01ba: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_01bf: stelem.ref + IL_01c0: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::BinaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_01c5: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_01ca: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'<>o__10'::'<>p__4' + IL_01cf: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'<>o__10'::'<>p__4' + IL_01d4: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_01d9: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'<>o__10'::'<>p__4' + IL_01de: ldloc.0 + IL_01df: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'<>o__10'::'<>p__3' + IL_01e4: brfalse.s IL_01e8 + + IL_01e6: br.s IL_0217 + + IL_01e8: ldc.i4.0 + IL_01e9: ldstr "P" + IL_01ee: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C + IL_01f3: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_01f8: ldc.i4.1 + IL_01f9: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_01fe: dup + IL_01ff: ldc.i4.0 + IL_0200: ldc.i4.0 + IL_0201: ldnull + IL_0202: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0207: stelem.ref + IL_0208: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::GetMember(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + string, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_020d: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_0212: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'<>o__10'::'<>p__3' + IL_0217: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'<>o__10'::'<>p__3' + IL_021c: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_0221: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'<>o__10'::'<>p__3' + IL_0226: ldarg.1 + IL_0227: callvirt instance !2 class [mscorlib]System.Func`3::Invoke(!0, + !1) + IL_022c: callvirt instance !3 class [mscorlib]System.Func`4::Invoke(!0, + !1, + !2) + IL_0231: br.s IL_0234 + + IL_0233: ldloc.0 + IL_0234: callvirt instance void class [mscorlib]System.Action`3::Invoke(!0, + !1, + !2) + IL_0239: nop + IL_023a: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'<>o__10'::'<>p__8' + IL_023f: brfalse.s IL_0243 + + IL_0241: br.s IL_026f + + IL_0243: ldc.i4.0 + IL_0244: ldc.i4.s 83 + IL_0246: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C + IL_024b: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0250: ldc.i4.1 + IL_0251: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_0256: dup + IL_0257: ldc.i4.0 + IL_0258: ldc.i4.0 + IL_0259: ldnull + IL_025a: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_025f: stelem.ref + IL_0260: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::UnaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0265: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_026a: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'<>o__10'::'<>p__8' + IL_026f: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'<>o__10'::'<>p__8' + IL_0274: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_0279: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'<>o__10'::'<>p__8' + IL_027e: ldc.i4.3 + IL_027f: call class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C::GetC(int32) + IL_0284: stloc.0 + IL_0285: ldloc.0 + IL_0286: call bool ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.BaseClass::op_False(class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.BaseClass) + IL_028b: brtrue IL_0332 + + IL_0290: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'<>o__10'::'<>p__7' + IL_0295: brfalse.s IL_0299 + + IL_0297: br.s IL_02ce + + IL_0299: ldc.i4.8 + IL_029a: ldc.i4.2 + IL_029b: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C + IL_02a0: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_02a5: ldc.i4.2 + IL_02a6: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_02ab: dup + IL_02ac: ldc.i4.0 + IL_02ad: ldc.i4.1 + IL_02ae: ldnull + IL_02af: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_02b4: stelem.ref + IL_02b5: dup + IL_02b6: ldc.i4.1 + IL_02b7: ldc.i4.0 + IL_02b8: ldnull + IL_02b9: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_02be: stelem.ref + IL_02bf: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::BinaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_02c4: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_02c9: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'<>o__10'::'<>p__7' + IL_02ce: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'<>o__10'::'<>p__7' + IL_02d3: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_02d8: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'<>o__10'::'<>p__7' + IL_02dd: ldloc.0 + IL_02de: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'<>o__10'::'<>p__6' + IL_02e3: brfalse.s IL_02e7 + + IL_02e5: br.s IL_0316 + + IL_02e7: ldc.i4.0 + IL_02e8: ldstr "P" + IL_02ed: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C + IL_02f2: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_02f7: ldc.i4.1 + IL_02f8: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_02fd: dup + IL_02fe: ldc.i4.0 + IL_02ff: ldc.i4.0 + IL_0300: ldnull + IL_0301: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0306: stelem.ref + IL_0307: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::GetMember(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + string, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_030c: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_0311: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'<>o__10'::'<>p__6' + IL_0316: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'<>o__10'::'<>p__6' + IL_031b: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_0320: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'<>o__10'::'<>p__6' + IL_0325: ldarg.1 + IL_0326: callvirt instance !2 class [mscorlib]System.Func`3::Invoke(!0, + !1) + IL_032b: callvirt instance !3 class [mscorlib]System.Func`4::Invoke(!0, + !1, + !2) + IL_0330: br.s IL_0333 + + IL_0332: ldloc.0 + IL_0333: callvirt instance !2 class [mscorlib]System.Func`3::Invoke(!0, + !1) + IL_0338: stloc.1 + IL_0339: ldloc.1 + IL_033a: brfalse.s IL_034a + + IL_033c: nop + IL_033d: ldc.i4.4 + IL_033e: call class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C::GetC(int32) + IL_0343: call void [mscorlib]System.Console::WriteLine(object) + IL_0348: nop + IL_0349: nop + IL_034a: ldc.i4.5 + IL_034b: call class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C::GetC(int32) + IL_0350: stloc.0 + IL_0351: ldloc.0 + IL_0352: call bool ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.BaseClass::op_True(class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.BaseClass) + IL_0357: brtrue IL_0448 + + IL_035c: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'<>o__10'::'<>p__11' + IL_0361: brfalse.s IL_0365 + + IL_0363: br.s IL_0391 + + IL_0365: ldc.i4.0 + IL_0366: ldc.i4.s 83 + IL_0368: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C + IL_036d: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0372: ldc.i4.1 + IL_0373: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_0378: dup + IL_0379: ldc.i4.0 + IL_037a: ldc.i4.0 + IL_037b: ldnull + IL_037c: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0381: stelem.ref + IL_0382: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::UnaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0387: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_038c: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'<>o__10'::'<>p__11' + IL_0391: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'<>o__10'::'<>p__11' + IL_0396: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_039b: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'<>o__10'::'<>p__11' + IL_03a0: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'<>o__10'::'<>p__10' + IL_03a5: brfalse.s IL_03a9 + + IL_03a7: br.s IL_03df + + IL_03a9: ldc.i4.8 + IL_03aa: ldc.i4.s 36 + IL_03ac: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C + IL_03b1: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_03b6: ldc.i4.2 + IL_03b7: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_03bc: dup + IL_03bd: ldc.i4.0 + IL_03be: ldc.i4.1 + IL_03bf: ldnull + IL_03c0: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_03c5: stelem.ref + IL_03c6: dup + IL_03c7: ldc.i4.1 + IL_03c8: ldc.i4.0 + IL_03c9: ldnull + IL_03ca: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_03cf: stelem.ref + IL_03d0: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::BinaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_03d5: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_03da: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'<>o__10'::'<>p__10' + IL_03df: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'<>o__10'::'<>p__10' + IL_03e4: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_03e9: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'<>o__10'::'<>p__10' + IL_03ee: ldloc.0 + IL_03ef: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'<>o__10'::'<>p__9' + IL_03f4: brfalse.s IL_03f8 + + IL_03f6: br.s IL_0427 + + IL_03f8: ldc.i4.0 + IL_03f9: ldstr "P" + IL_03fe: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C + IL_0403: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0408: ldc.i4.1 + IL_0409: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_040e: dup + IL_040f: ldc.i4.0 + IL_0410: ldc.i4.0 + IL_0411: ldnull + IL_0412: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0417: stelem.ref + IL_0418: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::GetMember(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + string, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_041d: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_0422: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'<>o__10'::'<>p__9' + IL_0427: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'<>o__10'::'<>p__9' + IL_042c: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_0431: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C/'<>o__10'::'<>p__9' + IL_0436: ldarg.1 + IL_0437: callvirt instance !2 class [mscorlib]System.Func`3::Invoke(!0, + !1) + IL_043c: callvirt instance !3 class [mscorlib]System.Func`4::Invoke(!0, + !1, + !2) + IL_0441: callvirt instance !2 class [mscorlib]System.Func`3::Invoke(!0, + !1) + IL_0446: br.s IL_0449 + + IL_0448: ldc.i4.1 + IL_0449: stloc.2 + IL_044a: ldloc.2 + IL_044b: brfalse.s IL_045b + + IL_044d: nop + IL_044e: ldc.i4.6 + IL_044f: call class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.C::GetC(int32) + IL_0454: call void [mscorlib]System.Console::WriteLine(object) + IL_0459: nop + IL_045a: nop + IL_045b: ret + } // end of method C::WithDynamic + .method public hidebysig specialname rtspecialname instance void .ctor() cil managed { @@ -449,6 +993,24 @@ .class private sequential ansi sealed beforefieldinit ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S extends [mscorlib]System.ValueType { + .class abstract auto ansi sealed nested private beforefieldinit '<>o__11' + extends [mscorlib]System.Object + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__0' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__1' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__2' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__3' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__4' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__5' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__6' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__7' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__8' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__9' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__10' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__11' + } // end of class '<>o__11' + .field private initonly bool val .method public hidebysig specialname rtspecialname instance void .ctor(bool val) cil managed @@ -715,6 +1277,499 @@ IL_0092: ret } // end of method S::InConditionDetection + .method public hidebysig instance void + WithDynamic(object d) cil managed + { + .param [1] + .custom instance void [System.Core]System.Runtime.CompilerServices.DynamicAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 1141 (0x475) + .maxstack 14 + .locals init (valuetype ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S V_0, + bool V_1, + bool V_2) + IL_0000: nop + IL_0001: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'<>o__11'::'<>p__2' + IL_0006: brfalse.s IL_000a + + IL_0008: br.s IL_0049 + + IL_000a: ldc.i4 0x100 + IL_000f: ldstr "WriteLine" + IL_0014: ldnull + IL_0015: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S + IL_001a: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_001f: ldc.i4.2 + IL_0020: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_0025: dup + IL_0026: ldc.i4.0 + IL_0027: ldc.i4.s 33 + IL_0029: ldnull + IL_002a: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_002f: stelem.ref + IL_0030: dup + IL_0031: ldc.i4.1 + IL_0032: ldc.i4.0 + IL_0033: ldnull + IL_0034: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0039: stelem.ref + IL_003a: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::InvokeMember(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + string, + class [mscorlib]System.Collections.Generic.IEnumerable`1, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_003f: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_0044: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'<>o__11'::'<>p__2' + IL_0049: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'<>o__11'::'<>p__2' + IL_004e: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_0053: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'<>o__11'::'<>p__2' + IL_0058: ldtoken [mscorlib]System.Console + IL_005d: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0062: ldc.i4.1 + IL_0063: call valuetype ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S::Get(int32) + IL_0068: stloc.0 + IL_0069: ldloc.0 + IL_006a: call bool ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S::op_False(valuetype ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S) + IL_006f: brtrue IL_0116 + + IL_0074: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'<>o__11'::'<>p__1' + IL_0079: brfalse.s IL_007d + + IL_007b: br.s IL_00b2 + + IL_007d: ldc.i4.8 + IL_007e: ldc.i4.2 + IL_007f: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S + IL_0084: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0089: ldc.i4.2 + IL_008a: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_008f: dup + IL_0090: ldc.i4.0 + IL_0091: ldc.i4.1 + IL_0092: ldnull + IL_0093: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0098: stelem.ref + IL_0099: dup + IL_009a: ldc.i4.1 + IL_009b: ldc.i4.0 + IL_009c: ldnull + IL_009d: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_00a2: stelem.ref + IL_00a3: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::BinaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_00a8: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_00ad: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'<>o__11'::'<>p__1' + IL_00b2: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'<>o__11'::'<>p__1' + IL_00b7: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_00bc: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'<>o__11'::'<>p__1' + IL_00c1: ldloc.0 + IL_00c2: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'<>o__11'::'<>p__0' + IL_00c7: brfalse.s IL_00cb + + IL_00c9: br.s IL_00fa + + IL_00cb: ldc.i4.0 + IL_00cc: ldstr "P" + IL_00d1: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S + IL_00d6: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00db: ldc.i4.1 + IL_00dc: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_00e1: dup + IL_00e2: ldc.i4.0 + IL_00e3: ldc.i4.0 + IL_00e4: ldnull + IL_00e5: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_00ea: stelem.ref + IL_00eb: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::GetMember(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + string, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_00f0: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_00f5: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'<>o__11'::'<>p__0' + IL_00fa: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'<>o__11'::'<>p__0' + IL_00ff: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_0104: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'<>o__11'::'<>p__0' + IL_0109: ldarg.1 + IL_010a: callvirt instance !2 class [mscorlib]System.Func`3::Invoke(!0, + !1) + IL_010f: callvirt instance !3 class [mscorlib]System.Func`4::Invoke(!0, + !1, + !2) + IL_0114: br.s IL_011c + + IL_0116: ldloc.0 + IL_0117: box ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S + IL_011c: callvirt instance void class [mscorlib]System.Action`3::Invoke(!0, + !1, + !2) + IL_0121: nop + IL_0122: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'<>o__11'::'<>p__5' + IL_0127: brfalse.s IL_012b + + IL_0129: br.s IL_016a + + IL_012b: ldc.i4 0x100 + IL_0130: ldstr "WriteLine" + IL_0135: ldnull + IL_0136: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S + IL_013b: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0140: ldc.i4.2 + IL_0141: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_0146: dup + IL_0147: ldc.i4.0 + IL_0148: ldc.i4.s 33 + IL_014a: ldnull + IL_014b: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0150: stelem.ref + IL_0151: dup + IL_0152: ldc.i4.1 + IL_0153: ldc.i4.0 + IL_0154: ldnull + IL_0155: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_015a: stelem.ref + IL_015b: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::InvokeMember(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + string, + class [mscorlib]System.Collections.Generic.IEnumerable`1, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0160: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_0165: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'<>o__11'::'<>p__5' + IL_016a: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'<>o__11'::'<>p__5' + IL_016f: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_0174: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'<>o__11'::'<>p__5' + IL_0179: ldtoken [mscorlib]System.Console + IL_017e: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0183: ldc.i4.2 + IL_0184: call valuetype ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S::Get(int32) + IL_0189: stloc.0 + IL_018a: ldloc.0 + IL_018b: call bool ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S::op_True(valuetype ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S) + IL_0190: brtrue IL_0238 + + IL_0195: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'<>o__11'::'<>p__4' + IL_019a: brfalse.s IL_019e + + IL_019c: br.s IL_01d4 + + IL_019e: ldc.i4.8 + IL_019f: ldc.i4.s 36 + IL_01a1: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S + IL_01a6: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_01ab: ldc.i4.2 + IL_01ac: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_01b1: dup + IL_01b2: ldc.i4.0 + IL_01b3: ldc.i4.1 + IL_01b4: ldnull + IL_01b5: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_01ba: stelem.ref + IL_01bb: dup + IL_01bc: ldc.i4.1 + IL_01bd: ldc.i4.0 + IL_01be: ldnull + IL_01bf: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_01c4: stelem.ref + IL_01c5: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::BinaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_01ca: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_01cf: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'<>o__11'::'<>p__4' + IL_01d4: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'<>o__11'::'<>p__4' + IL_01d9: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_01de: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'<>o__11'::'<>p__4' + IL_01e3: ldloc.0 + IL_01e4: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'<>o__11'::'<>p__3' + IL_01e9: brfalse.s IL_01ed + + IL_01eb: br.s IL_021c + + IL_01ed: ldc.i4.0 + IL_01ee: ldstr "P" + IL_01f3: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S + IL_01f8: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_01fd: ldc.i4.1 + IL_01fe: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_0203: dup + IL_0204: ldc.i4.0 + IL_0205: ldc.i4.0 + IL_0206: ldnull + IL_0207: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_020c: stelem.ref + IL_020d: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::GetMember(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + string, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0212: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_0217: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'<>o__11'::'<>p__3' + IL_021c: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'<>o__11'::'<>p__3' + IL_0221: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_0226: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'<>o__11'::'<>p__3' + IL_022b: ldarg.1 + IL_022c: callvirt instance !2 class [mscorlib]System.Func`3::Invoke(!0, + !1) + IL_0231: callvirt instance !3 class [mscorlib]System.Func`4::Invoke(!0, + !1, + !2) + IL_0236: br.s IL_023e + + IL_0238: ldloc.0 + IL_0239: box ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S + IL_023e: callvirt instance void class [mscorlib]System.Action`3::Invoke(!0, + !1, + !2) + IL_0243: nop + IL_0244: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'<>o__11'::'<>p__8' + IL_0249: brfalse.s IL_024d + + IL_024b: br.s IL_0279 + + IL_024d: ldc.i4.0 + IL_024e: ldc.i4.s 83 + IL_0250: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S + IL_0255: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_025a: ldc.i4.1 + IL_025b: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_0260: dup + IL_0261: ldc.i4.0 + IL_0262: ldc.i4.0 + IL_0263: ldnull + IL_0264: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0269: stelem.ref + IL_026a: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::UnaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_026f: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_0274: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'<>o__11'::'<>p__8' + IL_0279: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'<>o__11'::'<>p__8' + IL_027e: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_0283: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'<>o__11'::'<>p__8' + IL_0288: ldc.i4.3 + IL_0289: call valuetype ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S::Get(int32) + IL_028e: stloc.0 + IL_028f: ldloc.0 + IL_0290: call bool ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S::op_False(valuetype ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S) + IL_0295: brtrue IL_033c + + IL_029a: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'<>o__11'::'<>p__7' + IL_029f: brfalse.s IL_02a3 + + IL_02a1: br.s IL_02d8 + + IL_02a3: ldc.i4.8 + IL_02a4: ldc.i4.2 + IL_02a5: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S + IL_02aa: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_02af: ldc.i4.2 + IL_02b0: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_02b5: dup + IL_02b6: ldc.i4.0 + IL_02b7: ldc.i4.1 + IL_02b8: ldnull + IL_02b9: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_02be: stelem.ref + IL_02bf: dup + IL_02c0: ldc.i4.1 + IL_02c1: ldc.i4.0 + IL_02c2: ldnull + IL_02c3: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_02c8: stelem.ref + IL_02c9: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::BinaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_02ce: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_02d3: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'<>o__11'::'<>p__7' + IL_02d8: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'<>o__11'::'<>p__7' + IL_02dd: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_02e2: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'<>o__11'::'<>p__7' + IL_02e7: ldloc.0 + IL_02e8: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'<>o__11'::'<>p__6' + IL_02ed: brfalse.s IL_02f1 + + IL_02ef: br.s IL_0320 + + IL_02f1: ldc.i4.0 + IL_02f2: ldstr "P" + IL_02f7: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S + IL_02fc: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0301: ldc.i4.1 + IL_0302: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_0307: dup + IL_0308: ldc.i4.0 + IL_0309: ldc.i4.0 + IL_030a: ldnull + IL_030b: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0310: stelem.ref + IL_0311: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::GetMember(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + string, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0316: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_031b: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'<>o__11'::'<>p__6' + IL_0320: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'<>o__11'::'<>p__6' + IL_0325: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_032a: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'<>o__11'::'<>p__6' + IL_032f: ldarg.1 + IL_0330: callvirt instance !2 class [mscorlib]System.Func`3::Invoke(!0, + !1) + IL_0335: callvirt instance !3 class [mscorlib]System.Func`4::Invoke(!0, + !1, + !2) + IL_033a: br.s IL_0342 + + IL_033c: ldloc.0 + IL_033d: box ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S + IL_0342: callvirt instance !2 class [mscorlib]System.Func`3::Invoke(!0, + !1) + IL_0347: stloc.1 + IL_0348: ldloc.1 + IL_0349: brfalse.s IL_035e + + IL_034b: nop + IL_034c: ldc.i4.4 + IL_034d: call valuetype ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S::Get(int32) + IL_0352: box ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S + IL_0357: call void [mscorlib]System.Console::WriteLine(object) + IL_035c: nop + IL_035d: nop + IL_035e: ldc.i4.5 + IL_035f: call valuetype ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S::Get(int32) + IL_0364: stloc.0 + IL_0365: ldloc.0 + IL_0366: call bool ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S::op_True(valuetype ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S) + IL_036b: brtrue IL_045c + + IL_0370: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'<>o__11'::'<>p__11' + IL_0375: brfalse.s IL_0379 + + IL_0377: br.s IL_03a5 + + IL_0379: ldc.i4.0 + IL_037a: ldc.i4.s 83 + IL_037c: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S + IL_0381: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0386: ldc.i4.1 + IL_0387: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_038c: dup + IL_038d: ldc.i4.0 + IL_038e: ldc.i4.0 + IL_038f: ldnull + IL_0390: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0395: stelem.ref + IL_0396: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::UnaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_039b: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_03a0: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'<>o__11'::'<>p__11' + IL_03a5: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'<>o__11'::'<>p__11' + IL_03aa: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_03af: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'<>o__11'::'<>p__11' + IL_03b4: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'<>o__11'::'<>p__10' + IL_03b9: brfalse.s IL_03bd + + IL_03bb: br.s IL_03f3 + + IL_03bd: ldc.i4.8 + IL_03be: ldc.i4.s 36 + IL_03c0: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S + IL_03c5: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_03ca: ldc.i4.2 + IL_03cb: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_03d0: dup + IL_03d1: ldc.i4.0 + IL_03d2: ldc.i4.1 + IL_03d3: ldnull + IL_03d4: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_03d9: stelem.ref + IL_03da: dup + IL_03db: ldc.i4.1 + IL_03dc: ldc.i4.0 + IL_03dd: ldnull + IL_03de: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_03e3: stelem.ref + IL_03e4: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::BinaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_03e9: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_03ee: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'<>o__11'::'<>p__10' + IL_03f3: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'<>o__11'::'<>p__10' + IL_03f8: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_03fd: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'<>o__11'::'<>p__10' + IL_0402: ldloc.0 + IL_0403: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'<>o__11'::'<>p__9' + IL_0408: brfalse.s IL_040c + + IL_040a: br.s IL_043b + + IL_040c: ldc.i4.0 + IL_040d: ldstr "P" + IL_0412: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S + IL_0417: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_041c: ldc.i4.1 + IL_041d: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_0422: dup + IL_0423: ldc.i4.0 + IL_0424: ldc.i4.0 + IL_0425: ldnull + IL_0426: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_042b: stelem.ref + IL_042c: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::GetMember(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + string, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0431: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_0436: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'<>o__11'::'<>p__9' + IL_043b: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'<>o__11'::'<>p__9' + IL_0440: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_0445: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S/'<>o__11'::'<>p__9' + IL_044a: ldarg.1 + IL_044b: callvirt instance !2 class [mscorlib]System.Func`3::Invoke(!0, + !1) + IL_0450: callvirt instance !3 class [mscorlib]System.Func`4::Invoke(!0, + !1, + !2) + IL_0455: callvirt instance !2 class [mscorlib]System.Func`3::Invoke(!0, + !1) + IL_045a: br.s IL_045d + + IL_045c: ldc.i4.1 + IL_045d: stloc.2 + IL_045e: ldloc.2 + IL_045f: brfalse.s IL_0474 + + IL_0461: nop + IL_0462: ldc.i4.6 + IL_0463: call valuetype ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S::Get(int32) + IL_0468: box ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S + IL_046d: call void [mscorlib]System.Console::WriteLine(object) + IL_0472: nop + IL_0473: nop + IL_0474: ret + } // end of method S::WithDynamic + } // end of class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomShortCircuitOperators.S diff --git a/ICSharpCode.Decompiler.Tests/TestCases/Pretty/DynamicTests.cs b/ICSharpCode.Decompiler.Tests/TestCases/Pretty/DynamicTests.cs index 2c9f6ead6..f52159c98 100644 --- a/ICSharpCode.Decompiler.Tests/TestCases/Pretty/DynamicTests.cs +++ b/ICSharpCode.Decompiler.Tests/TestCases/Pretty/DynamicTests.cs @@ -369,10 +369,71 @@ namespace ICSharpCode.Decompiler.Tests.TestCases.Pretty private static void If2(dynamic a, dynamic b) { - // TODO : beautify complex conditions - //if (a == null || b == null) { - // Console.WriteLine("Equal"); - //} + if (a == null || b == null) { + Console.WriteLine("One is null"); + } + } + + private static void If3(dynamic a, dynamic b) + { + if (a == null && b == null) { + Console.WriteLine("Both are null"); + } + } + + private static void If4(dynamic a, dynamic b) + { + if ((a == null || b == null) && GetDynamic(1) && !(GetDynamic(2) && GetDynamic(3))) { + Console.WriteLine("then"); + } else { + Console.WriteLine("else"); + } + } + + private static dynamic GetDynamic(int i) + { + return null; + } + + private static bool GetBool(int i) + { + return false; + } + + private static dynamic LogicAnd() + { + return GetDynamic(1) && GetDynamic(2); + } + + private static dynamic LogicAnd(dynamic a, dynamic b) + { + return a && b; + } + + private static void LogicAndExtended(int i, dynamic d) + { + Console.WriteLine(GetDynamic(1) && GetDynamic(2)); + Console.WriteLine(GetDynamic(1) && GetBool(2)); + Console.WriteLine(GetBool(1) && GetDynamic(2)); + Console.WriteLine(i == 1 && d == null); + } + + private static dynamic LogicOr() + { + return GetDynamic(1) || GetDynamic(2); + } + + private static dynamic LogicOr(dynamic a, dynamic b) + { + return a || b; + } + + private static void LogicOrExtended(int i, dynamic d) + { + Console.WriteLine(GetDynamic(1) || GetDynamic(2)); + Console.WriteLine(GetDynamic(1) || GetBool(2)); + Console.WriteLine(GetBool(1) || GetDynamic(2)); + Console.WriteLine(i == 1 || d == null); } } } diff --git a/ICSharpCode.Decompiler.Tests/TestCases/Pretty/DynamicTests.il b/ICSharpCode.Decompiler.Tests/TestCases/Pretty/DynamicTests.il index ff8e223d8..c907db66f 100644 --- a/ICSharpCode.Decompiler.Tests/TestCases/Pretty/DynamicTests.il +++ b/ICSharpCode.Decompiler.Tests/TestCases/Pretty/DynamicTests.il @@ -21,9 +21,9 @@ .assembly DynamicTests { .custom instance void [mscorlib]System.Runtime.CompilerServices.ExtensionAttribute::.ctor() = ( 01 00 00 00 ) - .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. + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilationRelaxationsAttribute::.ctor(int32) = ( 01 00 08 00 00 00 00 00 ) .permissionset reqmin = {[mscorlib]System.Security.Permissions.SecurityPermissionAttribute = {property bool 'SkipVerification' = bool(true)}} .hash algorithm 0x00008004 @@ -696,6 +696,112 @@ .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__Site13e' } // end of class 'o__SiteContainer13c' + .class abstract auto ansi sealed nested private beforefieldinit 'o__SiteContainer13f' + extends [mscorlib]System.Object + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__Site140' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__Site141' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__Site142' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__Site143' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__Site144' + } // end of class 'o__SiteContainer13f' + + .class abstract auto ansi sealed nested private beforefieldinit 'o__SiteContainer145' + extends [mscorlib]System.Object + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__Site146' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__Site147' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__Site148' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__Site149' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__Site14a' + } // end of class 'o__SiteContainer145' + + .class abstract auto ansi sealed nested private beforefieldinit 'o__SiteContainer14b' + extends [mscorlib]System.Object + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__Site14c' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__Site14d' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__Site14e' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__Site14f' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__Site150' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__Site151' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__Site152' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__Site153' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__Site154' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__Site155' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__Site156' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__Site157' + } // end of class 'o__SiteContainer14b' + + .class abstract auto ansi sealed nested private beforefieldinit 'o__SiteContainer158' + extends [mscorlib]System.Object + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__Site159' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__Site15a' + } // end of class 'o__SiteContainer158' + + .class abstract auto ansi sealed nested private beforefieldinit 'o__SiteContainer15b' + extends [mscorlib]System.Object + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__Site15c' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__Site15d' + } // end of class 'o__SiteContainer15b' + + .class abstract auto ansi sealed nested private beforefieldinit 'o__SiteContainer15e' + extends [mscorlib]System.Object + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__Site15f' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__Site160' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__Site161' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__Site162' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__Site163' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__Site164' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__Site165' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__Site166' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__Site167' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__Site168' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__Site169' + } // end of class 'o__SiteContainer15e' + + .class abstract auto ansi sealed nested private beforefieldinit 'o__SiteContainer16a' + extends [mscorlib]System.Object + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__Site16b' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__Site16c' + } // end of class 'o__SiteContainer16a' + + .class abstract auto ansi sealed nested private beforefieldinit 'o__SiteContainer16d' + extends [mscorlib]System.Object + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__Site16e' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__Site16f' + } // end of class 'o__SiteContainer16d' + + .class abstract auto ansi sealed nested private beforefieldinit 'o__SiteContainer170' + extends [mscorlib]System.Object + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__Site171' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__Site172' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__Site173' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__Site174' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__Site175' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__Site176' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__Site177' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__Site178' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__Site179' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__Site17a' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__Site17b' + } // end of class 'o__SiteContainer170' + .field private static object 'field' .custom instance void [System.Core]System.Runtime.CompilerServices.DynamicAttribute::.ctor() = ( 01 00 00 00 ) .field private static object objectField @@ -13117,12 +13223,2383 @@ .custom instance void [System.Core]System.Runtime.CompilerServices.DynamicAttribute::.ctor() = ( 01 00 00 00 ) .param [2] .custom instance void [System.Core]System.Runtime.CompilerServices.DynamicAttribute::.ctor() = ( 01 00 00 00 ) - // Code size 2 (0x2) - .maxstack 8 + // Code size 443 (0x1bb) + .maxstack 12 + .locals init (class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo[] V_0, + object V_1, + bool V_2) IL_0000: nop - IL_0001: ret + IL_0001: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer13f'::'<>p__Site140' + IL_0006: brtrue.s IL_0038 + + IL_0008: ldc.i4.0 + IL_0009: ldc.i4.s 83 + IL_000b: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_0010: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0015: ldc.i4.1 + IL_0016: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_001b: stloc.0 + IL_001c: ldloc.0 + IL_001d: ldc.i4.0 + IL_001e: ldc.i4.0 + IL_001f: ldnull + IL_0020: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0025: stelem.ref + IL_0026: ldloc.0 + IL_0027: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::UnaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_002c: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_0031: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer13f'::'<>p__Site140' + IL_0036: br.s IL_0038 + + IL_0038: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer13f'::'<>p__Site140' + IL_003d: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_0042: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer13f'::'<>p__Site140' + IL_0047: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer13f'::'<>p__Site141' + IL_004c: brtrue.s IL_0088 + + IL_004e: ldc.i4.0 + IL_004f: ldc.i4.s 13 + IL_0051: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_0056: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_005b: ldc.i4.2 + IL_005c: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_0061: stloc.0 + IL_0062: ldloc.0 + IL_0063: ldc.i4.0 + IL_0064: ldc.i4.0 + IL_0065: ldnull + IL_0066: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_006b: stelem.ref + IL_006c: ldloc.0 + IL_006d: ldc.i4.1 + IL_006e: ldc.i4.2 + IL_006f: ldnull + IL_0070: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0075: stelem.ref + IL_0076: ldloc.0 + IL_0077: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::BinaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_007c: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_0081: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer13f'::'<>p__Site141' + IL_0086: br.s IL_0088 + + IL_0088: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer13f'::'<>p__Site141' + IL_008d: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_0092: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer13f'::'<>p__Site141' + IL_0097: ldarg.0 + IL_0098: ldnull + IL_0099: callvirt instance !3 class [mscorlib]System.Func`4::Invoke(!0, + !1, + !2) + IL_009e: stloc.1 + IL_009f: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer13f'::'<>p__Site142' + IL_00a4: brtrue.s IL_00d6 + + IL_00a6: ldc.i4.0 + IL_00a7: ldc.i4.s 83 + IL_00a9: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_00ae: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00b3: ldc.i4.1 + IL_00b4: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_00b9: stloc.0 + IL_00ba: ldloc.0 + IL_00bb: ldc.i4.0 + IL_00bc: ldc.i4.0 + IL_00bd: ldnull + IL_00be: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_00c3: stelem.ref + IL_00c4: ldloc.0 + IL_00c5: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::UnaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_00ca: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_00cf: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer13f'::'<>p__Site142' + IL_00d4: br.s IL_00d6 + + IL_00d6: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer13f'::'<>p__Site142' + IL_00db: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_00e0: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer13f'::'<>p__Site142' + IL_00e5: ldloc.1 + IL_00e6: callvirt instance !2 class [mscorlib]System.Func`3::Invoke(!0, + !1) + IL_00eb: brtrue IL_019f + + IL_00f0: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer13f'::'<>p__Site143' + IL_00f5: brtrue.s IL_0131 + + IL_00f7: ldc.i4.8 + IL_00f8: ldc.i4.s 36 + IL_00fa: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_00ff: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0104: ldc.i4.2 + IL_0105: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_010a: stloc.0 + IL_010b: ldloc.0 + IL_010c: ldc.i4.0 + IL_010d: ldc.i4.0 + IL_010e: ldnull + IL_010f: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0114: stelem.ref + IL_0115: ldloc.0 + IL_0116: ldc.i4.1 + IL_0117: ldc.i4.0 + IL_0118: ldnull + IL_0119: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_011e: stelem.ref + IL_011f: ldloc.0 + IL_0120: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::BinaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0125: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_012a: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer13f'::'<>p__Site143' + IL_012f: br.s IL_0131 + + IL_0131: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer13f'::'<>p__Site143' + IL_0136: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_013b: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer13f'::'<>p__Site143' + IL_0140: ldloc.1 + IL_0141: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer13f'::'<>p__Site144' + IL_0146: brtrue.s IL_0182 + + IL_0148: ldc.i4.0 + IL_0149: ldc.i4.s 13 + IL_014b: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_0150: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0155: ldc.i4.2 + IL_0156: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_015b: stloc.0 + IL_015c: ldloc.0 + IL_015d: ldc.i4.0 + IL_015e: ldc.i4.0 + IL_015f: ldnull + IL_0160: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0165: stelem.ref + IL_0166: ldloc.0 + IL_0167: ldc.i4.1 + IL_0168: ldc.i4.2 + IL_0169: ldnull + IL_016a: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_016f: stelem.ref + IL_0170: ldloc.0 + IL_0171: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::BinaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0176: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_017b: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer13f'::'<>p__Site144' + IL_0180: br.s IL_0182 + + IL_0182: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer13f'::'<>p__Site144' + IL_0187: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_018c: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer13f'::'<>p__Site144' + IL_0191: ldarg.1 + IL_0192: ldnull + IL_0193: callvirt instance !3 class [mscorlib]System.Func`4::Invoke(!0, + !1, + !2) + IL_0198: callvirt instance !3 class [mscorlib]System.Func`4::Invoke(!0, + !1, + !2) + IL_019d: br.s IL_01a0 + + IL_019f: ldloc.1 + IL_01a0: nop + IL_01a1: callvirt instance !2 class [mscorlib]System.Func`3::Invoke(!0, + !1) + IL_01a6: ldc.i4.0 + IL_01a7: ceq + IL_01a9: stloc.2 + IL_01aa: ldloc.2 + IL_01ab: brtrue.s IL_01ba + + IL_01ad: nop + IL_01ae: ldstr "One is null" + IL_01b3: call void [mscorlib]System.Console::WriteLine(string) + IL_01b8: nop + IL_01b9: nop + IL_01ba: ret } // end of method DynamicTests::If2 + .method private hidebysig static void If3(object a, + object b) cil managed + { + .param [1] + .custom instance void [System.Core]System.Runtime.CompilerServices.DynamicAttribute::.ctor() = ( 01 00 00 00 ) + .param [2] + .custom instance void [System.Core]System.Runtime.CompilerServices.DynamicAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 442 (0x1ba) + .maxstack 12 + .locals init (class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo[] V_0, + object V_1, + bool V_2) + IL_0000: nop + IL_0001: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer145'::'<>p__Site146' + IL_0006: brtrue.s IL_0038 + + IL_0008: ldc.i4.0 + IL_0009: ldc.i4.s 83 + IL_000b: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_0010: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0015: ldc.i4.1 + IL_0016: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_001b: stloc.0 + IL_001c: ldloc.0 + IL_001d: ldc.i4.0 + IL_001e: ldc.i4.0 + IL_001f: ldnull + IL_0020: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0025: stelem.ref + IL_0026: ldloc.0 + IL_0027: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::UnaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_002c: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_0031: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer145'::'<>p__Site146' + IL_0036: br.s IL_0038 + + IL_0038: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer145'::'<>p__Site146' + IL_003d: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_0042: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer145'::'<>p__Site146' + IL_0047: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer145'::'<>p__Site147' + IL_004c: brtrue.s IL_0088 + + IL_004e: ldc.i4.0 + IL_004f: ldc.i4.s 13 + IL_0051: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_0056: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_005b: ldc.i4.2 + IL_005c: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_0061: stloc.0 + IL_0062: ldloc.0 + IL_0063: ldc.i4.0 + IL_0064: ldc.i4.0 + IL_0065: ldnull + IL_0066: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_006b: stelem.ref + IL_006c: ldloc.0 + IL_006d: ldc.i4.1 + IL_006e: ldc.i4.2 + IL_006f: ldnull + IL_0070: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0075: stelem.ref + IL_0076: ldloc.0 + IL_0077: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::BinaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_007c: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_0081: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer145'::'<>p__Site147' + IL_0086: br.s IL_0088 + + IL_0088: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer145'::'<>p__Site147' + IL_008d: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_0092: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer145'::'<>p__Site147' + IL_0097: ldarg.0 + IL_0098: ldnull + IL_0099: callvirt instance !3 class [mscorlib]System.Func`4::Invoke(!0, + !1, + !2) + IL_009e: stloc.1 + IL_009f: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer145'::'<>p__Site148' + IL_00a4: brtrue.s IL_00d6 + + IL_00a6: ldc.i4.0 + IL_00a7: ldc.i4.s 84 + IL_00a9: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_00ae: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00b3: ldc.i4.1 + IL_00b4: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_00b9: stloc.0 + IL_00ba: ldloc.0 + IL_00bb: ldc.i4.0 + IL_00bc: ldc.i4.0 + IL_00bd: ldnull + IL_00be: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_00c3: stelem.ref + IL_00c4: ldloc.0 + IL_00c5: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::UnaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_00ca: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_00cf: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer145'::'<>p__Site148' + IL_00d4: br.s IL_00d6 + + IL_00d6: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer145'::'<>p__Site148' + IL_00db: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_00e0: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer145'::'<>p__Site148' + IL_00e5: ldloc.1 + IL_00e6: callvirt instance !2 class [mscorlib]System.Func`3::Invoke(!0, + !1) + IL_00eb: brtrue IL_019e + + IL_00f0: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer145'::'<>p__Site149' + IL_00f5: brtrue.s IL_0130 + + IL_00f7: ldc.i4.8 + IL_00f8: ldc.i4.2 + IL_00f9: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_00fe: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0103: ldc.i4.2 + IL_0104: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_0109: stloc.0 + IL_010a: ldloc.0 + IL_010b: ldc.i4.0 + IL_010c: ldc.i4.0 + IL_010d: ldnull + IL_010e: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0113: stelem.ref + IL_0114: ldloc.0 + IL_0115: ldc.i4.1 + IL_0116: ldc.i4.0 + IL_0117: ldnull + IL_0118: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_011d: stelem.ref + IL_011e: ldloc.0 + IL_011f: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::BinaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0124: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_0129: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer145'::'<>p__Site149' + IL_012e: br.s IL_0130 + + IL_0130: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer145'::'<>p__Site149' + IL_0135: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_013a: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer145'::'<>p__Site149' + IL_013f: ldloc.1 + IL_0140: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer145'::'<>p__Site14a' + IL_0145: brtrue.s IL_0181 + + IL_0147: ldc.i4.0 + IL_0148: ldc.i4.s 13 + IL_014a: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_014f: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0154: ldc.i4.2 + IL_0155: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_015a: stloc.0 + IL_015b: ldloc.0 + IL_015c: ldc.i4.0 + IL_015d: ldc.i4.0 + IL_015e: ldnull + IL_015f: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0164: stelem.ref + IL_0165: ldloc.0 + IL_0166: ldc.i4.1 + IL_0167: ldc.i4.2 + IL_0168: ldnull + IL_0169: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_016e: stelem.ref + IL_016f: ldloc.0 + IL_0170: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::BinaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0175: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_017a: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer145'::'<>p__Site14a' + IL_017f: br.s IL_0181 + + IL_0181: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer145'::'<>p__Site14a' + IL_0186: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_018b: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer145'::'<>p__Site14a' + IL_0190: ldarg.1 + IL_0191: ldnull + IL_0192: callvirt instance !3 class [mscorlib]System.Func`4::Invoke(!0, + !1, + !2) + IL_0197: callvirt instance !3 class [mscorlib]System.Func`4::Invoke(!0, + !1, + !2) + IL_019c: br.s IL_019f + + IL_019e: ldloc.1 + IL_019f: nop + IL_01a0: callvirt instance !2 class [mscorlib]System.Func`3::Invoke(!0, + !1) + IL_01a5: ldc.i4.0 + IL_01a6: ceq + IL_01a8: stloc.2 + IL_01a9: ldloc.2 + IL_01aa: brtrue.s IL_01b9 + + IL_01ac: nop + IL_01ad: ldstr "Both are null" + IL_01b2: call void [mscorlib]System.Console::WriteLine(string) + IL_01b7: nop + IL_01b8: nop + IL_01b9: ret + } // end of method DynamicTests::If3 + + .method private hidebysig static void If4(object a, + object b) cil managed + { + .param [1] + .custom instance void [System.Core]System.Runtime.CompilerServices.DynamicAttribute::.ctor() = ( 01 00 00 00 ) + .param [2] + .custom instance void [System.Core]System.Runtime.CompilerServices.DynamicAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 1058 (0x422) + .maxstack 14 + .locals init (class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo[] V_0, + object V_1, + object V_2, + bool V_3) + IL_0000: nop + IL_0001: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer14b'::'<>p__Site14c' + IL_0006: brtrue.s IL_0038 + + IL_0008: ldc.i4.0 + IL_0009: ldc.i4.s 83 + IL_000b: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_0010: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0015: ldc.i4.1 + IL_0016: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_001b: stloc.0 + IL_001c: ldloc.0 + IL_001d: ldc.i4.0 + IL_001e: ldc.i4.0 + IL_001f: ldnull + IL_0020: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0025: stelem.ref + IL_0026: ldloc.0 + IL_0027: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::UnaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_002c: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_0031: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer14b'::'<>p__Site14c' + IL_0036: br.s IL_0038 + + IL_0038: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer14b'::'<>p__Site14c' + IL_003d: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_0042: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer14b'::'<>p__Site14c' + IL_0047: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer14b'::'<>p__Site14d' + IL_004c: brtrue.s IL_0088 + + IL_004e: ldc.i4.0 + IL_004f: ldc.i4.s 13 + IL_0051: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_0056: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_005b: ldc.i4.2 + IL_005c: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_0061: stloc.0 + IL_0062: ldloc.0 + IL_0063: ldc.i4.0 + IL_0064: ldc.i4.0 + IL_0065: ldnull + IL_0066: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_006b: stelem.ref + IL_006c: ldloc.0 + IL_006d: ldc.i4.1 + IL_006e: ldc.i4.2 + IL_006f: ldnull + IL_0070: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0075: stelem.ref + IL_0076: ldloc.0 + IL_0077: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::BinaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_007c: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_0081: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer14b'::'<>p__Site14d' + IL_0086: br.s IL_0088 + + IL_0088: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer14b'::'<>p__Site14d' + IL_008d: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_0092: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer14b'::'<>p__Site14d' + IL_0097: ldarg.0 + IL_0098: ldnull + IL_0099: callvirt instance !3 class [mscorlib]System.Func`4::Invoke(!0, + !1, + !2) + IL_009e: stloc.1 + IL_009f: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer14b'::'<>p__Site14e' + IL_00a4: brtrue.s IL_00d6 + + IL_00a6: ldc.i4.0 + IL_00a7: ldc.i4.s 83 + IL_00a9: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_00ae: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00b3: ldc.i4.1 + IL_00b4: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_00b9: stloc.0 + IL_00ba: ldloc.0 + IL_00bb: ldc.i4.0 + IL_00bc: ldc.i4.0 + IL_00bd: ldnull + IL_00be: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_00c3: stelem.ref + IL_00c4: ldloc.0 + IL_00c5: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::UnaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_00ca: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_00cf: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer14b'::'<>p__Site14e' + IL_00d4: br.s IL_00d6 + + IL_00d6: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer14b'::'<>p__Site14e' + IL_00db: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_00e0: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer14b'::'<>p__Site14e' + IL_00e5: ldloc.1 + IL_00e6: callvirt instance !2 class [mscorlib]System.Func`3::Invoke(!0, + !1) + IL_00eb: brtrue IL_019f + + IL_00f0: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer14b'::'<>p__Site14f' + IL_00f5: brtrue.s IL_0131 + + IL_00f7: ldc.i4.8 + IL_00f8: ldc.i4.s 36 + IL_00fa: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_00ff: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0104: ldc.i4.2 + IL_0105: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_010a: stloc.0 + IL_010b: ldloc.0 + IL_010c: ldc.i4.0 + IL_010d: ldc.i4.0 + IL_010e: ldnull + IL_010f: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0114: stelem.ref + IL_0115: ldloc.0 + IL_0116: ldc.i4.1 + IL_0117: ldc.i4.0 + IL_0118: ldnull + IL_0119: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_011e: stelem.ref + IL_011f: ldloc.0 + IL_0120: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::BinaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0125: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_012a: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer14b'::'<>p__Site14f' + IL_012f: br.s IL_0131 + + IL_0131: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer14b'::'<>p__Site14f' + IL_0136: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_013b: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer14b'::'<>p__Site14f' + IL_0140: ldloc.1 + IL_0141: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer14b'::'<>p__Site150' + IL_0146: brtrue.s IL_0182 + + IL_0148: ldc.i4.0 + IL_0149: ldc.i4.s 13 + IL_014b: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_0150: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0155: ldc.i4.2 + IL_0156: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_015b: stloc.0 + IL_015c: ldloc.0 + IL_015d: ldc.i4.0 + IL_015e: ldc.i4.0 + IL_015f: ldnull + IL_0160: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0165: stelem.ref + IL_0166: ldloc.0 + IL_0167: ldc.i4.1 + IL_0168: ldc.i4.2 + IL_0169: ldnull + IL_016a: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_016f: stelem.ref + IL_0170: ldloc.0 + IL_0171: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::BinaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0176: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_017b: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer14b'::'<>p__Site150' + IL_0180: br.s IL_0182 + + IL_0182: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer14b'::'<>p__Site150' + IL_0187: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_018c: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer14b'::'<>p__Site150' + IL_0191: ldarg.1 + IL_0192: ldnull + IL_0193: callvirt instance !3 class [mscorlib]System.Func`4::Invoke(!0, + !1, + !2) + IL_0198: callvirt instance !3 class [mscorlib]System.Func`4::Invoke(!0, + !1, + !2) + IL_019d: br.s IL_01a0 + + IL_019f: ldloc.1 + IL_01a0: nop + IL_01a1: stloc.1 + IL_01a2: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer14b'::'<>p__Site151' + IL_01a7: brtrue.s IL_01d9 + + IL_01a9: ldc.i4.0 + IL_01aa: ldc.i4.s 84 + IL_01ac: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_01b1: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_01b6: ldc.i4.1 + IL_01b7: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_01bc: stloc.0 + IL_01bd: ldloc.0 + IL_01be: ldc.i4.0 + IL_01bf: ldc.i4.0 + IL_01c0: ldnull + IL_01c1: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_01c6: stelem.ref + IL_01c7: ldloc.0 + IL_01c8: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::UnaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_01cd: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_01d2: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer14b'::'<>p__Site151' + IL_01d7: br.s IL_01d9 + + IL_01d9: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer14b'::'<>p__Site151' + IL_01de: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_01e3: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer14b'::'<>p__Site151' + IL_01e8: ldloc.1 + IL_01e9: callvirt instance !2 class [mscorlib]System.Func`3::Invoke(!0, + !1) + IL_01ee: brtrue.s IL_024d + + IL_01f0: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer14b'::'<>p__Site152' + IL_01f5: brtrue.s IL_0230 + + IL_01f7: ldc.i4.8 + IL_01f8: ldc.i4.2 + IL_01f9: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_01fe: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0203: ldc.i4.2 + IL_0204: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_0209: stloc.0 + IL_020a: ldloc.0 + IL_020b: ldc.i4.0 + IL_020c: ldc.i4.0 + IL_020d: ldnull + IL_020e: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0213: stelem.ref + IL_0214: ldloc.0 + IL_0215: ldc.i4.1 + IL_0216: ldc.i4.0 + IL_0217: ldnull + IL_0218: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_021d: stelem.ref + IL_021e: ldloc.0 + IL_021f: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::BinaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0224: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_0229: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer14b'::'<>p__Site152' + IL_022e: br.s IL_0230 + + IL_0230: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer14b'::'<>p__Site152' + IL_0235: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_023a: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer14b'::'<>p__Site152' + IL_023f: ldloc.1 + IL_0240: ldc.i4.1 + IL_0241: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests::GetDynamic(int32) + IL_0246: callvirt instance !3 class [mscorlib]System.Func`4::Invoke(!0, + !1, + !2) + IL_024b: br.s IL_024e + + IL_024d: ldloc.1 + IL_024e: nop + IL_024f: stloc.1 + IL_0250: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer14b'::'<>p__Site153' + IL_0255: brtrue.s IL_0287 + + IL_0257: ldc.i4.0 + IL_0258: ldc.i4.s 84 + IL_025a: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_025f: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0264: ldc.i4.1 + IL_0265: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_026a: stloc.0 + IL_026b: ldloc.0 + IL_026c: ldc.i4.0 + IL_026d: ldc.i4.0 + IL_026e: ldnull + IL_026f: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0274: stelem.ref + IL_0275: ldloc.0 + IL_0276: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::UnaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_027b: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_0280: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer14b'::'<>p__Site153' + IL_0285: br.s IL_0287 + + IL_0287: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer14b'::'<>p__Site153' + IL_028c: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_0291: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer14b'::'<>p__Site153' + IL_0296: ldloc.1 + IL_0297: callvirt instance !2 class [mscorlib]System.Func`3::Invoke(!0, + !1) + IL_029c: brtrue IL_03f7 + + IL_02a1: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer14b'::'<>p__Site154' + IL_02a6: brtrue.s IL_02e1 + + IL_02a8: ldc.i4.8 + IL_02a9: ldc.i4.2 + IL_02aa: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_02af: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_02b4: ldc.i4.2 + IL_02b5: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_02ba: stloc.0 + IL_02bb: ldloc.0 + IL_02bc: ldc.i4.0 + IL_02bd: ldc.i4.0 + IL_02be: ldnull + IL_02bf: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_02c4: stelem.ref + IL_02c5: ldloc.0 + IL_02c6: ldc.i4.1 + IL_02c7: ldc.i4.0 + IL_02c8: ldnull + IL_02c9: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_02ce: stelem.ref + IL_02cf: ldloc.0 + IL_02d0: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::BinaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_02d5: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_02da: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer14b'::'<>p__Site154' + IL_02df: br.s IL_02e1 + + IL_02e1: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer14b'::'<>p__Site154' + IL_02e6: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_02eb: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer14b'::'<>p__Site154' + IL_02f0: ldloc.1 + IL_02f1: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer14b'::'<>p__Site155' + IL_02f6: brtrue.s IL_0328 + + IL_02f8: ldc.i4.0 + IL_02f9: ldc.i4.s 34 + IL_02fb: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_0300: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0305: ldc.i4.1 + IL_0306: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_030b: stloc.0 + IL_030c: ldloc.0 + IL_030d: ldc.i4.0 + IL_030e: ldc.i4.0 + IL_030f: ldnull + IL_0310: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0315: stelem.ref + IL_0316: ldloc.0 + IL_0317: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::UnaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_031c: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_0321: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer14b'::'<>p__Site155' + IL_0326: br.s IL_0328 + + IL_0328: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer14b'::'<>p__Site155' + IL_032d: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_0332: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer14b'::'<>p__Site155' + IL_0337: ldc.i4.2 + IL_0338: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests::GetDynamic(int32) + IL_033d: stloc.2 + IL_033e: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer14b'::'<>p__Site156' + IL_0343: brtrue.s IL_0375 + + IL_0345: ldc.i4.0 + IL_0346: ldc.i4.s 84 + IL_0348: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_034d: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0352: ldc.i4.1 + IL_0353: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_0358: stloc.0 + IL_0359: ldloc.0 + IL_035a: ldc.i4.0 + IL_035b: ldc.i4.0 + IL_035c: ldnull + IL_035d: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0362: stelem.ref + IL_0363: ldloc.0 + IL_0364: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::UnaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0369: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_036e: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer14b'::'<>p__Site156' + IL_0373: br.s IL_0375 + + IL_0375: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer14b'::'<>p__Site156' + IL_037a: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_037f: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer14b'::'<>p__Site156' + IL_0384: ldloc.2 + IL_0385: callvirt instance !2 class [mscorlib]System.Func`3::Invoke(!0, + !1) + IL_038a: brtrue.s IL_03e9 + + IL_038c: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer14b'::'<>p__Site157' + IL_0391: brtrue.s IL_03cc + + IL_0393: ldc.i4.8 + IL_0394: ldc.i4.2 + IL_0395: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_039a: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_039f: ldc.i4.2 + IL_03a0: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_03a5: stloc.0 + IL_03a6: ldloc.0 + IL_03a7: ldc.i4.0 + IL_03a8: ldc.i4.0 + IL_03a9: ldnull + IL_03aa: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_03af: stelem.ref + IL_03b0: ldloc.0 + IL_03b1: ldc.i4.1 + IL_03b2: ldc.i4.0 + IL_03b3: ldnull + IL_03b4: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_03b9: stelem.ref + IL_03ba: ldloc.0 + IL_03bb: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::BinaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_03c0: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_03c5: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer14b'::'<>p__Site157' + IL_03ca: br.s IL_03cc + + IL_03cc: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer14b'::'<>p__Site157' + IL_03d1: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_03d6: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer14b'::'<>p__Site157' + IL_03db: ldloc.2 + IL_03dc: ldc.i4.3 + IL_03dd: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests::GetDynamic(int32) + IL_03e2: callvirt instance !3 class [mscorlib]System.Func`4::Invoke(!0, + !1, + !2) + IL_03e7: br.s IL_03ea + + IL_03e9: ldloc.2 + IL_03ea: nop + IL_03eb: callvirt instance !2 class [mscorlib]System.Func`3::Invoke(!0, + !1) + IL_03f0: callvirt instance !3 class [mscorlib]System.Func`4::Invoke(!0, + !1, + !2) + IL_03f5: br.s IL_03f8 + + IL_03f7: ldloc.1 + IL_03f8: nop + IL_03f9: callvirt instance !2 class [mscorlib]System.Func`3::Invoke(!0, + !1) + IL_03fe: ldc.i4.0 + IL_03ff: ceq + IL_0401: stloc.3 + IL_0402: ldloc.3 + IL_0403: brtrue.s IL_0414 + + IL_0405: nop + IL_0406: ldstr "then" + IL_040b: call void [mscorlib]System.Console::WriteLine(string) + IL_0410: nop + IL_0411: nop + IL_0412: br.s IL_0421 + + IL_0414: nop + IL_0415: ldstr "else" + IL_041a: call void [mscorlib]System.Console::WriteLine(string) + IL_041f: nop + IL_0420: nop + IL_0421: ret + } // end of method DynamicTests::If4 + + .method private hidebysig static object + GetDynamic(int32 i) cil managed + { + .param [0] + .custom instance void [System.Core]System.Runtime.CompilerServices.DynamicAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 7 (0x7) + .maxstack 1 + .locals init (object V_0) + IL_0000: nop + IL_0001: ldnull + IL_0002: stloc.0 + IL_0003: br.s IL_0005 + + IL_0005: ldloc.0 + IL_0006: ret + } // end of method DynamicTests::GetDynamic + + .method private hidebysig static bool GetBool(int32 i) cil managed + { + // Code size 7 (0x7) + .maxstack 1 + .locals init (bool V_0) + IL_0000: nop + IL_0001: ldc.i4.0 + IL_0002: stloc.0 + IL_0003: br.s IL_0005 + + IL_0005: ldloc.0 + IL_0006: ret + } // end of method DynamicTests::GetBool + + .method private hidebysig static object + LogicAnd() cil managed + { + .param [0] + .custom instance void [System.Core]System.Runtime.CompilerServices.DynamicAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 186 (0xba) + .maxstack 7 + .locals init (object V_0, + object V_1, + class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo[] V_2) + IL_0000: nop + IL_0001: ldc.i4.1 + IL_0002: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests::GetDynamic(int32) + IL_0007: stloc.1 + IL_0008: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer158'::'<>p__Site159' + IL_000d: brtrue.s IL_003f + + IL_000f: ldc.i4.0 + IL_0010: ldc.i4.s 84 + IL_0012: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_0017: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_001c: ldc.i4.1 + IL_001d: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_0022: stloc.2 + IL_0023: ldloc.2 + IL_0024: ldc.i4.0 + IL_0025: ldc.i4.0 + IL_0026: ldnull + IL_0027: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_002c: stelem.ref + IL_002d: ldloc.2 + IL_002e: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::UnaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0033: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_0038: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer158'::'<>p__Site159' + IL_003d: br.s IL_003f + + IL_003f: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer158'::'<>p__Site159' + IL_0044: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_0049: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer158'::'<>p__Site159' + IL_004e: ldloc.1 + IL_004f: callvirt instance !2 class [mscorlib]System.Func`3::Invoke(!0, + !1) + IL_0054: brtrue.s IL_00b3 + + IL_0056: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer158'::'<>p__Site15a' + IL_005b: brtrue.s IL_0096 + + IL_005d: ldc.i4.8 + IL_005e: ldc.i4.2 + IL_005f: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_0064: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0069: ldc.i4.2 + IL_006a: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_006f: stloc.2 + IL_0070: ldloc.2 + IL_0071: ldc.i4.0 + IL_0072: ldc.i4.0 + IL_0073: ldnull + IL_0074: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0079: stelem.ref + IL_007a: ldloc.2 + IL_007b: ldc.i4.1 + IL_007c: ldc.i4.0 + IL_007d: ldnull + IL_007e: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0083: stelem.ref + IL_0084: ldloc.2 + IL_0085: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::BinaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_008a: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_008f: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer158'::'<>p__Site15a' + IL_0094: br.s IL_0096 + + IL_0096: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer158'::'<>p__Site15a' + IL_009b: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_00a0: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer158'::'<>p__Site15a' + IL_00a5: ldloc.1 + IL_00a6: ldc.i4.2 + IL_00a7: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests::GetDynamic(int32) + IL_00ac: callvirt instance !3 class [mscorlib]System.Func`4::Invoke(!0, + !1, + !2) + IL_00b1: br.s IL_00b4 + + IL_00b3: ldloc.1 + IL_00b4: nop + IL_00b5: stloc.0 + IL_00b6: br.s IL_00b8 + + IL_00b8: ldloc.0 + IL_00b9: ret + } // end of method DynamicTests::LogicAnd + + .method private hidebysig static object + LogicAnd(object a, + object b) cil managed + { + .param [0] + .custom instance void [System.Core]System.Runtime.CompilerServices.DynamicAttribute::.ctor() = ( 01 00 00 00 ) + .param [1] + .custom instance void [System.Core]System.Runtime.CompilerServices.DynamicAttribute::.ctor() = ( 01 00 00 00 ) + .param [2] + .custom instance void [System.Core]System.Runtime.CompilerServices.DynamicAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 176 (0xb0) + .maxstack 7 + .locals init (object V_0, + object V_1, + class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo[] V_2) + IL_0000: nop + IL_0001: ldarg.0 + IL_0002: stloc.1 + IL_0003: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer15b'::'<>p__Site15c' + IL_0008: brtrue.s IL_003a + + IL_000a: ldc.i4.0 + IL_000b: ldc.i4.s 84 + IL_000d: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_0012: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0017: ldc.i4.1 + IL_0018: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_001d: stloc.2 + IL_001e: ldloc.2 + IL_001f: ldc.i4.0 + IL_0020: ldc.i4.0 + IL_0021: ldnull + IL_0022: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0027: stelem.ref + IL_0028: ldloc.2 + IL_0029: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::UnaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_002e: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_0033: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer15b'::'<>p__Site15c' + IL_0038: br.s IL_003a + + IL_003a: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer15b'::'<>p__Site15c' + IL_003f: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_0044: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer15b'::'<>p__Site15c' + IL_0049: ldloc.1 + IL_004a: callvirt instance !2 class [mscorlib]System.Func`3::Invoke(!0, + !1) + IL_004f: brtrue.s IL_00a9 + + IL_0051: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer15b'::'<>p__Site15d' + IL_0056: brtrue.s IL_0091 + + IL_0058: ldc.i4.8 + IL_0059: ldc.i4.2 + IL_005a: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_005f: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0064: ldc.i4.2 + IL_0065: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_006a: stloc.2 + IL_006b: ldloc.2 + IL_006c: ldc.i4.0 + IL_006d: ldc.i4.0 + IL_006e: ldnull + IL_006f: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0074: stelem.ref + IL_0075: ldloc.2 + IL_0076: ldc.i4.1 + IL_0077: ldc.i4.0 + IL_0078: ldnull + IL_0079: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_007e: stelem.ref + IL_007f: ldloc.2 + IL_0080: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::BinaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0085: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_008a: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer15b'::'<>p__Site15d' + IL_008f: br.s IL_0091 + + IL_0091: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer15b'::'<>p__Site15d' + IL_0096: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_009b: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer15b'::'<>p__Site15d' + IL_00a0: ldloc.1 + IL_00a1: ldarg.1 + IL_00a2: callvirt instance !3 class [mscorlib]System.Func`4::Invoke(!0, + !1, + !2) + IL_00a7: br.s IL_00aa + + IL_00a9: ldloc.1 + IL_00aa: nop + IL_00ab: stloc.0 + IL_00ac: br.s IL_00ae + + IL_00ae: ldloc.0 + IL_00af: ret + } // end of method DynamicTests::LogicAnd + + .method private hidebysig static void LogicAndExtended(int32 i, + object d) cil managed + { + .param [2] + .custom instance void [System.Core]System.Runtime.CompilerServices.DynamicAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 1084 (0x43c) + .maxstack 13 + .locals init (class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo[] V_0, + object V_1, + bool V_2) + IL_0000: nop + IL_0001: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer15e'::'<>p__Site15f' + IL_0006: brtrue.s IL_004b + + IL_0008: ldc.i4 0x100 + IL_000d: ldstr "WriteLine" + IL_0012: ldnull + IL_0013: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_0018: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_001d: ldc.i4.2 + IL_001e: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_0023: stloc.0 + IL_0024: ldloc.0 + IL_0025: ldc.i4.0 + IL_0026: ldc.i4.s 33 + IL_0028: ldnull + IL_0029: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_002e: stelem.ref + IL_002f: ldloc.0 + IL_0030: ldc.i4.1 + IL_0031: ldc.i4.0 + IL_0032: ldnull + IL_0033: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0038: stelem.ref + IL_0039: ldloc.0 + IL_003a: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::InvokeMember(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + string, + class [mscorlib]System.Collections.Generic.IEnumerable`1, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_003f: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_0044: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer15e'::'<>p__Site15f' + IL_0049: br.s IL_004b + + IL_004b: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer15e'::'<>p__Site15f' + IL_0050: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_0055: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer15e'::'<>p__Site15f' + IL_005a: ldtoken [mscorlib]System.Console + IL_005f: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0064: ldc.i4.1 + IL_0065: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests::GetDynamic(int32) + IL_006a: stloc.1 + IL_006b: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer15e'::'<>p__Site160' + IL_0070: brtrue.s IL_00a2 + + IL_0072: ldc.i4.0 + IL_0073: ldc.i4.s 84 + IL_0075: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_007a: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_007f: ldc.i4.1 + IL_0080: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_0085: stloc.0 + IL_0086: ldloc.0 + IL_0087: ldc.i4.0 + IL_0088: ldc.i4.0 + IL_0089: ldnull + IL_008a: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_008f: stelem.ref + IL_0090: ldloc.0 + IL_0091: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::UnaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0096: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_009b: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer15e'::'<>p__Site160' + IL_00a0: br.s IL_00a2 + + IL_00a2: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer15e'::'<>p__Site160' + IL_00a7: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_00ac: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer15e'::'<>p__Site160' + IL_00b1: ldloc.1 + IL_00b2: callvirt instance !2 class [mscorlib]System.Func`3::Invoke(!0, + !1) + IL_00b7: brtrue.s IL_0116 + + IL_00b9: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer15e'::'<>p__Site161' + IL_00be: brtrue.s IL_00f9 + + IL_00c0: ldc.i4.8 + IL_00c1: ldc.i4.2 + IL_00c2: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_00c7: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00cc: ldc.i4.2 + IL_00cd: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_00d2: stloc.0 + IL_00d3: ldloc.0 + IL_00d4: ldc.i4.0 + IL_00d5: ldc.i4.0 + IL_00d6: ldnull + IL_00d7: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_00dc: stelem.ref + IL_00dd: ldloc.0 + IL_00de: ldc.i4.1 + IL_00df: ldc.i4.0 + IL_00e0: ldnull + IL_00e1: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_00e6: stelem.ref + IL_00e7: ldloc.0 + IL_00e8: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::BinaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_00ed: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_00f2: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer15e'::'<>p__Site161' + IL_00f7: br.s IL_00f9 + + IL_00f9: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer15e'::'<>p__Site161' + IL_00fe: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_0103: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer15e'::'<>p__Site161' + IL_0108: ldloc.1 + IL_0109: ldc.i4.2 + IL_010a: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests::GetDynamic(int32) + IL_010f: callvirt instance !3 class [mscorlib]System.Func`4::Invoke(!0, + !1, + !2) + IL_0114: br.s IL_0117 + + IL_0116: ldloc.1 + IL_0117: nop + IL_0118: callvirt instance void class [mscorlib]System.Action`3::Invoke(!0, + !1, + !2) + IL_011d: nop + IL_011e: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer15e'::'<>p__Site162' + IL_0123: brtrue.s IL_0168 + + IL_0125: ldc.i4 0x100 + IL_012a: ldstr "WriteLine" + IL_012f: ldnull + IL_0130: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_0135: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_013a: ldc.i4.2 + IL_013b: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_0140: stloc.0 + IL_0141: ldloc.0 + IL_0142: ldc.i4.0 + IL_0143: ldc.i4.s 33 + IL_0145: ldnull + IL_0146: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_014b: stelem.ref + IL_014c: ldloc.0 + IL_014d: ldc.i4.1 + IL_014e: ldc.i4.0 + IL_014f: ldnull + IL_0150: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0155: stelem.ref + IL_0156: ldloc.0 + IL_0157: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::InvokeMember(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + string, + class [mscorlib]System.Collections.Generic.IEnumerable`1, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_015c: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_0161: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer15e'::'<>p__Site162' + IL_0166: br.s IL_0168 + + IL_0168: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer15e'::'<>p__Site162' + IL_016d: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_0172: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer15e'::'<>p__Site162' + IL_0177: ldtoken [mscorlib]System.Console + IL_017c: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0181: ldc.i4.1 + IL_0182: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests::GetDynamic(int32) + IL_0187: stloc.1 + IL_0188: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer15e'::'<>p__Site163' + IL_018d: brtrue.s IL_01bf + + IL_018f: ldc.i4.0 + IL_0190: ldc.i4.s 84 + IL_0192: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_0197: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_019c: ldc.i4.1 + IL_019d: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_01a2: stloc.0 + IL_01a3: ldloc.0 + IL_01a4: ldc.i4.0 + IL_01a5: ldc.i4.0 + IL_01a6: ldnull + IL_01a7: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_01ac: stelem.ref + IL_01ad: ldloc.0 + IL_01ae: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::UnaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_01b3: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_01b8: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer15e'::'<>p__Site163' + IL_01bd: br.s IL_01bf + + IL_01bf: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer15e'::'<>p__Site163' + IL_01c4: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_01c9: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer15e'::'<>p__Site163' + IL_01ce: ldloc.1 + IL_01cf: callvirt instance !2 class [mscorlib]System.Func`3::Invoke(!0, + !1) + IL_01d4: brtrue.s IL_0233 + + IL_01d6: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer15e'::'<>p__Site164' + IL_01db: brtrue.s IL_0216 + + IL_01dd: ldc.i4.8 + IL_01de: ldc.i4.2 + IL_01df: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_01e4: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_01e9: ldc.i4.2 + IL_01ea: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_01ef: stloc.0 + IL_01f0: ldloc.0 + IL_01f1: ldc.i4.0 + IL_01f2: ldc.i4.0 + IL_01f3: ldnull + IL_01f4: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_01f9: stelem.ref + IL_01fa: ldloc.0 + IL_01fb: ldc.i4.1 + IL_01fc: ldc.i4.1 + IL_01fd: ldnull + IL_01fe: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0203: stelem.ref + IL_0204: ldloc.0 + IL_0205: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::BinaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_020a: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_020f: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer15e'::'<>p__Site164' + IL_0214: br.s IL_0216 + + IL_0216: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer15e'::'<>p__Site164' + IL_021b: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_0220: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer15e'::'<>p__Site164' + IL_0225: ldloc.1 + IL_0226: ldc.i4.2 + IL_0227: call bool ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests::GetBool(int32) + IL_022c: callvirt instance !3 class [mscorlib]System.Func`4::Invoke(!0, + !1, + !2) + IL_0231: br.s IL_0234 + + IL_0233: ldloc.1 + IL_0234: nop + IL_0235: callvirt instance void class [mscorlib]System.Action`3::Invoke(!0, + !1, + !2) + IL_023a: nop + IL_023b: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer15e'::'<>p__Site165' + IL_0240: brtrue.s IL_0285 + + IL_0242: ldc.i4 0x100 + IL_0247: ldstr "WriteLine" + IL_024c: ldnull + IL_024d: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_0252: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0257: ldc.i4.2 + IL_0258: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_025d: stloc.0 + IL_025e: ldloc.0 + IL_025f: ldc.i4.0 + IL_0260: ldc.i4.s 33 + IL_0262: ldnull + IL_0263: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0268: stelem.ref + IL_0269: ldloc.0 + IL_026a: ldc.i4.1 + IL_026b: ldc.i4.0 + IL_026c: ldnull + IL_026d: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0272: stelem.ref + IL_0273: ldloc.0 + IL_0274: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::InvokeMember(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + string, + class [mscorlib]System.Collections.Generic.IEnumerable`1, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0279: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_027e: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer15e'::'<>p__Site165' + IL_0283: br.s IL_0285 + + IL_0285: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer15e'::'<>p__Site165' + IL_028a: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_028f: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer15e'::'<>p__Site165' + IL_0294: ldtoken [mscorlib]System.Console + IL_0299: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_029e: ldc.i4.1 + IL_029f: call bool ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests::GetBool(int32) + IL_02a4: stloc.2 + IL_02a5: ldloc.2 + IL_02a6: brfalse.s IL_0305 + + IL_02a8: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer15e'::'<>p__Site166' + IL_02ad: brtrue.s IL_02e8 + + IL_02af: ldc.i4.8 + IL_02b0: ldc.i4.2 + IL_02b1: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_02b6: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_02bb: ldc.i4.2 + IL_02bc: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_02c1: stloc.0 + IL_02c2: ldloc.0 + IL_02c3: ldc.i4.0 + IL_02c4: ldc.i4.1 + IL_02c5: ldnull + IL_02c6: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_02cb: stelem.ref + IL_02cc: ldloc.0 + IL_02cd: ldc.i4.1 + IL_02ce: ldc.i4.0 + IL_02cf: ldnull + IL_02d0: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_02d5: stelem.ref + IL_02d6: ldloc.0 + IL_02d7: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::BinaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_02dc: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_02e1: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer15e'::'<>p__Site166' + IL_02e6: br.s IL_02e8 + + IL_02e8: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer15e'::'<>p__Site166' + IL_02ed: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_02f2: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer15e'::'<>p__Site166' + IL_02f7: ldloc.2 + IL_02f8: ldc.i4.2 + IL_02f9: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests::GetDynamic(int32) + IL_02fe: callvirt instance !3 class [mscorlib]System.Func`4::Invoke(!0, + !1, + !2) + IL_0303: br.s IL_030b + + IL_0305: ldloc.2 + IL_0306: box [mscorlib]System.Boolean + IL_030b: nop + IL_030c: callvirt instance void class [mscorlib]System.Action`3::Invoke(!0, + !1, + !2) + IL_0311: nop + IL_0312: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer15e'::'<>p__Site167' + IL_0317: brtrue.s IL_035c + + IL_0319: ldc.i4 0x100 + IL_031e: ldstr "WriteLine" + IL_0323: ldnull + IL_0324: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_0329: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_032e: ldc.i4.2 + IL_032f: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_0334: stloc.0 + IL_0335: ldloc.0 + IL_0336: ldc.i4.0 + IL_0337: ldc.i4.s 33 + IL_0339: ldnull + IL_033a: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_033f: stelem.ref + IL_0340: ldloc.0 + IL_0341: ldc.i4.1 + IL_0342: ldc.i4.0 + IL_0343: ldnull + IL_0344: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0349: stelem.ref + IL_034a: ldloc.0 + IL_034b: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::InvokeMember(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + string, + class [mscorlib]System.Collections.Generic.IEnumerable`1, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0350: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_0355: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer15e'::'<>p__Site167' + IL_035a: br.s IL_035c + + IL_035c: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer15e'::'<>p__Site167' + IL_0361: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_0366: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer15e'::'<>p__Site167' + IL_036b: ldtoken [mscorlib]System.Console + IL_0370: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0375: ldarg.0 + IL_0376: ldc.i4.1 + IL_0377: ceq + IL_0379: stloc.2 + IL_037a: ldloc.2 + IL_037b: brfalse IL_042e + + IL_0380: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer15e'::'<>p__Site168' + IL_0385: brtrue.s IL_03c0 + + IL_0387: ldc.i4.8 + IL_0388: ldc.i4.2 + IL_0389: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_038e: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0393: ldc.i4.2 + IL_0394: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_0399: stloc.0 + IL_039a: ldloc.0 + IL_039b: ldc.i4.0 + IL_039c: ldc.i4.1 + IL_039d: ldnull + IL_039e: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_03a3: stelem.ref + IL_03a4: ldloc.0 + IL_03a5: ldc.i4.1 + IL_03a6: ldc.i4.0 + IL_03a7: ldnull + IL_03a8: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_03ad: stelem.ref + IL_03ae: ldloc.0 + IL_03af: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::BinaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_03b4: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_03b9: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer15e'::'<>p__Site168' + IL_03be: br.s IL_03c0 + + IL_03c0: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer15e'::'<>p__Site168' + IL_03c5: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_03ca: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer15e'::'<>p__Site168' + IL_03cf: ldloc.2 + IL_03d0: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer15e'::'<>p__Site169' + IL_03d5: brtrue.s IL_0411 + + IL_03d7: ldc.i4.0 + IL_03d8: ldc.i4.s 13 + IL_03da: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_03df: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_03e4: ldc.i4.2 + IL_03e5: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_03ea: stloc.0 + IL_03eb: ldloc.0 + IL_03ec: ldc.i4.0 + IL_03ed: ldc.i4.0 + IL_03ee: ldnull + IL_03ef: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_03f4: stelem.ref + IL_03f5: ldloc.0 + IL_03f6: ldc.i4.1 + IL_03f7: ldc.i4.2 + IL_03f8: ldnull + IL_03f9: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_03fe: stelem.ref + IL_03ff: ldloc.0 + IL_0400: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::BinaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0405: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_040a: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer15e'::'<>p__Site169' + IL_040f: br.s IL_0411 + + IL_0411: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer15e'::'<>p__Site169' + IL_0416: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_041b: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer15e'::'<>p__Site169' + IL_0420: ldarg.1 + IL_0421: ldnull + IL_0422: callvirt instance !3 class [mscorlib]System.Func`4::Invoke(!0, + !1, + !2) + IL_0427: callvirt instance !3 class [mscorlib]System.Func`4::Invoke(!0, + !1, + !2) + IL_042c: br.s IL_0434 + + IL_042e: ldloc.2 + IL_042f: box [mscorlib]System.Boolean + IL_0434: nop + IL_0435: callvirt instance void class [mscorlib]System.Action`3::Invoke(!0, + !1, + !2) + IL_043a: nop + IL_043b: ret + } // end of method DynamicTests::LogicAndExtended + + .method private hidebysig static object + LogicOr() cil managed + { + .param [0] + .custom instance void [System.Core]System.Runtime.CompilerServices.DynamicAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 187 (0xbb) + .maxstack 7 + .locals init (object V_0, + object V_1, + class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo[] V_2) + IL_0000: nop + IL_0001: ldc.i4.1 + IL_0002: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests::GetDynamic(int32) + IL_0007: stloc.1 + IL_0008: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer16a'::'<>p__Site16b' + IL_000d: brtrue.s IL_003f + + IL_000f: ldc.i4.0 + IL_0010: ldc.i4.s 83 + IL_0012: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_0017: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_001c: ldc.i4.1 + IL_001d: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_0022: stloc.2 + IL_0023: ldloc.2 + IL_0024: ldc.i4.0 + IL_0025: ldc.i4.0 + IL_0026: ldnull + IL_0027: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_002c: stelem.ref + IL_002d: ldloc.2 + IL_002e: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::UnaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0033: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_0038: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer16a'::'<>p__Site16b' + IL_003d: br.s IL_003f + + IL_003f: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer16a'::'<>p__Site16b' + IL_0044: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_0049: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer16a'::'<>p__Site16b' + IL_004e: ldloc.1 + IL_004f: callvirt instance !2 class [mscorlib]System.Func`3::Invoke(!0, + !1) + IL_0054: brtrue.s IL_00b4 + + IL_0056: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer16a'::'<>p__Site16c' + IL_005b: brtrue.s IL_0097 + + IL_005d: ldc.i4.8 + IL_005e: ldc.i4.s 36 + IL_0060: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_0065: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_006a: ldc.i4.2 + IL_006b: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_0070: stloc.2 + IL_0071: ldloc.2 + IL_0072: ldc.i4.0 + IL_0073: ldc.i4.0 + IL_0074: ldnull + IL_0075: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_007a: stelem.ref + IL_007b: ldloc.2 + IL_007c: ldc.i4.1 + IL_007d: ldc.i4.0 + IL_007e: ldnull + IL_007f: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0084: stelem.ref + IL_0085: ldloc.2 + IL_0086: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::BinaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_008b: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_0090: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer16a'::'<>p__Site16c' + IL_0095: br.s IL_0097 + + IL_0097: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer16a'::'<>p__Site16c' + IL_009c: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_00a1: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer16a'::'<>p__Site16c' + IL_00a6: ldloc.1 + IL_00a7: ldc.i4.2 + IL_00a8: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests::GetDynamic(int32) + IL_00ad: callvirt instance !3 class [mscorlib]System.Func`4::Invoke(!0, + !1, + !2) + IL_00b2: br.s IL_00b5 + + IL_00b4: ldloc.1 + IL_00b5: nop + IL_00b6: stloc.0 + IL_00b7: br.s IL_00b9 + + IL_00b9: ldloc.0 + IL_00ba: ret + } // end of method DynamicTests::LogicOr + + .method private hidebysig static object + LogicOr(object a, + object b) cil managed + { + .param [0] + .custom instance void [System.Core]System.Runtime.CompilerServices.DynamicAttribute::.ctor() = ( 01 00 00 00 ) + .param [1] + .custom instance void [System.Core]System.Runtime.CompilerServices.DynamicAttribute::.ctor() = ( 01 00 00 00 ) + .param [2] + .custom instance void [System.Core]System.Runtime.CompilerServices.DynamicAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 177 (0xb1) + .maxstack 7 + .locals init (object V_0, + object V_1, + class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo[] V_2) + IL_0000: nop + IL_0001: ldarg.0 + IL_0002: stloc.1 + IL_0003: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer16d'::'<>p__Site16e' + IL_0008: brtrue.s IL_003a + + IL_000a: ldc.i4.0 + IL_000b: ldc.i4.s 83 + IL_000d: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_0012: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0017: ldc.i4.1 + IL_0018: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_001d: stloc.2 + IL_001e: ldloc.2 + IL_001f: ldc.i4.0 + IL_0020: ldc.i4.0 + IL_0021: ldnull + IL_0022: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0027: stelem.ref + IL_0028: ldloc.2 + IL_0029: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::UnaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_002e: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_0033: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer16d'::'<>p__Site16e' + IL_0038: br.s IL_003a + + IL_003a: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer16d'::'<>p__Site16e' + IL_003f: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_0044: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer16d'::'<>p__Site16e' + IL_0049: ldloc.1 + IL_004a: callvirt instance !2 class [mscorlib]System.Func`3::Invoke(!0, + !1) + IL_004f: brtrue.s IL_00aa + + IL_0051: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer16d'::'<>p__Site16f' + IL_0056: brtrue.s IL_0092 + + IL_0058: ldc.i4.8 + IL_0059: ldc.i4.s 36 + IL_005b: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_0060: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0065: ldc.i4.2 + IL_0066: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_006b: stloc.2 + IL_006c: ldloc.2 + IL_006d: ldc.i4.0 + IL_006e: ldc.i4.0 + IL_006f: ldnull + IL_0070: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0075: stelem.ref + IL_0076: ldloc.2 + IL_0077: ldc.i4.1 + IL_0078: ldc.i4.0 + IL_0079: ldnull + IL_007a: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_007f: stelem.ref + IL_0080: ldloc.2 + IL_0081: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::BinaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0086: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_008b: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer16d'::'<>p__Site16f' + IL_0090: br.s IL_0092 + + IL_0092: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer16d'::'<>p__Site16f' + IL_0097: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_009c: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer16d'::'<>p__Site16f' + IL_00a1: ldloc.1 + IL_00a2: ldarg.1 + IL_00a3: callvirt instance !3 class [mscorlib]System.Func`4::Invoke(!0, + !1, + !2) + IL_00a8: br.s IL_00ab + + IL_00aa: ldloc.1 + IL_00ab: nop + IL_00ac: stloc.0 + IL_00ad: br.s IL_00af + + IL_00af: ldloc.0 + IL_00b0: ret + } // end of method DynamicTests::LogicOr + + .method private hidebysig static void LogicOrExtended(int32 i, + object d) cil managed + { + .param [2] + .custom instance void [System.Core]System.Runtime.CompilerServices.DynamicAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 1088 (0x440) + .maxstack 13 + .locals init (class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo[] V_0, + object V_1, + bool V_2) + IL_0000: nop + IL_0001: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer170'::'<>p__Site171' + IL_0006: brtrue.s IL_004b + + IL_0008: ldc.i4 0x100 + IL_000d: ldstr "WriteLine" + IL_0012: ldnull + IL_0013: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_0018: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_001d: ldc.i4.2 + IL_001e: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_0023: stloc.0 + IL_0024: ldloc.0 + IL_0025: ldc.i4.0 + IL_0026: ldc.i4.s 33 + IL_0028: ldnull + IL_0029: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_002e: stelem.ref + IL_002f: ldloc.0 + IL_0030: ldc.i4.1 + IL_0031: ldc.i4.0 + IL_0032: ldnull + IL_0033: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0038: stelem.ref + IL_0039: ldloc.0 + IL_003a: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::InvokeMember(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + string, + class [mscorlib]System.Collections.Generic.IEnumerable`1, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_003f: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_0044: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer170'::'<>p__Site171' + IL_0049: br.s IL_004b + + IL_004b: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer170'::'<>p__Site171' + IL_0050: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_0055: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer170'::'<>p__Site171' + IL_005a: ldtoken [mscorlib]System.Console + IL_005f: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0064: ldc.i4.1 + IL_0065: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests::GetDynamic(int32) + IL_006a: stloc.1 + IL_006b: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer170'::'<>p__Site172' + IL_0070: brtrue.s IL_00a2 + + IL_0072: ldc.i4.0 + IL_0073: ldc.i4.s 83 + IL_0075: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_007a: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_007f: ldc.i4.1 + IL_0080: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_0085: stloc.0 + IL_0086: ldloc.0 + IL_0087: ldc.i4.0 + IL_0088: ldc.i4.0 + IL_0089: ldnull + IL_008a: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_008f: stelem.ref + IL_0090: ldloc.0 + IL_0091: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::UnaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0096: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_009b: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer170'::'<>p__Site172' + IL_00a0: br.s IL_00a2 + + IL_00a2: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer170'::'<>p__Site172' + IL_00a7: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_00ac: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer170'::'<>p__Site172' + IL_00b1: ldloc.1 + IL_00b2: callvirt instance !2 class [mscorlib]System.Func`3::Invoke(!0, + !1) + IL_00b7: brtrue.s IL_0117 + + IL_00b9: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer170'::'<>p__Site173' + IL_00be: brtrue.s IL_00fa + + IL_00c0: ldc.i4.8 + IL_00c1: ldc.i4.s 36 + IL_00c3: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_00c8: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00cd: ldc.i4.2 + IL_00ce: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_00d3: stloc.0 + IL_00d4: ldloc.0 + IL_00d5: ldc.i4.0 + IL_00d6: ldc.i4.0 + IL_00d7: ldnull + IL_00d8: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_00dd: stelem.ref + IL_00de: ldloc.0 + IL_00df: ldc.i4.1 + IL_00e0: ldc.i4.0 + IL_00e1: ldnull + IL_00e2: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_00e7: stelem.ref + IL_00e8: ldloc.0 + IL_00e9: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::BinaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_00ee: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_00f3: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer170'::'<>p__Site173' + IL_00f8: br.s IL_00fa + + IL_00fa: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer170'::'<>p__Site173' + IL_00ff: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_0104: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer170'::'<>p__Site173' + IL_0109: ldloc.1 + IL_010a: ldc.i4.2 + IL_010b: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests::GetDynamic(int32) + IL_0110: callvirt instance !3 class [mscorlib]System.Func`4::Invoke(!0, + !1, + !2) + IL_0115: br.s IL_0118 + + IL_0117: ldloc.1 + IL_0118: nop + IL_0119: callvirt instance void class [mscorlib]System.Action`3::Invoke(!0, + !1, + !2) + IL_011e: nop + IL_011f: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer170'::'<>p__Site174' + IL_0124: brtrue.s IL_0169 + + IL_0126: ldc.i4 0x100 + IL_012b: ldstr "WriteLine" + IL_0130: ldnull + IL_0131: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_0136: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_013b: ldc.i4.2 + IL_013c: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_0141: stloc.0 + IL_0142: ldloc.0 + IL_0143: ldc.i4.0 + IL_0144: ldc.i4.s 33 + IL_0146: ldnull + IL_0147: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_014c: stelem.ref + IL_014d: ldloc.0 + IL_014e: ldc.i4.1 + IL_014f: ldc.i4.0 + IL_0150: ldnull + IL_0151: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0156: stelem.ref + IL_0157: ldloc.0 + IL_0158: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::InvokeMember(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + string, + class [mscorlib]System.Collections.Generic.IEnumerable`1, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_015d: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_0162: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer170'::'<>p__Site174' + IL_0167: br.s IL_0169 + + IL_0169: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer170'::'<>p__Site174' + IL_016e: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_0173: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer170'::'<>p__Site174' + IL_0178: ldtoken [mscorlib]System.Console + IL_017d: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0182: ldc.i4.1 + IL_0183: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests::GetDynamic(int32) + IL_0188: stloc.1 + IL_0189: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer170'::'<>p__Site175' + IL_018e: brtrue.s IL_01c0 + + IL_0190: ldc.i4.0 + IL_0191: ldc.i4.s 83 + IL_0193: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_0198: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_019d: ldc.i4.1 + IL_019e: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_01a3: stloc.0 + IL_01a4: ldloc.0 + IL_01a5: ldc.i4.0 + IL_01a6: ldc.i4.0 + IL_01a7: ldnull + IL_01a8: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_01ad: stelem.ref + IL_01ae: ldloc.0 + IL_01af: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::UnaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_01b4: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_01b9: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer170'::'<>p__Site175' + IL_01be: br.s IL_01c0 + + IL_01c0: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer170'::'<>p__Site175' + IL_01c5: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_01ca: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer170'::'<>p__Site175' + IL_01cf: ldloc.1 + IL_01d0: callvirt instance !2 class [mscorlib]System.Func`3::Invoke(!0, + !1) + IL_01d5: brtrue.s IL_0235 + + IL_01d7: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer170'::'<>p__Site176' + IL_01dc: brtrue.s IL_0218 + + IL_01de: ldc.i4.8 + IL_01df: ldc.i4.s 36 + IL_01e1: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_01e6: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_01eb: ldc.i4.2 + IL_01ec: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_01f1: stloc.0 + IL_01f2: ldloc.0 + IL_01f3: ldc.i4.0 + IL_01f4: ldc.i4.0 + IL_01f5: ldnull + IL_01f6: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_01fb: stelem.ref + IL_01fc: ldloc.0 + IL_01fd: ldc.i4.1 + IL_01fe: ldc.i4.1 + IL_01ff: ldnull + IL_0200: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0205: stelem.ref + IL_0206: ldloc.0 + IL_0207: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::BinaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_020c: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_0211: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer170'::'<>p__Site176' + IL_0216: br.s IL_0218 + + IL_0218: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer170'::'<>p__Site176' + IL_021d: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_0222: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer170'::'<>p__Site176' + IL_0227: ldloc.1 + IL_0228: ldc.i4.2 + IL_0229: call bool ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests::GetBool(int32) + IL_022e: callvirt instance !3 class [mscorlib]System.Func`4::Invoke(!0, + !1, + !2) + IL_0233: br.s IL_0236 + + IL_0235: ldloc.1 + IL_0236: nop + IL_0237: callvirt instance void class [mscorlib]System.Action`3::Invoke(!0, + !1, + !2) + IL_023c: nop + IL_023d: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer170'::'<>p__Site177' + IL_0242: brtrue.s IL_0287 + + IL_0244: ldc.i4 0x100 + IL_0249: ldstr "WriteLine" + IL_024e: ldnull + IL_024f: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_0254: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0259: ldc.i4.2 + IL_025a: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_025f: stloc.0 + IL_0260: ldloc.0 + IL_0261: ldc.i4.0 + IL_0262: ldc.i4.s 33 + IL_0264: ldnull + IL_0265: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_026a: stelem.ref + IL_026b: ldloc.0 + IL_026c: ldc.i4.1 + IL_026d: ldc.i4.0 + IL_026e: ldnull + IL_026f: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0274: stelem.ref + IL_0275: ldloc.0 + IL_0276: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::InvokeMember(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + string, + class [mscorlib]System.Collections.Generic.IEnumerable`1, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_027b: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_0280: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer170'::'<>p__Site177' + IL_0285: br.s IL_0287 + + IL_0287: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer170'::'<>p__Site177' + IL_028c: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_0291: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer170'::'<>p__Site177' + IL_0296: ldtoken [mscorlib]System.Console + IL_029b: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_02a0: ldc.i4.1 + IL_02a1: call bool ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests::GetBool(int32) + IL_02a6: stloc.2 + IL_02a7: ldloc.2 + IL_02a8: brtrue.s IL_0308 + + IL_02aa: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer170'::'<>p__Site178' + IL_02af: brtrue.s IL_02eb + + IL_02b1: ldc.i4.8 + IL_02b2: ldc.i4.s 36 + IL_02b4: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_02b9: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_02be: ldc.i4.2 + IL_02bf: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_02c4: stloc.0 + IL_02c5: ldloc.0 + IL_02c6: ldc.i4.0 + IL_02c7: ldc.i4.1 + IL_02c8: ldnull + IL_02c9: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_02ce: stelem.ref + IL_02cf: ldloc.0 + IL_02d0: ldc.i4.1 + IL_02d1: ldc.i4.0 + IL_02d2: ldnull + IL_02d3: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_02d8: stelem.ref + IL_02d9: ldloc.0 + IL_02da: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::BinaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_02df: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_02e4: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer170'::'<>p__Site178' + IL_02e9: br.s IL_02eb + + IL_02eb: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer170'::'<>p__Site178' + IL_02f0: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_02f5: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer170'::'<>p__Site178' + IL_02fa: ldloc.2 + IL_02fb: ldc.i4.2 + IL_02fc: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests::GetDynamic(int32) + IL_0301: callvirt instance !3 class [mscorlib]System.Func`4::Invoke(!0, + !1, + !2) + IL_0306: br.s IL_030e + + IL_0308: ldloc.2 + IL_0309: box [mscorlib]System.Boolean + IL_030e: nop + IL_030f: callvirt instance void class [mscorlib]System.Action`3::Invoke(!0, + !1, + !2) + IL_0314: nop + IL_0315: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer170'::'<>p__Site179' + IL_031a: brtrue.s IL_035f + + IL_031c: ldc.i4 0x100 + IL_0321: ldstr "WriteLine" + IL_0326: ldnull + IL_0327: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_032c: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0331: ldc.i4.2 + IL_0332: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_0337: stloc.0 + IL_0338: ldloc.0 + IL_0339: ldc.i4.0 + IL_033a: ldc.i4.s 33 + IL_033c: ldnull + IL_033d: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0342: stelem.ref + IL_0343: ldloc.0 + IL_0344: ldc.i4.1 + IL_0345: ldc.i4.0 + IL_0346: ldnull + IL_0347: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_034c: stelem.ref + IL_034d: ldloc.0 + IL_034e: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::InvokeMember(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + string, + class [mscorlib]System.Collections.Generic.IEnumerable`1, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0353: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_0358: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer170'::'<>p__Site179' + IL_035d: br.s IL_035f + + IL_035f: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer170'::'<>p__Site179' + IL_0364: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_0369: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer170'::'<>p__Site179' + IL_036e: ldtoken [mscorlib]System.Console + IL_0373: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0378: ldarg.0 + IL_0379: ldc.i4.1 + IL_037a: ceq + IL_037c: stloc.2 + IL_037d: ldloc.2 + IL_037e: brtrue IL_0432 + + IL_0383: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer170'::'<>p__Site17a' + IL_0388: brtrue.s IL_03c4 + + IL_038a: ldc.i4.8 + IL_038b: ldc.i4.s 36 + IL_038d: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_0392: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0397: ldc.i4.2 + IL_0398: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_039d: stloc.0 + IL_039e: ldloc.0 + IL_039f: ldc.i4.0 + IL_03a0: ldc.i4.1 + IL_03a1: ldnull + IL_03a2: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_03a7: stelem.ref + IL_03a8: ldloc.0 + IL_03a9: ldc.i4.1 + IL_03aa: ldc.i4.0 + IL_03ab: ldnull + IL_03ac: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_03b1: stelem.ref + IL_03b2: ldloc.0 + IL_03b3: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::BinaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_03b8: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_03bd: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer170'::'<>p__Site17a' + IL_03c2: br.s IL_03c4 + + IL_03c4: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer170'::'<>p__Site17a' + IL_03c9: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_03ce: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer170'::'<>p__Site17a' + IL_03d3: ldloc.2 + IL_03d4: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer170'::'<>p__Site17b' + IL_03d9: brtrue.s IL_0415 + + IL_03db: ldc.i4.0 + IL_03dc: ldc.i4.s 13 + IL_03de: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_03e3: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_03e8: ldc.i4.2 + IL_03e9: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_03ee: stloc.0 + IL_03ef: ldloc.0 + IL_03f0: ldc.i4.0 + IL_03f1: ldc.i4.0 + IL_03f2: ldnull + IL_03f3: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_03f8: stelem.ref + IL_03f9: ldloc.0 + IL_03fa: ldc.i4.1 + IL_03fb: ldc.i4.2 + IL_03fc: ldnull + IL_03fd: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0402: stelem.ref + IL_0403: ldloc.0 + IL_0404: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::BinaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0409: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_040e: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer170'::'<>p__Site17b' + IL_0413: br.s IL_0415 + + IL_0415: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer170'::'<>p__Site17b' + IL_041a: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_041f: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer170'::'<>p__Site17b' + IL_0424: ldarg.1 + IL_0425: ldnull + IL_0426: callvirt instance !3 class [mscorlib]System.Func`4::Invoke(!0, + !1, + !2) + IL_042b: callvirt instance !3 class [mscorlib]System.Func`4::Invoke(!0, + !1, + !2) + IL_0430: br.s IL_0438 + + IL_0432: ldloc.2 + IL_0433: box [mscorlib]System.Boolean + IL_0438: nop + IL_0439: callvirt instance void class [mscorlib]System.Action`3::Invoke(!0, + !1, + !2) + IL_043e: nop + IL_043f: ret + } // end of method DynamicTests::LogicOrExtended + .property instance object Property() { .custom instance void [System.Core]System.Runtime.CompilerServices.DynamicAttribute::.ctor() = ( 01 00 00 00 ) diff --git a/ICSharpCode.Decompiler.Tests/TestCases/Pretty/DynamicTests.opt.il b/ICSharpCode.Decompiler.Tests/TestCases/Pretty/DynamicTests.opt.il index 869348e4b..b87dcbe6f 100644 --- a/ICSharpCode.Decompiler.Tests/TestCases/Pretty/DynamicTests.opt.il +++ b/ICSharpCode.Decompiler.Tests/TestCases/Pretty/DynamicTests.opt.il @@ -21,9 +21,9 @@ .assembly DynamicTests.opt { .custom instance void [mscorlib]System.Runtime.CompilerServices.ExtensionAttribute::.ctor() = ( 01 00 00 00 ) - .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. + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilationRelaxationsAttribute::.ctor(int32) = ( 01 00 08 00 00 00 00 00 ) .permissionset reqmin = {[mscorlib]System.Security.Permissions.SecurityPermissionAttribute = {property bool 'SkipVerification' = bool(true)}} .hash algorithm 0x00008004 @@ -677,6 +677,112 @@ .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__Site13e' } // end of class 'o__SiteContainer13c' + .class abstract auto ansi sealed nested private beforefieldinit 'o__SiteContainer13f' + extends [mscorlib]System.Object + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__Site140' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__Site141' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__Site142' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__Site143' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__Site144' + } // end of class 'o__SiteContainer13f' + + .class abstract auto ansi sealed nested private beforefieldinit 'o__SiteContainer145' + extends [mscorlib]System.Object + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__Site146' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__Site147' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__Site148' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__Site149' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__Site14a' + } // end of class 'o__SiteContainer145' + + .class abstract auto ansi sealed nested private beforefieldinit 'o__SiteContainer14b' + extends [mscorlib]System.Object + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__Site14c' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__Site14d' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__Site14e' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__Site14f' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__Site150' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__Site151' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__Site152' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__Site153' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__Site154' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__Site155' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__Site156' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__Site157' + } // end of class 'o__SiteContainer14b' + + .class abstract auto ansi sealed nested private beforefieldinit 'o__SiteContainer158' + extends [mscorlib]System.Object + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__Site159' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__Site15a' + } // end of class 'o__SiteContainer158' + + .class abstract auto ansi sealed nested private beforefieldinit 'o__SiteContainer15b' + extends [mscorlib]System.Object + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__Site15c' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__Site15d' + } // end of class 'o__SiteContainer15b' + + .class abstract auto ansi sealed nested private beforefieldinit 'o__SiteContainer15e' + extends [mscorlib]System.Object + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__Site15f' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__Site160' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__Site161' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__Site162' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__Site163' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__Site164' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__Site165' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__Site166' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__Site167' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__Site168' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__Site169' + } // end of class 'o__SiteContainer15e' + + .class abstract auto ansi sealed nested private beforefieldinit 'o__SiteContainer16a' + extends [mscorlib]System.Object + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__Site16b' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__Site16c' + } // end of class 'o__SiteContainer16a' + + .class abstract auto ansi sealed nested private beforefieldinit 'o__SiteContainer16d' + extends [mscorlib]System.Object + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__Site16e' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__Site16f' + } // end of class 'o__SiteContainer16d' + + .class abstract auto ansi sealed nested private beforefieldinit 'o__SiteContainer170' + extends [mscorlib]System.Object + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__Site171' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__Site172' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__Site173' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__Site174' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__Site175' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__Site176' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__Site177' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__Site178' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__Site179' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__Site17a' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__Site17b' + } // end of class 'o__SiteContainer170' + .field private static object 'field' .custom instance void [System.Core]System.Runtime.CompilerServices.DynamicAttribute::.ctor() = ( 01 00 00 00 ) .field private static object objectField @@ -12555,11 +12661,2234 @@ .custom instance void [System.Core]System.Runtime.CompilerServices.DynamicAttribute::.ctor() = ( 01 00 00 00 ) .param [2] .custom instance void [System.Core]System.Runtime.CompilerServices.DynamicAttribute::.ctor() = ( 01 00 00 00 ) - // Code size 1 (0x1) - .maxstack 8 - IL_0000: ret + // Code size 431 (0x1af) + .maxstack 12 + .locals init (class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo[] V_0, + class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo[] V_1, + object V_2, + class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo[] V_3, + class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo[] V_4, + class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo[] V_5) + IL_0000: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer13f'::'<>p__Site140' + IL_0005: brtrue.s IL_0035 + + IL_0007: ldc.i4.0 + IL_0008: ldc.i4.s 83 + IL_000a: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_000f: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0014: ldc.i4.1 + IL_0015: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_001a: stloc.0 + IL_001b: ldloc.0 + IL_001c: ldc.i4.0 + IL_001d: ldc.i4.0 + IL_001e: ldnull + IL_001f: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0024: stelem.ref + IL_0025: ldloc.0 + IL_0026: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::UnaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_002b: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_0030: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer13f'::'<>p__Site140' + IL_0035: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer13f'::'<>p__Site140' + IL_003a: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_003f: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer13f'::'<>p__Site140' + IL_0044: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer13f'::'<>p__Site141' + IL_0049: brtrue.s IL_0083 + + IL_004b: ldc.i4.0 + IL_004c: ldc.i4.s 13 + IL_004e: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_0053: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0058: ldc.i4.2 + IL_0059: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_005e: stloc.1 + IL_005f: ldloc.1 + IL_0060: ldc.i4.0 + IL_0061: ldc.i4.0 + IL_0062: ldnull + IL_0063: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0068: stelem.ref + IL_0069: ldloc.1 + IL_006a: ldc.i4.1 + IL_006b: ldc.i4.2 + IL_006c: ldnull + IL_006d: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0072: stelem.ref + IL_0073: ldloc.1 + IL_0074: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::BinaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0079: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_007e: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer13f'::'<>p__Site141' + IL_0083: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer13f'::'<>p__Site141' + IL_0088: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_008d: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer13f'::'<>p__Site141' + IL_0092: ldarg.0 + IL_0093: ldnull + IL_0094: callvirt instance !3 class [mscorlib]System.Func`4::Invoke(!0, + !1, + !2) + IL_0099: stloc.2 + IL_009a: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer13f'::'<>p__Site142' + IL_009f: brtrue.s IL_00cf + + IL_00a1: ldc.i4.0 + IL_00a2: ldc.i4.s 83 + IL_00a4: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_00a9: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00ae: ldc.i4.1 + IL_00af: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_00b4: stloc.3 + IL_00b5: ldloc.3 + IL_00b6: ldc.i4.0 + IL_00b7: ldc.i4.0 + IL_00b8: ldnull + IL_00b9: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_00be: stelem.ref + IL_00bf: ldloc.3 + IL_00c0: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::UnaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_00c5: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_00ca: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer13f'::'<>p__Site142' + IL_00cf: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer13f'::'<>p__Site142' + IL_00d4: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_00d9: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer13f'::'<>p__Site142' + IL_00de: ldloc.2 + IL_00df: callvirt instance !2 class [mscorlib]System.Func`3::Invoke(!0, + !1) + IL_00e4: brtrue IL_019c + + IL_00e9: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer13f'::'<>p__Site143' + IL_00ee: brtrue.s IL_012c + + IL_00f0: ldc.i4.8 + IL_00f1: ldc.i4.s 36 + IL_00f3: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_00f8: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00fd: ldc.i4.2 + IL_00fe: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_0103: stloc.s V_4 + IL_0105: ldloc.s V_4 + IL_0107: ldc.i4.0 + IL_0108: ldc.i4.0 + IL_0109: ldnull + IL_010a: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_010f: stelem.ref + IL_0110: ldloc.s V_4 + IL_0112: ldc.i4.1 + IL_0113: ldc.i4.0 + IL_0114: ldnull + IL_0115: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_011a: stelem.ref + IL_011b: ldloc.s V_4 + IL_011d: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::BinaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0122: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_0127: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer13f'::'<>p__Site143' + IL_012c: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer13f'::'<>p__Site143' + IL_0131: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_0136: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer13f'::'<>p__Site143' + IL_013b: ldloc.2 + IL_013c: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer13f'::'<>p__Site144' + IL_0141: brtrue.s IL_017f + + IL_0143: ldc.i4.0 + IL_0144: ldc.i4.s 13 + IL_0146: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_014b: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0150: ldc.i4.2 + IL_0151: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_0156: stloc.s V_5 + IL_0158: ldloc.s V_5 + IL_015a: ldc.i4.0 + IL_015b: ldc.i4.0 + IL_015c: ldnull + IL_015d: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0162: stelem.ref + IL_0163: ldloc.s V_5 + IL_0165: ldc.i4.1 + IL_0166: ldc.i4.2 + IL_0167: ldnull + IL_0168: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_016d: stelem.ref + IL_016e: ldloc.s V_5 + IL_0170: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::BinaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0175: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_017a: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer13f'::'<>p__Site144' + IL_017f: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer13f'::'<>p__Site144' + IL_0184: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_0189: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer13f'::'<>p__Site144' + IL_018e: ldarg.1 + IL_018f: ldnull + IL_0190: callvirt instance !3 class [mscorlib]System.Func`4::Invoke(!0, + !1, + !2) + IL_0195: callvirt instance !3 class [mscorlib]System.Func`4::Invoke(!0, + !1, + !2) + IL_019a: br.s IL_019d + + IL_019c: ldloc.2 + IL_019d: callvirt instance !2 class [mscorlib]System.Func`3::Invoke(!0, + !1) + IL_01a2: brfalse.s IL_01ae + + IL_01a4: ldstr "One is null" + IL_01a9: call void [mscorlib]System.Console::WriteLine(string) + IL_01ae: ret } // end of method DynamicTests::If2 + .method private hidebysig static void If3(object a, + object b) cil managed + { + .param [1] + .custom instance void [System.Core]System.Runtime.CompilerServices.DynamicAttribute::.ctor() = ( 01 00 00 00 ) + .param [2] + .custom instance void [System.Core]System.Runtime.CompilerServices.DynamicAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 430 (0x1ae) + .maxstack 12 + .locals init (class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo[] V_0, + class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo[] V_1, + object V_2, + class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo[] V_3, + class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo[] V_4, + class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo[] V_5) + IL_0000: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer145'::'<>p__Site146' + IL_0005: brtrue.s IL_0035 + + IL_0007: ldc.i4.0 + IL_0008: ldc.i4.s 83 + IL_000a: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_000f: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0014: ldc.i4.1 + IL_0015: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_001a: stloc.0 + IL_001b: ldloc.0 + IL_001c: ldc.i4.0 + IL_001d: ldc.i4.0 + IL_001e: ldnull + IL_001f: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0024: stelem.ref + IL_0025: ldloc.0 + IL_0026: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::UnaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_002b: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_0030: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer145'::'<>p__Site146' + IL_0035: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer145'::'<>p__Site146' + IL_003a: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_003f: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer145'::'<>p__Site146' + IL_0044: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer145'::'<>p__Site147' + IL_0049: brtrue.s IL_0083 + + IL_004b: ldc.i4.0 + IL_004c: ldc.i4.s 13 + IL_004e: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_0053: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0058: ldc.i4.2 + IL_0059: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_005e: stloc.1 + IL_005f: ldloc.1 + IL_0060: ldc.i4.0 + IL_0061: ldc.i4.0 + IL_0062: ldnull + IL_0063: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0068: stelem.ref + IL_0069: ldloc.1 + IL_006a: ldc.i4.1 + IL_006b: ldc.i4.2 + IL_006c: ldnull + IL_006d: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0072: stelem.ref + IL_0073: ldloc.1 + IL_0074: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::BinaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0079: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_007e: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer145'::'<>p__Site147' + IL_0083: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer145'::'<>p__Site147' + IL_0088: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_008d: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer145'::'<>p__Site147' + IL_0092: ldarg.0 + IL_0093: ldnull + IL_0094: callvirt instance !3 class [mscorlib]System.Func`4::Invoke(!0, + !1, + !2) + IL_0099: stloc.2 + IL_009a: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer145'::'<>p__Site148' + IL_009f: brtrue.s IL_00cf + + IL_00a1: ldc.i4.0 + IL_00a2: ldc.i4.s 84 + IL_00a4: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_00a9: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00ae: ldc.i4.1 + IL_00af: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_00b4: stloc.3 + IL_00b5: ldloc.3 + IL_00b6: ldc.i4.0 + IL_00b7: ldc.i4.0 + IL_00b8: ldnull + IL_00b9: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_00be: stelem.ref + IL_00bf: ldloc.3 + IL_00c0: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::UnaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_00c5: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_00ca: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer145'::'<>p__Site148' + IL_00cf: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer145'::'<>p__Site148' + IL_00d4: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_00d9: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer145'::'<>p__Site148' + IL_00de: ldloc.2 + IL_00df: callvirt instance !2 class [mscorlib]System.Func`3::Invoke(!0, + !1) + IL_00e4: brtrue IL_019b + + IL_00e9: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer145'::'<>p__Site149' + IL_00ee: brtrue.s IL_012b + + IL_00f0: ldc.i4.8 + IL_00f1: ldc.i4.2 + IL_00f2: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_00f7: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00fc: ldc.i4.2 + IL_00fd: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_0102: stloc.s V_4 + IL_0104: ldloc.s V_4 + IL_0106: ldc.i4.0 + IL_0107: ldc.i4.0 + IL_0108: ldnull + IL_0109: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_010e: stelem.ref + IL_010f: ldloc.s V_4 + IL_0111: ldc.i4.1 + IL_0112: ldc.i4.0 + IL_0113: ldnull + IL_0114: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0119: stelem.ref + IL_011a: ldloc.s V_4 + IL_011c: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::BinaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0121: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_0126: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer145'::'<>p__Site149' + IL_012b: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer145'::'<>p__Site149' + IL_0130: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_0135: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer145'::'<>p__Site149' + IL_013a: ldloc.2 + IL_013b: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer145'::'<>p__Site14a' + IL_0140: brtrue.s IL_017e + + IL_0142: ldc.i4.0 + IL_0143: ldc.i4.s 13 + IL_0145: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_014a: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_014f: ldc.i4.2 + IL_0150: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_0155: stloc.s V_5 + IL_0157: ldloc.s V_5 + IL_0159: ldc.i4.0 + IL_015a: ldc.i4.0 + IL_015b: ldnull + IL_015c: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0161: stelem.ref + IL_0162: ldloc.s V_5 + IL_0164: ldc.i4.1 + IL_0165: ldc.i4.2 + IL_0166: ldnull + IL_0167: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_016c: stelem.ref + IL_016d: ldloc.s V_5 + IL_016f: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::BinaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0174: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_0179: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer145'::'<>p__Site14a' + IL_017e: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer145'::'<>p__Site14a' + IL_0183: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_0188: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer145'::'<>p__Site14a' + IL_018d: ldarg.1 + IL_018e: ldnull + IL_018f: callvirt instance !3 class [mscorlib]System.Func`4::Invoke(!0, + !1, + !2) + IL_0194: callvirt instance !3 class [mscorlib]System.Func`4::Invoke(!0, + !1, + !2) + IL_0199: br.s IL_019c + + IL_019b: ldloc.2 + IL_019c: callvirt instance !2 class [mscorlib]System.Func`3::Invoke(!0, + !1) + IL_01a1: brfalse.s IL_01ad + + IL_01a3: ldstr "Both are null" + IL_01a8: call void [mscorlib]System.Console::WriteLine(string) + IL_01ad: ret + } // end of method DynamicTests::If3 + + .method private hidebysig static void If4(object a, + object b) cil managed + { + .param [1] + .custom instance void [System.Core]System.Runtime.CompilerServices.DynamicAttribute::.ctor() = ( 01 00 00 00 ) + .param [2] + .custom instance void [System.Core]System.Runtime.CompilerServices.DynamicAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 1061 (0x425) + .maxstack 14 + .locals init (class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo[] V_0, + class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo[] V_1, + object V_2, + class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo[] V_3, + class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo[] V_4, + class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo[] V_5, + object V_6, + class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo[] V_7, + class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo[] V_8, + object V_9, + class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo[] V_10, + class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo[] V_11, + class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo[] V_12, + object V_13, + class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo[] V_14, + class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo[] V_15) + IL_0000: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer14b'::'<>p__Site14c' + IL_0005: brtrue.s IL_0035 + + IL_0007: ldc.i4.0 + IL_0008: ldc.i4.s 83 + IL_000a: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_000f: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0014: ldc.i4.1 + IL_0015: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_001a: stloc.0 + IL_001b: ldloc.0 + IL_001c: ldc.i4.0 + IL_001d: ldc.i4.0 + IL_001e: ldnull + IL_001f: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0024: stelem.ref + IL_0025: ldloc.0 + IL_0026: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::UnaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_002b: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_0030: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer14b'::'<>p__Site14c' + IL_0035: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer14b'::'<>p__Site14c' + IL_003a: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_003f: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer14b'::'<>p__Site14c' + IL_0044: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer14b'::'<>p__Site14d' + IL_0049: brtrue.s IL_0083 + + IL_004b: ldc.i4.0 + IL_004c: ldc.i4.s 13 + IL_004e: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_0053: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0058: ldc.i4.2 + IL_0059: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_005e: stloc.1 + IL_005f: ldloc.1 + IL_0060: ldc.i4.0 + IL_0061: ldc.i4.0 + IL_0062: ldnull + IL_0063: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0068: stelem.ref + IL_0069: ldloc.1 + IL_006a: ldc.i4.1 + IL_006b: ldc.i4.2 + IL_006c: ldnull + IL_006d: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0072: stelem.ref + IL_0073: ldloc.1 + IL_0074: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::BinaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0079: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_007e: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer14b'::'<>p__Site14d' + IL_0083: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer14b'::'<>p__Site14d' + IL_0088: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_008d: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer14b'::'<>p__Site14d' + IL_0092: ldarg.0 + IL_0093: ldnull + IL_0094: callvirt instance !3 class [mscorlib]System.Func`4::Invoke(!0, + !1, + !2) + IL_0099: stloc.2 + IL_009a: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer14b'::'<>p__Site14e' + IL_009f: brtrue.s IL_00cf + + IL_00a1: ldc.i4.0 + IL_00a2: ldc.i4.s 83 + IL_00a4: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_00a9: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00ae: ldc.i4.1 + IL_00af: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_00b4: stloc.3 + IL_00b5: ldloc.3 + IL_00b6: ldc.i4.0 + IL_00b7: ldc.i4.0 + IL_00b8: ldnull + IL_00b9: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_00be: stelem.ref + IL_00bf: ldloc.3 + IL_00c0: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::UnaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_00c5: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_00ca: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer14b'::'<>p__Site14e' + IL_00cf: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer14b'::'<>p__Site14e' + IL_00d4: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_00d9: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer14b'::'<>p__Site14e' + IL_00de: ldloc.2 + IL_00df: callvirt instance !2 class [mscorlib]System.Func`3::Invoke(!0, + !1) + IL_00e4: brtrue IL_019c + + IL_00e9: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer14b'::'<>p__Site14f' + IL_00ee: brtrue.s IL_012c + + IL_00f0: ldc.i4.8 + IL_00f1: ldc.i4.s 36 + IL_00f3: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_00f8: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00fd: ldc.i4.2 + IL_00fe: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_0103: stloc.s V_4 + IL_0105: ldloc.s V_4 + IL_0107: ldc.i4.0 + IL_0108: ldc.i4.0 + IL_0109: ldnull + IL_010a: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_010f: stelem.ref + IL_0110: ldloc.s V_4 + IL_0112: ldc.i4.1 + IL_0113: ldc.i4.0 + IL_0114: ldnull + IL_0115: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_011a: stelem.ref + IL_011b: ldloc.s V_4 + IL_011d: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::BinaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0122: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_0127: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer14b'::'<>p__Site14f' + IL_012c: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer14b'::'<>p__Site14f' + IL_0131: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_0136: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer14b'::'<>p__Site14f' + IL_013b: ldloc.2 + IL_013c: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer14b'::'<>p__Site150' + IL_0141: brtrue.s IL_017f + + IL_0143: ldc.i4.0 + IL_0144: ldc.i4.s 13 + IL_0146: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_014b: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0150: ldc.i4.2 + IL_0151: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_0156: stloc.s V_5 + IL_0158: ldloc.s V_5 + IL_015a: ldc.i4.0 + IL_015b: ldc.i4.0 + IL_015c: ldnull + IL_015d: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0162: stelem.ref + IL_0163: ldloc.s V_5 + IL_0165: ldc.i4.1 + IL_0166: ldc.i4.2 + IL_0167: ldnull + IL_0168: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_016d: stelem.ref + IL_016e: ldloc.s V_5 + IL_0170: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::BinaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0175: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_017a: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer14b'::'<>p__Site150' + IL_017f: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer14b'::'<>p__Site150' + IL_0184: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_0189: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer14b'::'<>p__Site150' + IL_018e: ldarg.1 + IL_018f: ldnull + IL_0190: callvirt instance !3 class [mscorlib]System.Func`4::Invoke(!0, + !1, + !2) + IL_0195: callvirt instance !3 class [mscorlib]System.Func`4::Invoke(!0, + !1, + !2) + IL_019a: br.s IL_019d + + IL_019c: ldloc.2 + IL_019d: stloc.s V_6 + IL_019f: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer14b'::'<>p__Site151' + IL_01a4: brtrue.s IL_01d7 + + IL_01a6: ldc.i4.0 + IL_01a7: ldc.i4.s 84 + IL_01a9: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_01ae: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_01b3: ldc.i4.1 + IL_01b4: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_01b9: stloc.s V_7 + IL_01bb: ldloc.s V_7 + IL_01bd: ldc.i4.0 + IL_01be: ldc.i4.0 + IL_01bf: ldnull + IL_01c0: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_01c5: stelem.ref + IL_01c6: ldloc.s V_7 + IL_01c8: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::UnaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_01cd: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_01d2: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer14b'::'<>p__Site151' + IL_01d7: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer14b'::'<>p__Site151' + IL_01dc: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_01e1: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer14b'::'<>p__Site151' + IL_01e6: ldloc.s V_6 + IL_01e8: callvirt instance !2 class [mscorlib]System.Func`3::Invoke(!0, + !1) + IL_01ed: brtrue.s IL_024f + + IL_01ef: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer14b'::'<>p__Site152' + IL_01f4: brtrue.s IL_0231 + + IL_01f6: ldc.i4.8 + IL_01f7: ldc.i4.2 + IL_01f8: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_01fd: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0202: ldc.i4.2 + IL_0203: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_0208: stloc.s V_8 + IL_020a: ldloc.s V_8 + IL_020c: ldc.i4.0 + IL_020d: ldc.i4.0 + IL_020e: ldnull + IL_020f: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0214: stelem.ref + IL_0215: ldloc.s V_8 + IL_0217: ldc.i4.1 + IL_0218: ldc.i4.0 + IL_0219: ldnull + IL_021a: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_021f: stelem.ref + IL_0220: ldloc.s V_8 + IL_0222: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::BinaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0227: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_022c: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer14b'::'<>p__Site152' + IL_0231: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer14b'::'<>p__Site152' + IL_0236: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_023b: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer14b'::'<>p__Site152' + IL_0240: ldloc.s V_6 + IL_0242: ldc.i4.1 + IL_0243: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests::GetDynamic(int32) + IL_0248: callvirt instance !3 class [mscorlib]System.Func`4::Invoke(!0, + !1, + !2) + IL_024d: br.s IL_0251 + + IL_024f: ldloc.s V_6 + IL_0251: stloc.s V_9 + IL_0253: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer14b'::'<>p__Site153' + IL_0258: brtrue.s IL_028b + + IL_025a: ldc.i4.0 + IL_025b: ldc.i4.s 84 + IL_025d: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_0262: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0267: ldc.i4.1 + IL_0268: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_026d: stloc.s V_10 + IL_026f: ldloc.s V_10 + IL_0271: ldc.i4.0 + IL_0272: ldc.i4.0 + IL_0273: ldnull + IL_0274: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0279: stelem.ref + IL_027a: ldloc.s V_10 + IL_027c: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::UnaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0281: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_0286: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer14b'::'<>p__Site153' + IL_028b: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer14b'::'<>p__Site153' + IL_0290: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_0295: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer14b'::'<>p__Site153' + IL_029a: ldloc.s V_9 + IL_029c: callvirt instance !2 class [mscorlib]System.Func`3::Invoke(!0, + !1) + IL_02a1: brtrue IL_0406 + + IL_02a6: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer14b'::'<>p__Site154' + IL_02ab: brtrue.s IL_02e8 + + IL_02ad: ldc.i4.8 + IL_02ae: ldc.i4.2 + IL_02af: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_02b4: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_02b9: ldc.i4.2 + IL_02ba: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_02bf: stloc.s V_11 + IL_02c1: ldloc.s V_11 + IL_02c3: ldc.i4.0 + IL_02c4: ldc.i4.0 + IL_02c5: ldnull + IL_02c6: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_02cb: stelem.ref + IL_02cc: ldloc.s V_11 + IL_02ce: ldc.i4.1 + IL_02cf: ldc.i4.0 + IL_02d0: ldnull + IL_02d1: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_02d6: stelem.ref + IL_02d7: ldloc.s V_11 + IL_02d9: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::BinaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_02de: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_02e3: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer14b'::'<>p__Site154' + IL_02e8: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer14b'::'<>p__Site154' + IL_02ed: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_02f2: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer14b'::'<>p__Site154' + IL_02f7: ldloc.s V_9 + IL_02f9: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer14b'::'<>p__Site155' + IL_02fe: brtrue.s IL_0331 + + IL_0300: ldc.i4.0 + IL_0301: ldc.i4.s 34 + IL_0303: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_0308: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_030d: ldc.i4.1 + IL_030e: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_0313: stloc.s V_12 + IL_0315: ldloc.s V_12 + IL_0317: ldc.i4.0 + IL_0318: ldc.i4.0 + IL_0319: ldnull + IL_031a: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_031f: stelem.ref + IL_0320: ldloc.s V_12 + IL_0322: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::UnaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0327: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_032c: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer14b'::'<>p__Site155' + IL_0331: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer14b'::'<>p__Site155' + IL_0336: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_033b: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer14b'::'<>p__Site155' + IL_0340: ldc.i4.2 + IL_0341: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests::GetDynamic(int32) + IL_0346: stloc.s V_13 + IL_0348: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer14b'::'<>p__Site156' + IL_034d: brtrue.s IL_0380 + + IL_034f: ldc.i4.0 + IL_0350: ldc.i4.s 84 + IL_0352: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_0357: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_035c: ldc.i4.1 + IL_035d: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_0362: stloc.s V_14 + IL_0364: ldloc.s V_14 + IL_0366: ldc.i4.0 + IL_0367: ldc.i4.0 + IL_0368: ldnull + IL_0369: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_036e: stelem.ref + IL_036f: ldloc.s V_14 + IL_0371: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::UnaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0376: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_037b: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer14b'::'<>p__Site156' + IL_0380: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer14b'::'<>p__Site156' + IL_0385: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_038a: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer14b'::'<>p__Site156' + IL_038f: ldloc.s V_13 + IL_0391: callvirt instance !2 class [mscorlib]System.Func`3::Invoke(!0, + !1) + IL_0396: brtrue.s IL_03f8 + + IL_0398: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer14b'::'<>p__Site157' + IL_039d: brtrue.s IL_03da + + IL_039f: ldc.i4.8 + IL_03a0: ldc.i4.2 + IL_03a1: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_03a6: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_03ab: ldc.i4.2 + IL_03ac: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_03b1: stloc.s V_15 + IL_03b3: ldloc.s V_15 + IL_03b5: ldc.i4.0 + IL_03b6: ldc.i4.0 + IL_03b7: ldnull + IL_03b8: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_03bd: stelem.ref + IL_03be: ldloc.s V_15 + IL_03c0: ldc.i4.1 + IL_03c1: ldc.i4.0 + IL_03c2: ldnull + IL_03c3: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_03c8: stelem.ref + IL_03c9: ldloc.s V_15 + IL_03cb: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::BinaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_03d0: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_03d5: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer14b'::'<>p__Site157' + IL_03da: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer14b'::'<>p__Site157' + IL_03df: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_03e4: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer14b'::'<>p__Site157' + IL_03e9: ldloc.s V_13 + IL_03eb: ldc.i4.3 + IL_03ec: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests::GetDynamic(int32) + IL_03f1: callvirt instance !3 class [mscorlib]System.Func`4::Invoke(!0, + !1, + !2) + IL_03f6: br.s IL_03fa + + IL_03f8: ldloc.s V_13 + IL_03fa: callvirt instance !2 class [mscorlib]System.Func`3::Invoke(!0, + !1) + IL_03ff: callvirt instance !3 class [mscorlib]System.Func`4::Invoke(!0, + !1, + !2) + IL_0404: br.s IL_0408 + + IL_0406: ldloc.s V_9 + IL_0408: callvirt instance !2 class [mscorlib]System.Func`3::Invoke(!0, + !1) + IL_040d: brfalse.s IL_041a + + IL_040f: ldstr "then" + IL_0414: call void [mscorlib]System.Console::WriteLine(string) + IL_0419: ret + + IL_041a: ldstr "else" + IL_041f: call void [mscorlib]System.Console::WriteLine(string) + IL_0424: ret + } // end of method DynamicTests::If4 + + .method private hidebysig static object + GetDynamic(int32 i) cil managed + { + .param [0] + .custom instance void [System.Core]System.Runtime.CompilerServices.DynamicAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 2 (0x2) + .maxstack 8 + IL_0000: ldnull + IL_0001: ret + } // end of method DynamicTests::GetDynamic + + .method private hidebysig static bool GetBool(int32 i) cil managed + { + // Code size 2 (0x2) + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: ret + } // end of method DynamicTests::GetBool + + .method private hidebysig static object + LogicAnd() cil managed + { + .param [0] + .custom instance void [System.Core]System.Runtime.CompilerServices.DynamicAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 175 (0xaf) + .maxstack 7 + .locals init (object V_0, + class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo[] V_1, + class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo[] V_2) + IL_0000: ldc.i4.1 + IL_0001: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests::GetDynamic(int32) + IL_0006: stloc.0 + IL_0007: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer158'::'<>p__Site159' + IL_000c: brtrue.s IL_003c + + IL_000e: ldc.i4.0 + IL_000f: ldc.i4.s 84 + IL_0011: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_0016: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_001b: ldc.i4.1 + IL_001c: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_0021: stloc.1 + IL_0022: ldloc.1 + IL_0023: ldc.i4.0 + IL_0024: ldc.i4.0 + IL_0025: ldnull + IL_0026: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_002b: stelem.ref + IL_002c: ldloc.1 + IL_002d: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::UnaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0032: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_0037: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer158'::'<>p__Site159' + IL_003c: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer158'::'<>p__Site159' + IL_0041: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_0046: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer158'::'<>p__Site159' + IL_004b: ldloc.0 + IL_004c: callvirt instance !2 class [mscorlib]System.Func`3::Invoke(!0, + !1) + IL_0051: brtrue.s IL_00ad + + IL_0053: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer158'::'<>p__Site15a' + IL_0058: brtrue.s IL_0091 + + IL_005a: ldc.i4.8 + IL_005b: ldc.i4.2 + IL_005c: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_0061: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0066: ldc.i4.2 + IL_0067: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_006c: stloc.2 + IL_006d: ldloc.2 + IL_006e: ldc.i4.0 + IL_006f: ldc.i4.0 + IL_0070: ldnull + IL_0071: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0076: stelem.ref + IL_0077: ldloc.2 + IL_0078: ldc.i4.1 + IL_0079: ldc.i4.0 + IL_007a: ldnull + IL_007b: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0080: stelem.ref + IL_0081: ldloc.2 + IL_0082: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::BinaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0087: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_008c: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer158'::'<>p__Site15a' + IL_0091: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer158'::'<>p__Site15a' + IL_0096: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_009b: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer158'::'<>p__Site15a' + IL_00a0: ldloc.0 + IL_00a1: ldc.i4.2 + IL_00a2: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests::GetDynamic(int32) + IL_00a7: callvirt instance !3 class [mscorlib]System.Func`4::Invoke(!0, + !1, + !2) + IL_00ac: ret + + IL_00ad: ldloc.0 + IL_00ae: ret + } // end of method DynamicTests::LogicAnd + + .method private hidebysig static object + LogicAnd(object a, + object b) cil managed + { + .param [0] + .custom instance void [System.Core]System.Runtime.CompilerServices.DynamicAttribute::.ctor() = ( 01 00 00 00 ) + .param [1] + .custom instance void [System.Core]System.Runtime.CompilerServices.DynamicAttribute::.ctor() = ( 01 00 00 00 ) + .param [2] + .custom instance void [System.Core]System.Runtime.CompilerServices.DynamicAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 165 (0xa5) + .maxstack 7 + .locals init (object V_0, + class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo[] V_1, + class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo[] V_2) + IL_0000: ldarg.0 + IL_0001: stloc.0 + IL_0002: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer15b'::'<>p__Site15c' + IL_0007: brtrue.s IL_0037 + + IL_0009: ldc.i4.0 + IL_000a: ldc.i4.s 84 + IL_000c: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_0011: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0016: ldc.i4.1 + IL_0017: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_001c: stloc.1 + IL_001d: ldloc.1 + IL_001e: ldc.i4.0 + IL_001f: ldc.i4.0 + IL_0020: ldnull + IL_0021: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0026: stelem.ref + IL_0027: ldloc.1 + IL_0028: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::UnaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_002d: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_0032: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer15b'::'<>p__Site15c' + IL_0037: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer15b'::'<>p__Site15c' + IL_003c: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_0041: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer15b'::'<>p__Site15c' + IL_0046: ldloc.0 + IL_0047: callvirt instance !2 class [mscorlib]System.Func`3::Invoke(!0, + !1) + IL_004c: brtrue.s IL_00a3 + + IL_004e: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer15b'::'<>p__Site15d' + IL_0053: brtrue.s IL_008c + + IL_0055: ldc.i4.8 + IL_0056: ldc.i4.2 + IL_0057: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_005c: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0061: ldc.i4.2 + IL_0062: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_0067: stloc.2 + IL_0068: ldloc.2 + IL_0069: ldc.i4.0 + IL_006a: ldc.i4.0 + IL_006b: ldnull + IL_006c: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0071: stelem.ref + IL_0072: ldloc.2 + IL_0073: ldc.i4.1 + IL_0074: ldc.i4.0 + IL_0075: ldnull + IL_0076: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_007b: stelem.ref + IL_007c: ldloc.2 + IL_007d: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::BinaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0082: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_0087: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer15b'::'<>p__Site15d' + IL_008c: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer15b'::'<>p__Site15d' + IL_0091: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_0096: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer15b'::'<>p__Site15d' + IL_009b: ldloc.0 + IL_009c: ldarg.1 + IL_009d: callvirt instance !3 class [mscorlib]System.Func`4::Invoke(!0, + !1, + !2) + IL_00a2: ret + + IL_00a3: ldloc.0 + IL_00a4: ret + } // end of method DynamicTests::LogicAnd + + .method private hidebysig static void LogicAndExtended(int32 i, + object d) cil managed + { + .param [2] + .custom instance void [System.Core]System.Runtime.CompilerServices.DynamicAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 1096 (0x448) + .maxstack 13 + .locals init (class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo[] V_0, + object V_1, + class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo[] V_2, + class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo[] V_3, + class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo[] V_4, + object V_5, + class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo[] V_6, + class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo[] V_7, + class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo[] V_8, + bool V_9, + class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo[] V_10, + class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo[] V_11, + bool V_12, + class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo[] V_13, + class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo[] V_14) + IL_0000: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer15e'::'<>p__Site15f' + IL_0005: brtrue.s IL_0048 + + IL_0007: ldc.i4 0x100 + IL_000c: ldstr "WriteLine" + IL_0011: ldnull + IL_0012: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_0017: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_001c: ldc.i4.2 + IL_001d: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_0022: stloc.0 + IL_0023: ldloc.0 + IL_0024: ldc.i4.0 + IL_0025: ldc.i4.s 33 + IL_0027: ldnull + IL_0028: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_002d: stelem.ref + IL_002e: ldloc.0 + IL_002f: ldc.i4.1 + IL_0030: ldc.i4.0 + IL_0031: ldnull + IL_0032: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0037: stelem.ref + IL_0038: ldloc.0 + IL_0039: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::InvokeMember(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + string, + class [mscorlib]System.Collections.Generic.IEnumerable`1, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_003e: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_0043: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer15e'::'<>p__Site15f' + IL_0048: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer15e'::'<>p__Site15f' + IL_004d: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_0052: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer15e'::'<>p__Site15f' + IL_0057: ldtoken [mscorlib]System.Console + IL_005c: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0061: ldc.i4.1 + IL_0062: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests::GetDynamic(int32) + IL_0067: stloc.1 + IL_0068: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer15e'::'<>p__Site160' + IL_006d: brtrue.s IL_009d + + IL_006f: ldc.i4.0 + IL_0070: ldc.i4.s 84 + IL_0072: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_0077: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_007c: ldc.i4.1 + IL_007d: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_0082: stloc.2 + IL_0083: ldloc.2 + IL_0084: ldc.i4.0 + IL_0085: ldc.i4.0 + IL_0086: ldnull + IL_0087: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_008c: stelem.ref + IL_008d: ldloc.2 + IL_008e: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::UnaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0093: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_0098: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer15e'::'<>p__Site160' + IL_009d: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer15e'::'<>p__Site160' + IL_00a2: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_00a7: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer15e'::'<>p__Site160' + IL_00ac: ldloc.1 + IL_00ad: callvirt instance !2 class [mscorlib]System.Func`3::Invoke(!0, + !1) + IL_00b2: brtrue.s IL_010f + + IL_00b4: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer15e'::'<>p__Site161' + IL_00b9: brtrue.s IL_00f2 + + IL_00bb: ldc.i4.8 + IL_00bc: ldc.i4.2 + IL_00bd: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_00c2: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00c7: ldc.i4.2 + IL_00c8: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_00cd: stloc.3 + IL_00ce: ldloc.3 + IL_00cf: ldc.i4.0 + IL_00d0: ldc.i4.0 + IL_00d1: ldnull + IL_00d2: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_00d7: stelem.ref + IL_00d8: ldloc.3 + IL_00d9: ldc.i4.1 + IL_00da: ldc.i4.0 + IL_00db: ldnull + IL_00dc: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_00e1: stelem.ref + IL_00e2: ldloc.3 + IL_00e3: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::BinaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_00e8: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_00ed: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer15e'::'<>p__Site161' + IL_00f2: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer15e'::'<>p__Site161' + IL_00f7: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_00fc: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer15e'::'<>p__Site161' + IL_0101: ldloc.1 + IL_0102: ldc.i4.2 + IL_0103: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests::GetDynamic(int32) + IL_0108: callvirt instance !3 class [mscorlib]System.Func`4::Invoke(!0, + !1, + !2) + IL_010d: br.s IL_0110 + + IL_010f: ldloc.1 + IL_0110: callvirt instance void class [mscorlib]System.Action`3::Invoke(!0, + !1, + !2) + IL_0115: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer15e'::'<>p__Site162' + IL_011a: brtrue.s IL_0161 + + IL_011c: ldc.i4 0x100 + IL_0121: ldstr "WriteLine" + IL_0126: ldnull + IL_0127: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_012c: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0131: ldc.i4.2 + IL_0132: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_0137: stloc.s V_4 + IL_0139: ldloc.s V_4 + IL_013b: ldc.i4.0 + IL_013c: ldc.i4.s 33 + IL_013e: ldnull + IL_013f: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0144: stelem.ref + IL_0145: ldloc.s V_4 + IL_0147: ldc.i4.1 + IL_0148: ldc.i4.0 + IL_0149: ldnull + IL_014a: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_014f: stelem.ref + IL_0150: ldloc.s V_4 + IL_0152: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::InvokeMember(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + string, + class [mscorlib]System.Collections.Generic.IEnumerable`1, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0157: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_015c: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer15e'::'<>p__Site162' + IL_0161: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer15e'::'<>p__Site162' + IL_0166: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_016b: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer15e'::'<>p__Site162' + IL_0170: ldtoken [mscorlib]System.Console + IL_0175: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_017a: ldc.i4.1 + IL_017b: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests::GetDynamic(int32) + IL_0180: stloc.s V_5 + IL_0182: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer15e'::'<>p__Site163' + IL_0187: brtrue.s IL_01ba + + IL_0189: ldc.i4.0 + IL_018a: ldc.i4.s 84 + IL_018c: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_0191: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0196: ldc.i4.1 + IL_0197: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_019c: stloc.s V_6 + IL_019e: ldloc.s V_6 + IL_01a0: ldc.i4.0 + IL_01a1: ldc.i4.0 + IL_01a2: ldnull + IL_01a3: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_01a8: stelem.ref + IL_01a9: ldloc.s V_6 + IL_01ab: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::UnaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_01b0: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_01b5: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer15e'::'<>p__Site163' + IL_01ba: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer15e'::'<>p__Site163' + IL_01bf: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_01c4: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer15e'::'<>p__Site163' + IL_01c9: ldloc.s V_5 + IL_01cb: callvirt instance !2 class [mscorlib]System.Func`3::Invoke(!0, + !1) + IL_01d0: brtrue.s IL_0232 + + IL_01d2: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer15e'::'<>p__Site164' + IL_01d7: brtrue.s IL_0214 + + IL_01d9: ldc.i4.8 + IL_01da: ldc.i4.2 + IL_01db: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_01e0: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_01e5: ldc.i4.2 + IL_01e6: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_01eb: stloc.s V_7 + IL_01ed: ldloc.s V_7 + IL_01ef: ldc.i4.0 + IL_01f0: ldc.i4.0 + IL_01f1: ldnull + IL_01f2: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_01f7: stelem.ref + IL_01f8: ldloc.s V_7 + IL_01fa: ldc.i4.1 + IL_01fb: ldc.i4.1 + IL_01fc: ldnull + IL_01fd: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0202: stelem.ref + IL_0203: ldloc.s V_7 + IL_0205: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::BinaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_020a: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_020f: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer15e'::'<>p__Site164' + IL_0214: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer15e'::'<>p__Site164' + IL_0219: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_021e: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer15e'::'<>p__Site164' + IL_0223: ldloc.s V_5 + IL_0225: ldc.i4.2 + IL_0226: call bool ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests::GetBool(int32) + IL_022b: callvirt instance !3 class [mscorlib]System.Func`4::Invoke(!0, + !1, + !2) + IL_0230: br.s IL_0234 + + IL_0232: ldloc.s V_5 + IL_0234: callvirt instance void class [mscorlib]System.Action`3::Invoke(!0, + !1, + !2) + IL_0239: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer15e'::'<>p__Site165' + IL_023e: brtrue.s IL_0285 + + IL_0240: ldc.i4 0x100 + IL_0245: ldstr "WriteLine" + IL_024a: ldnull + IL_024b: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_0250: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0255: ldc.i4.2 + IL_0256: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_025b: stloc.s V_8 + IL_025d: ldloc.s V_8 + IL_025f: ldc.i4.0 + IL_0260: ldc.i4.s 33 + IL_0262: ldnull + IL_0263: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0268: stelem.ref + IL_0269: ldloc.s V_8 + IL_026b: ldc.i4.1 + IL_026c: ldc.i4.0 + IL_026d: ldnull + IL_026e: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0273: stelem.ref + IL_0274: ldloc.s V_8 + IL_0276: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::InvokeMember(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + string, + class [mscorlib]System.Collections.Generic.IEnumerable`1, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_027b: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_0280: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer15e'::'<>p__Site165' + IL_0285: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer15e'::'<>p__Site165' + IL_028a: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_028f: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer15e'::'<>p__Site165' + IL_0294: ldtoken [mscorlib]System.Console + IL_0299: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_029e: ldc.i4.1 + IL_029f: call bool ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests::GetBool(int32) + IL_02a4: stloc.s V_9 + IL_02a6: ldloc.s V_9 + IL_02a8: brfalse.s IL_030a + + IL_02aa: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer15e'::'<>p__Site166' + IL_02af: brtrue.s IL_02ec + + IL_02b1: ldc.i4.8 + IL_02b2: ldc.i4.2 + IL_02b3: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_02b8: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_02bd: ldc.i4.2 + IL_02be: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_02c3: stloc.s V_10 + IL_02c5: ldloc.s V_10 + IL_02c7: ldc.i4.0 + IL_02c8: ldc.i4.1 + IL_02c9: ldnull + IL_02ca: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_02cf: stelem.ref + IL_02d0: ldloc.s V_10 + IL_02d2: ldc.i4.1 + IL_02d3: ldc.i4.0 + IL_02d4: ldnull + IL_02d5: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_02da: stelem.ref + IL_02db: ldloc.s V_10 + IL_02dd: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::BinaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_02e2: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_02e7: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer15e'::'<>p__Site166' + IL_02ec: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer15e'::'<>p__Site166' + IL_02f1: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_02f6: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer15e'::'<>p__Site166' + IL_02fb: ldloc.s V_9 + IL_02fd: ldc.i4.2 + IL_02fe: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests::GetDynamic(int32) + IL_0303: callvirt instance !3 class [mscorlib]System.Func`4::Invoke(!0, + !1, + !2) + IL_0308: br.s IL_0311 + + IL_030a: ldloc.s V_9 + IL_030c: box [mscorlib]System.Boolean + IL_0311: callvirt instance void class [mscorlib]System.Action`3::Invoke(!0, + !1, + !2) + IL_0316: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer15e'::'<>p__Site167' + IL_031b: brtrue.s IL_0362 + + IL_031d: ldc.i4 0x100 + IL_0322: ldstr "WriteLine" + IL_0327: ldnull + IL_0328: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_032d: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0332: ldc.i4.2 + IL_0333: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_0338: stloc.s V_11 + IL_033a: ldloc.s V_11 + IL_033c: ldc.i4.0 + IL_033d: ldc.i4.s 33 + IL_033f: ldnull + IL_0340: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0345: stelem.ref + IL_0346: ldloc.s V_11 + IL_0348: ldc.i4.1 + IL_0349: ldc.i4.0 + IL_034a: ldnull + IL_034b: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0350: stelem.ref + IL_0351: ldloc.s V_11 + IL_0353: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::InvokeMember(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + string, + class [mscorlib]System.Collections.Generic.IEnumerable`1, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0358: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_035d: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer15e'::'<>p__Site167' + IL_0362: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer15e'::'<>p__Site167' + IL_0367: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_036c: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer15e'::'<>p__Site167' + IL_0371: ldtoken [mscorlib]System.Console + IL_0376: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_037b: ldarg.0 + IL_037c: ldc.i4.1 + IL_037d: ceq + IL_037f: stloc.s V_12 + IL_0381: ldloc.s V_12 + IL_0383: brfalse IL_043b + + IL_0388: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer15e'::'<>p__Site168' + IL_038d: brtrue.s IL_03ca + + IL_038f: ldc.i4.8 + IL_0390: ldc.i4.2 + IL_0391: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_0396: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_039b: ldc.i4.2 + IL_039c: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_03a1: stloc.s V_13 + IL_03a3: ldloc.s V_13 + IL_03a5: ldc.i4.0 + IL_03a6: ldc.i4.1 + IL_03a7: ldnull + IL_03a8: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_03ad: stelem.ref + IL_03ae: ldloc.s V_13 + IL_03b0: ldc.i4.1 + IL_03b1: ldc.i4.0 + IL_03b2: ldnull + IL_03b3: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_03b8: stelem.ref + IL_03b9: ldloc.s V_13 + IL_03bb: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::BinaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_03c0: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_03c5: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer15e'::'<>p__Site168' + IL_03ca: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer15e'::'<>p__Site168' + IL_03cf: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_03d4: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer15e'::'<>p__Site168' + IL_03d9: ldloc.s V_12 + IL_03db: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer15e'::'<>p__Site169' + IL_03e0: brtrue.s IL_041e + + IL_03e2: ldc.i4.0 + IL_03e3: ldc.i4.s 13 + IL_03e5: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_03ea: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_03ef: ldc.i4.2 + IL_03f0: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_03f5: stloc.s V_14 + IL_03f7: ldloc.s V_14 + IL_03f9: ldc.i4.0 + IL_03fa: ldc.i4.0 + IL_03fb: ldnull + IL_03fc: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0401: stelem.ref + IL_0402: ldloc.s V_14 + IL_0404: ldc.i4.1 + IL_0405: ldc.i4.2 + IL_0406: ldnull + IL_0407: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_040c: stelem.ref + IL_040d: ldloc.s V_14 + IL_040f: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::BinaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0414: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_0419: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer15e'::'<>p__Site169' + IL_041e: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer15e'::'<>p__Site169' + IL_0423: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_0428: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer15e'::'<>p__Site169' + IL_042d: ldarg.1 + IL_042e: ldnull + IL_042f: callvirt instance !3 class [mscorlib]System.Func`4::Invoke(!0, + !1, + !2) + IL_0434: callvirt instance !3 class [mscorlib]System.Func`4::Invoke(!0, + !1, + !2) + IL_0439: br.s IL_0442 + + IL_043b: ldloc.s V_12 + IL_043d: box [mscorlib]System.Boolean + IL_0442: callvirt instance void class [mscorlib]System.Action`3::Invoke(!0, + !1, + !2) + IL_0447: ret + } // end of method DynamicTests::LogicAndExtended + + .method private hidebysig static object + LogicOr() cil managed + { + .param [0] + .custom instance void [System.Core]System.Runtime.CompilerServices.DynamicAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 176 (0xb0) + .maxstack 7 + .locals init (object V_0, + class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo[] V_1, + class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo[] V_2) + IL_0000: ldc.i4.1 + IL_0001: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests::GetDynamic(int32) + IL_0006: stloc.0 + IL_0007: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer16a'::'<>p__Site16b' + IL_000c: brtrue.s IL_003c + + IL_000e: ldc.i4.0 + IL_000f: ldc.i4.s 83 + IL_0011: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_0016: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_001b: ldc.i4.1 + IL_001c: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_0021: stloc.1 + IL_0022: ldloc.1 + IL_0023: ldc.i4.0 + IL_0024: ldc.i4.0 + IL_0025: ldnull + IL_0026: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_002b: stelem.ref + IL_002c: ldloc.1 + IL_002d: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::UnaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0032: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_0037: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer16a'::'<>p__Site16b' + IL_003c: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer16a'::'<>p__Site16b' + IL_0041: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_0046: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer16a'::'<>p__Site16b' + IL_004b: ldloc.0 + IL_004c: callvirt instance !2 class [mscorlib]System.Func`3::Invoke(!0, + !1) + IL_0051: brtrue.s IL_00ae + + IL_0053: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer16a'::'<>p__Site16c' + IL_0058: brtrue.s IL_0092 + + IL_005a: ldc.i4.8 + IL_005b: ldc.i4.s 36 + IL_005d: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_0062: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0067: ldc.i4.2 + IL_0068: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_006d: stloc.2 + IL_006e: ldloc.2 + IL_006f: ldc.i4.0 + IL_0070: ldc.i4.0 + IL_0071: ldnull + IL_0072: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0077: stelem.ref + IL_0078: ldloc.2 + IL_0079: ldc.i4.1 + IL_007a: ldc.i4.0 + IL_007b: ldnull + IL_007c: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0081: stelem.ref + IL_0082: ldloc.2 + IL_0083: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::BinaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0088: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_008d: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer16a'::'<>p__Site16c' + IL_0092: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer16a'::'<>p__Site16c' + IL_0097: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_009c: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer16a'::'<>p__Site16c' + IL_00a1: ldloc.0 + IL_00a2: ldc.i4.2 + IL_00a3: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests::GetDynamic(int32) + IL_00a8: callvirt instance !3 class [mscorlib]System.Func`4::Invoke(!0, + !1, + !2) + IL_00ad: ret + + IL_00ae: ldloc.0 + IL_00af: ret + } // end of method DynamicTests::LogicOr + + .method private hidebysig static object + LogicOr(object a, + object b) cil managed + { + .param [0] + .custom instance void [System.Core]System.Runtime.CompilerServices.DynamicAttribute::.ctor() = ( 01 00 00 00 ) + .param [1] + .custom instance void [System.Core]System.Runtime.CompilerServices.DynamicAttribute::.ctor() = ( 01 00 00 00 ) + .param [2] + .custom instance void [System.Core]System.Runtime.CompilerServices.DynamicAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 166 (0xa6) + .maxstack 7 + .locals init (object V_0, + class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo[] V_1, + class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo[] V_2) + IL_0000: ldarg.0 + IL_0001: stloc.0 + IL_0002: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer16d'::'<>p__Site16e' + IL_0007: brtrue.s IL_0037 + + IL_0009: ldc.i4.0 + IL_000a: ldc.i4.s 83 + IL_000c: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_0011: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0016: ldc.i4.1 + IL_0017: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_001c: stloc.1 + IL_001d: ldloc.1 + IL_001e: ldc.i4.0 + IL_001f: ldc.i4.0 + IL_0020: ldnull + IL_0021: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0026: stelem.ref + IL_0027: ldloc.1 + IL_0028: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::UnaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_002d: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_0032: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer16d'::'<>p__Site16e' + IL_0037: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer16d'::'<>p__Site16e' + IL_003c: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_0041: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer16d'::'<>p__Site16e' + IL_0046: ldloc.0 + IL_0047: callvirt instance !2 class [mscorlib]System.Func`3::Invoke(!0, + !1) + IL_004c: brtrue.s IL_00a4 + + IL_004e: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer16d'::'<>p__Site16f' + IL_0053: brtrue.s IL_008d + + IL_0055: ldc.i4.8 + IL_0056: ldc.i4.s 36 + IL_0058: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_005d: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0062: ldc.i4.2 + IL_0063: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_0068: stloc.2 + IL_0069: ldloc.2 + IL_006a: ldc.i4.0 + IL_006b: ldc.i4.0 + IL_006c: ldnull + IL_006d: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0072: stelem.ref + IL_0073: ldloc.2 + IL_0074: ldc.i4.1 + IL_0075: ldc.i4.0 + IL_0076: ldnull + IL_0077: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_007c: stelem.ref + IL_007d: ldloc.2 + IL_007e: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::BinaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0083: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_0088: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer16d'::'<>p__Site16f' + IL_008d: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer16d'::'<>p__Site16f' + IL_0092: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_0097: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer16d'::'<>p__Site16f' + IL_009c: ldloc.0 + IL_009d: ldarg.1 + IL_009e: callvirt instance !3 class [mscorlib]System.Func`4::Invoke(!0, + !1, + !2) + IL_00a3: ret + + IL_00a4: ldloc.0 + IL_00a5: ret + } // end of method DynamicTests::LogicOr + + .method private hidebysig static void LogicOrExtended(int32 i, + object d) cil managed + { + .param [2] + .custom instance void [System.Core]System.Runtime.CompilerServices.DynamicAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 1100 (0x44c) + .maxstack 13 + .locals init (class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo[] V_0, + object V_1, + class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo[] V_2, + class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo[] V_3, + class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo[] V_4, + object V_5, + class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo[] V_6, + class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo[] V_7, + class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo[] V_8, + bool V_9, + class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo[] V_10, + class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo[] V_11, + bool V_12, + class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo[] V_13, + class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo[] V_14) + IL_0000: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer170'::'<>p__Site171' + IL_0005: brtrue.s IL_0048 + + IL_0007: ldc.i4 0x100 + IL_000c: ldstr "WriteLine" + IL_0011: ldnull + IL_0012: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_0017: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_001c: ldc.i4.2 + IL_001d: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_0022: stloc.0 + IL_0023: ldloc.0 + IL_0024: ldc.i4.0 + IL_0025: ldc.i4.s 33 + IL_0027: ldnull + IL_0028: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_002d: stelem.ref + IL_002e: ldloc.0 + IL_002f: ldc.i4.1 + IL_0030: ldc.i4.0 + IL_0031: ldnull + IL_0032: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0037: stelem.ref + IL_0038: ldloc.0 + IL_0039: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::InvokeMember(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + string, + class [mscorlib]System.Collections.Generic.IEnumerable`1, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_003e: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_0043: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer170'::'<>p__Site171' + IL_0048: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer170'::'<>p__Site171' + IL_004d: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_0052: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer170'::'<>p__Site171' + IL_0057: ldtoken [mscorlib]System.Console + IL_005c: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0061: ldc.i4.1 + IL_0062: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests::GetDynamic(int32) + IL_0067: stloc.1 + IL_0068: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer170'::'<>p__Site172' + IL_006d: brtrue.s IL_009d + + IL_006f: ldc.i4.0 + IL_0070: ldc.i4.s 83 + IL_0072: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_0077: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_007c: ldc.i4.1 + IL_007d: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_0082: stloc.2 + IL_0083: ldloc.2 + IL_0084: ldc.i4.0 + IL_0085: ldc.i4.0 + IL_0086: ldnull + IL_0087: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_008c: stelem.ref + IL_008d: ldloc.2 + IL_008e: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::UnaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0093: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_0098: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer170'::'<>p__Site172' + IL_009d: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer170'::'<>p__Site172' + IL_00a2: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_00a7: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer170'::'<>p__Site172' + IL_00ac: ldloc.1 + IL_00ad: callvirt instance !2 class [mscorlib]System.Func`3::Invoke(!0, + !1) + IL_00b2: brtrue.s IL_0110 + + IL_00b4: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer170'::'<>p__Site173' + IL_00b9: brtrue.s IL_00f3 + + IL_00bb: ldc.i4.8 + IL_00bc: ldc.i4.s 36 + IL_00be: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_00c3: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00c8: ldc.i4.2 + IL_00c9: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_00ce: stloc.3 + IL_00cf: ldloc.3 + IL_00d0: ldc.i4.0 + IL_00d1: ldc.i4.0 + IL_00d2: ldnull + IL_00d3: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_00d8: stelem.ref + IL_00d9: ldloc.3 + IL_00da: ldc.i4.1 + IL_00db: ldc.i4.0 + IL_00dc: ldnull + IL_00dd: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_00e2: stelem.ref + IL_00e3: ldloc.3 + IL_00e4: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::BinaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_00e9: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_00ee: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer170'::'<>p__Site173' + IL_00f3: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer170'::'<>p__Site173' + IL_00f8: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_00fd: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer170'::'<>p__Site173' + IL_0102: ldloc.1 + IL_0103: ldc.i4.2 + IL_0104: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests::GetDynamic(int32) + IL_0109: callvirt instance !3 class [mscorlib]System.Func`4::Invoke(!0, + !1, + !2) + IL_010e: br.s IL_0111 + + IL_0110: ldloc.1 + IL_0111: callvirt instance void class [mscorlib]System.Action`3::Invoke(!0, + !1, + !2) + IL_0116: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer170'::'<>p__Site174' + IL_011b: brtrue.s IL_0162 + + IL_011d: ldc.i4 0x100 + IL_0122: ldstr "WriteLine" + IL_0127: ldnull + IL_0128: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_012d: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0132: ldc.i4.2 + IL_0133: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_0138: stloc.s V_4 + IL_013a: ldloc.s V_4 + IL_013c: ldc.i4.0 + IL_013d: ldc.i4.s 33 + IL_013f: ldnull + IL_0140: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0145: stelem.ref + IL_0146: ldloc.s V_4 + IL_0148: ldc.i4.1 + IL_0149: ldc.i4.0 + IL_014a: ldnull + IL_014b: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0150: stelem.ref + IL_0151: ldloc.s V_4 + IL_0153: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::InvokeMember(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + string, + class [mscorlib]System.Collections.Generic.IEnumerable`1, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0158: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_015d: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer170'::'<>p__Site174' + IL_0162: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer170'::'<>p__Site174' + IL_0167: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_016c: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer170'::'<>p__Site174' + IL_0171: ldtoken [mscorlib]System.Console + IL_0176: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_017b: ldc.i4.1 + IL_017c: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests::GetDynamic(int32) + IL_0181: stloc.s V_5 + IL_0183: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer170'::'<>p__Site175' + IL_0188: brtrue.s IL_01bb + + IL_018a: ldc.i4.0 + IL_018b: ldc.i4.s 83 + IL_018d: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_0192: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0197: ldc.i4.1 + IL_0198: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_019d: stloc.s V_6 + IL_019f: ldloc.s V_6 + IL_01a1: ldc.i4.0 + IL_01a2: ldc.i4.0 + IL_01a3: ldnull + IL_01a4: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_01a9: stelem.ref + IL_01aa: ldloc.s V_6 + IL_01ac: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::UnaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_01b1: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_01b6: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer170'::'<>p__Site175' + IL_01bb: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer170'::'<>p__Site175' + IL_01c0: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_01c5: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer170'::'<>p__Site175' + IL_01ca: ldloc.s V_5 + IL_01cc: callvirt instance !2 class [mscorlib]System.Func`3::Invoke(!0, + !1) + IL_01d1: brtrue.s IL_0234 + + IL_01d3: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer170'::'<>p__Site176' + IL_01d8: brtrue.s IL_0216 + + IL_01da: ldc.i4.8 + IL_01db: ldc.i4.s 36 + IL_01dd: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_01e2: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_01e7: ldc.i4.2 + IL_01e8: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_01ed: stloc.s V_7 + IL_01ef: ldloc.s V_7 + IL_01f1: ldc.i4.0 + IL_01f2: ldc.i4.0 + IL_01f3: ldnull + IL_01f4: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_01f9: stelem.ref + IL_01fa: ldloc.s V_7 + IL_01fc: ldc.i4.1 + IL_01fd: ldc.i4.1 + IL_01fe: ldnull + IL_01ff: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0204: stelem.ref + IL_0205: ldloc.s V_7 + IL_0207: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::BinaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_020c: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_0211: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer170'::'<>p__Site176' + IL_0216: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer170'::'<>p__Site176' + IL_021b: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_0220: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer170'::'<>p__Site176' + IL_0225: ldloc.s V_5 + IL_0227: ldc.i4.2 + IL_0228: call bool ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests::GetBool(int32) + IL_022d: callvirt instance !3 class [mscorlib]System.Func`4::Invoke(!0, + !1, + !2) + IL_0232: br.s IL_0236 + + IL_0234: ldloc.s V_5 + IL_0236: callvirt instance void class [mscorlib]System.Action`3::Invoke(!0, + !1, + !2) + IL_023b: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer170'::'<>p__Site177' + IL_0240: brtrue.s IL_0287 + + IL_0242: ldc.i4 0x100 + IL_0247: ldstr "WriteLine" + IL_024c: ldnull + IL_024d: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_0252: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0257: ldc.i4.2 + IL_0258: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_025d: stloc.s V_8 + IL_025f: ldloc.s V_8 + IL_0261: ldc.i4.0 + IL_0262: ldc.i4.s 33 + IL_0264: ldnull + IL_0265: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_026a: stelem.ref + IL_026b: ldloc.s V_8 + IL_026d: ldc.i4.1 + IL_026e: ldc.i4.0 + IL_026f: ldnull + IL_0270: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0275: stelem.ref + IL_0276: ldloc.s V_8 + IL_0278: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::InvokeMember(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + string, + class [mscorlib]System.Collections.Generic.IEnumerable`1, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_027d: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_0282: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer170'::'<>p__Site177' + IL_0287: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer170'::'<>p__Site177' + IL_028c: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_0291: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer170'::'<>p__Site177' + IL_0296: ldtoken [mscorlib]System.Console + IL_029b: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_02a0: ldc.i4.1 + IL_02a1: call bool ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests::GetBool(int32) + IL_02a6: stloc.s V_9 + IL_02a8: ldloc.s V_9 + IL_02aa: brtrue.s IL_030d + + IL_02ac: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer170'::'<>p__Site178' + IL_02b1: brtrue.s IL_02ef + + IL_02b3: ldc.i4.8 + IL_02b4: ldc.i4.s 36 + IL_02b6: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_02bb: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_02c0: ldc.i4.2 + IL_02c1: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_02c6: stloc.s V_10 + IL_02c8: ldloc.s V_10 + IL_02ca: ldc.i4.0 + IL_02cb: ldc.i4.1 + IL_02cc: ldnull + IL_02cd: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_02d2: stelem.ref + IL_02d3: ldloc.s V_10 + IL_02d5: ldc.i4.1 + IL_02d6: ldc.i4.0 + IL_02d7: ldnull + IL_02d8: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_02dd: stelem.ref + IL_02de: ldloc.s V_10 + IL_02e0: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::BinaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_02e5: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_02ea: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer170'::'<>p__Site178' + IL_02ef: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer170'::'<>p__Site178' + IL_02f4: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_02f9: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer170'::'<>p__Site178' + IL_02fe: ldloc.s V_9 + IL_0300: ldc.i4.2 + IL_0301: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests::GetDynamic(int32) + IL_0306: callvirt instance !3 class [mscorlib]System.Func`4::Invoke(!0, + !1, + !2) + IL_030b: br.s IL_0314 + + IL_030d: ldloc.s V_9 + IL_030f: box [mscorlib]System.Boolean + IL_0314: callvirt instance void class [mscorlib]System.Action`3::Invoke(!0, + !1, + !2) + IL_0319: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer170'::'<>p__Site179' + IL_031e: brtrue.s IL_0365 + + IL_0320: ldc.i4 0x100 + IL_0325: ldstr "WriteLine" + IL_032a: ldnull + IL_032b: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_0330: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0335: ldc.i4.2 + IL_0336: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_033b: stloc.s V_11 + IL_033d: ldloc.s V_11 + IL_033f: ldc.i4.0 + IL_0340: ldc.i4.s 33 + IL_0342: ldnull + IL_0343: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0348: stelem.ref + IL_0349: ldloc.s V_11 + IL_034b: ldc.i4.1 + IL_034c: ldc.i4.0 + IL_034d: ldnull + IL_034e: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0353: stelem.ref + IL_0354: ldloc.s V_11 + IL_0356: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::InvokeMember(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + string, + class [mscorlib]System.Collections.Generic.IEnumerable`1, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_035b: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_0360: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer170'::'<>p__Site179' + IL_0365: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer170'::'<>p__Site179' + IL_036a: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_036f: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer170'::'<>p__Site179' + IL_0374: ldtoken [mscorlib]System.Console + IL_0379: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_037e: ldarg.0 + IL_037f: ldc.i4.1 + IL_0380: ceq + IL_0382: stloc.s V_12 + IL_0384: ldloc.s V_12 + IL_0386: brtrue IL_043f + + IL_038b: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer170'::'<>p__Site17a' + IL_0390: brtrue.s IL_03ce + + IL_0392: ldc.i4.8 + IL_0393: ldc.i4.s 36 + IL_0395: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_039a: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_039f: ldc.i4.2 + IL_03a0: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_03a5: stloc.s V_13 + IL_03a7: ldloc.s V_13 + IL_03a9: ldc.i4.0 + IL_03aa: ldc.i4.1 + IL_03ab: ldnull + IL_03ac: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_03b1: stelem.ref + IL_03b2: ldloc.s V_13 + IL_03b4: ldc.i4.1 + IL_03b5: ldc.i4.0 + IL_03b6: ldnull + IL_03b7: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_03bc: stelem.ref + IL_03bd: ldloc.s V_13 + IL_03bf: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::BinaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_03c4: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_03c9: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer170'::'<>p__Site17a' + IL_03ce: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer170'::'<>p__Site17a' + IL_03d3: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_03d8: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer170'::'<>p__Site17a' + IL_03dd: ldloc.s V_12 + IL_03df: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer170'::'<>p__Site17b' + IL_03e4: brtrue.s IL_0422 + + IL_03e6: ldc.i4.0 + IL_03e7: ldc.i4.s 13 + IL_03e9: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_03ee: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_03f3: ldc.i4.2 + IL_03f4: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_03f9: stloc.s V_14 + IL_03fb: ldloc.s V_14 + IL_03fd: ldc.i4.0 + IL_03fe: ldc.i4.0 + IL_03ff: ldnull + IL_0400: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0405: stelem.ref + IL_0406: ldloc.s V_14 + IL_0408: ldc.i4.1 + IL_0409: ldc.i4.2 + IL_040a: ldnull + IL_040b: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0410: stelem.ref + IL_0411: ldloc.s V_14 + IL_0413: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::BinaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0418: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_041d: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer170'::'<>p__Site17b' + IL_0422: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer170'::'<>p__Site17b' + IL_0427: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_042c: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'o__SiteContainer170'::'<>p__Site17b' + IL_0431: ldarg.1 + IL_0432: ldnull + IL_0433: callvirt instance !3 class [mscorlib]System.Func`4::Invoke(!0, + !1, + !2) + IL_0438: callvirt instance !3 class [mscorlib]System.Func`4::Invoke(!0, + !1, + !2) + IL_043d: br.s IL_0446 + + IL_043f: ldloc.s V_12 + IL_0441: box [mscorlib]System.Boolean + IL_0446: callvirt instance void class [mscorlib]System.Action`3::Invoke(!0, + !1, + !2) + IL_044b: ret + } // end of method DynamicTests::LogicOrExtended + .property instance object Property() { .custom instance void [System.Core]System.Runtime.CompilerServices.DynamicAttribute::.ctor() = ( 01 00 00 00 ) diff --git a/ICSharpCode.Decompiler.Tests/TestCases/Pretty/DynamicTests.opt.roslyn.il b/ICSharpCode.Decompiler.Tests/TestCases/Pretty/DynamicTests.opt.roslyn.il index 25c6bf4c6..5a6c96794 100644 --- a/ICSharpCode.Decompiler.Tests/TestCases/Pretty/DynamicTests.opt.roslyn.il +++ b/ICSharpCode.Decompiler.Tests/TestCases/Pretty/DynamicTests.opt.roslyn.il @@ -679,6 +679,112 @@ .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__1' } // end of class '<>o__44' + .class abstract auto ansi sealed nested private beforefieldinit '<>o__45' + extends [mscorlib]System.Object + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__0' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__1' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__2' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__3' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__4' + } // end of class '<>o__45' + + .class abstract auto ansi sealed nested private beforefieldinit '<>o__46' + extends [mscorlib]System.Object + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__0' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__1' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__2' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__3' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__4' + } // end of class '<>o__46' + + .class abstract auto ansi sealed nested private beforefieldinit '<>o__47' + extends [mscorlib]System.Object + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__0' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__1' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__2' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__3' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__4' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__5' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__6' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__7' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__8' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__9' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__10' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__11' + } // end of class '<>o__47' + + .class abstract auto ansi sealed nested private beforefieldinit '<>o__50' + extends [mscorlib]System.Object + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__0' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__1' + } // end of class '<>o__50' + + .class abstract auto ansi sealed nested private beforefieldinit '<>o__51' + extends [mscorlib]System.Object + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__0' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__1' + } // end of class '<>o__51' + + .class abstract auto ansi sealed nested private beforefieldinit '<>o__52' + extends [mscorlib]System.Object + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__0' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__1' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__2' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__3' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__4' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__5' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__6' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__7' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__8' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__9' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__10' + } // end of class '<>o__52' + + .class abstract auto ansi sealed nested private beforefieldinit '<>o__53' + extends [mscorlib]System.Object + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__0' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__1' + } // end of class '<>o__53' + + .class abstract auto ansi sealed nested private beforefieldinit '<>o__54' + extends [mscorlib]System.Object + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__0' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__1' + } // end of class '<>o__54' + + .class abstract auto ansi sealed nested private beforefieldinit '<>o__55' + extends [mscorlib]System.Object + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__0' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__1' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__2' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__3' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__4' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__5' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__6' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__7' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__8' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__9' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__10' + } // end of class '<>o__55' + .field private static object 'field' .custom instance void [System.Core]System.Runtime.CompilerServices.DynamicAttribute::.ctor() = ( 01 00 00 00 ) .field private static object objectField @@ -11787,11 +11893,2064 @@ .custom instance void [System.Core]System.Runtime.CompilerServices.DynamicAttribute::.ctor() = ( 01 00 00 00 ) .param [2] .custom instance void [System.Core]System.Runtime.CompilerServices.DynamicAttribute::.ctor() = ( 01 00 00 00 ) - // Code size 1 (0x1) - .maxstack 8 - IL_0000: ret + // Code size 410 (0x19a) + .maxstack 13 + .locals init (object V_0) + IL_0000: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__45'::'<>p__0' + IL_0005: brtrue.s IL_003d + + IL_0007: ldc.i4.0 + IL_0008: ldc.i4.s 13 + IL_000a: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_000f: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0014: ldc.i4.2 + IL_0015: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_001a: dup + IL_001b: ldc.i4.0 + IL_001c: ldc.i4.0 + IL_001d: ldnull + IL_001e: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0023: stelem.ref + IL_0024: dup + IL_0025: ldc.i4.1 + IL_0026: ldc.i4.2 + IL_0027: ldnull + IL_0028: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_002d: stelem.ref + IL_002e: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::BinaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0033: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_0038: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__45'::'<>p__0' + IL_003d: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__45'::'<>p__0' + IL_0042: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_0047: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__45'::'<>p__0' + IL_004c: ldarg.0 + IL_004d: ldnull + IL_004e: callvirt instance !3 class [mscorlib]System.Func`4::Invoke(!0, + !1, + !2) + IL_0053: stloc.0 + IL_0054: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__45'::'<>p__4' + IL_0059: brtrue.s IL_0087 + + IL_005b: ldc.i4.0 + IL_005c: ldc.i4.s 83 + IL_005e: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_0063: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0068: ldc.i4.1 + IL_0069: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_006e: dup + IL_006f: ldc.i4.0 + IL_0070: ldc.i4.0 + IL_0071: ldnull + IL_0072: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0077: stelem.ref + IL_0078: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::UnaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_007d: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_0082: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__45'::'<>p__4' + IL_0087: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__45'::'<>p__4' + IL_008c: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_0091: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__45'::'<>p__4' + IL_0096: ldloc.0 + IL_0097: callvirt instance !2 class [mscorlib]System.Func`3::Invoke(!0, + !1) + IL_009c: brtrue IL_018f + + IL_00a1: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__45'::'<>p__3' + IL_00a6: brtrue.s IL_00d4 + + IL_00a8: ldc.i4.0 + IL_00a9: ldc.i4.s 83 + IL_00ab: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_00b0: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00b5: ldc.i4.1 + IL_00b6: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_00bb: dup + IL_00bc: ldc.i4.0 + IL_00bd: ldc.i4.0 + IL_00be: ldnull + IL_00bf: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_00c4: stelem.ref + IL_00c5: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::UnaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_00ca: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_00cf: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__45'::'<>p__3' + IL_00d4: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__45'::'<>p__3' + IL_00d9: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_00de: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__45'::'<>p__3' + IL_00e3: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__45'::'<>p__2' + IL_00e8: brtrue.s IL_0120 + + IL_00ea: ldc.i4.8 + IL_00eb: ldc.i4.s 36 + IL_00ed: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_00f2: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00f7: ldc.i4.2 + IL_00f8: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_00fd: dup + IL_00fe: ldc.i4.0 + IL_00ff: ldc.i4.0 + IL_0100: ldnull + IL_0101: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0106: stelem.ref + IL_0107: dup + IL_0108: ldc.i4.1 + IL_0109: ldc.i4.0 + IL_010a: ldnull + IL_010b: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0110: stelem.ref + IL_0111: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::BinaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0116: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_011b: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__45'::'<>p__2' + IL_0120: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__45'::'<>p__2' + IL_0125: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_012a: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__45'::'<>p__2' + IL_012f: ldloc.0 + IL_0130: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__45'::'<>p__1' + IL_0135: brtrue.s IL_016d + + IL_0137: ldc.i4.0 + IL_0138: ldc.i4.s 13 + IL_013a: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_013f: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0144: ldc.i4.2 + IL_0145: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_014a: dup + IL_014b: ldc.i4.0 + IL_014c: ldc.i4.0 + IL_014d: ldnull + IL_014e: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0153: stelem.ref + IL_0154: dup + IL_0155: ldc.i4.1 + IL_0156: ldc.i4.2 + IL_0157: ldnull + IL_0158: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_015d: stelem.ref + IL_015e: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::BinaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0163: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_0168: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__45'::'<>p__1' + IL_016d: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__45'::'<>p__1' + IL_0172: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_0177: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__45'::'<>p__1' + IL_017c: ldarg.1 + IL_017d: ldnull + IL_017e: callvirt instance !3 class [mscorlib]System.Func`4::Invoke(!0, + !1, + !2) + IL_0183: callvirt instance !3 class [mscorlib]System.Func`4::Invoke(!0, + !1, + !2) + IL_0188: callvirt instance !2 class [mscorlib]System.Func`3::Invoke(!0, + !1) + IL_018d: brfalse.s IL_0199 + + IL_018f: ldstr "One is null" + IL_0194: call void [mscorlib]System.Console::WriteLine(string) + IL_0199: ret } // end of method DynamicTests::If2 + .method private hidebysig static void If3(object a, + object b) cil managed + { + .param [1] + .custom instance void [System.Core]System.Runtime.CompilerServices.DynamicAttribute::.ctor() = ( 01 00 00 00 ) + .param [2] + .custom instance void [System.Core]System.Runtime.CompilerServices.DynamicAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 412 (0x19c) + .maxstack 13 + .locals init (object V_0) + IL_0000: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__46'::'<>p__4' + IL_0005: brtrue.s IL_0033 + + IL_0007: ldc.i4.0 + IL_0008: ldc.i4.s 83 + IL_000a: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_000f: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0014: ldc.i4.1 + IL_0015: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_001a: dup + IL_001b: ldc.i4.0 + IL_001c: ldc.i4.0 + IL_001d: ldnull + IL_001e: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0023: stelem.ref + IL_0024: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::UnaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0029: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_002e: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__46'::'<>p__4' + IL_0033: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__46'::'<>p__4' + IL_0038: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_003d: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__46'::'<>p__4' + IL_0042: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__46'::'<>p__0' + IL_0047: brtrue.s IL_007f + + IL_0049: ldc.i4.0 + IL_004a: ldc.i4.s 13 + IL_004c: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_0051: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0056: ldc.i4.2 + IL_0057: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_005c: dup + IL_005d: ldc.i4.0 + IL_005e: ldc.i4.0 + IL_005f: ldnull + IL_0060: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0065: stelem.ref + IL_0066: dup + IL_0067: ldc.i4.1 + IL_0068: ldc.i4.2 + IL_0069: ldnull + IL_006a: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_006f: stelem.ref + IL_0070: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::BinaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0075: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_007a: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__46'::'<>p__0' + IL_007f: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__46'::'<>p__0' + IL_0084: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_0089: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__46'::'<>p__0' + IL_008e: ldarg.0 + IL_008f: ldnull + IL_0090: callvirt instance !3 class [mscorlib]System.Func`4::Invoke(!0, + !1, + !2) + IL_0095: stloc.0 + IL_0096: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__46'::'<>p__3' + IL_009b: brtrue.s IL_00c9 + + IL_009d: ldc.i4.0 + IL_009e: ldc.i4.s 84 + IL_00a0: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_00a5: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00aa: ldc.i4.1 + IL_00ab: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_00b0: dup + IL_00b1: ldc.i4.0 + IL_00b2: ldc.i4.0 + IL_00b3: ldnull + IL_00b4: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_00b9: stelem.ref + IL_00ba: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::UnaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_00bf: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_00c4: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__46'::'<>p__3' + IL_00c9: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__46'::'<>p__3' + IL_00ce: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_00d3: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__46'::'<>p__3' + IL_00d8: ldloc.0 + IL_00d9: callvirt instance !2 class [mscorlib]System.Func`3::Invoke(!0, + !1) + IL_00de: brtrue IL_0189 + + IL_00e3: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__46'::'<>p__2' + IL_00e8: brtrue.s IL_011f + + IL_00ea: ldc.i4.8 + IL_00eb: ldc.i4.2 + IL_00ec: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_00f1: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00f6: ldc.i4.2 + IL_00f7: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_00fc: dup + IL_00fd: ldc.i4.0 + IL_00fe: ldc.i4.0 + IL_00ff: ldnull + IL_0100: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0105: stelem.ref + IL_0106: dup + IL_0107: ldc.i4.1 + IL_0108: ldc.i4.0 + IL_0109: ldnull + IL_010a: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_010f: stelem.ref + IL_0110: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::BinaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0115: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_011a: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__46'::'<>p__2' + IL_011f: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__46'::'<>p__2' + IL_0124: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_0129: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__46'::'<>p__2' + IL_012e: ldloc.0 + IL_012f: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__46'::'<>p__1' + IL_0134: brtrue.s IL_016c + + IL_0136: ldc.i4.0 + IL_0137: ldc.i4.s 13 + IL_0139: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_013e: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0143: ldc.i4.2 + IL_0144: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_0149: dup + IL_014a: ldc.i4.0 + IL_014b: ldc.i4.0 + IL_014c: ldnull + IL_014d: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0152: stelem.ref + IL_0153: dup + IL_0154: ldc.i4.1 + IL_0155: ldc.i4.2 + IL_0156: ldnull + IL_0157: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_015c: stelem.ref + IL_015d: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::BinaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0162: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_0167: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__46'::'<>p__1' + IL_016c: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__46'::'<>p__1' + IL_0171: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_0176: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__46'::'<>p__1' + IL_017b: ldarg.1 + IL_017c: ldnull + IL_017d: callvirt instance !3 class [mscorlib]System.Func`4::Invoke(!0, + !1, + !2) + IL_0182: callvirt instance !3 class [mscorlib]System.Func`4::Invoke(!0, + !1, + !2) + IL_0187: br.s IL_018a + + IL_0189: ldloc.0 + IL_018a: callvirt instance !2 class [mscorlib]System.Func`3::Invoke(!0, + !1) + IL_018f: brfalse.s IL_019b + + IL_0191: ldstr "Both are null" + IL_0196: call void [mscorlib]System.Console::WriteLine(string) + IL_019b: ret + } // end of method DynamicTests::If3 + + .method private hidebysig static void If4(object a, + object b) cil managed + { + .param [1] + .custom instance void [System.Core]System.Runtime.CompilerServices.DynamicAttribute::.ctor() = ( 01 00 00 00 ) + .param [2] + .custom instance void [System.Core]System.Runtime.CompilerServices.DynamicAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 993 (0x3e1) + .maxstack 15 + .locals init (object V_0, + object V_1, + object V_2) + IL_0000: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__47'::'<>p__11' + IL_0005: brtrue.s IL_0033 + + IL_0007: ldc.i4.0 + IL_0008: ldc.i4.s 83 + IL_000a: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_000f: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0014: ldc.i4.1 + IL_0015: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_001a: dup + IL_001b: ldc.i4.0 + IL_001c: ldc.i4.0 + IL_001d: ldnull + IL_001e: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0023: stelem.ref + IL_0024: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::UnaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0029: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_002e: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__47'::'<>p__11' + IL_0033: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__47'::'<>p__11' + IL_0038: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_003d: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__47'::'<>p__11' + IL_0042: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__47'::'<>p__0' + IL_0047: brtrue.s IL_007f + + IL_0049: ldc.i4.0 + IL_004a: ldc.i4.s 13 + IL_004c: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_0051: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0056: ldc.i4.2 + IL_0057: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_005c: dup + IL_005d: ldc.i4.0 + IL_005e: ldc.i4.0 + IL_005f: ldnull + IL_0060: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0065: stelem.ref + IL_0066: dup + IL_0067: ldc.i4.1 + IL_0068: ldc.i4.2 + IL_0069: ldnull + IL_006a: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_006f: stelem.ref + IL_0070: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::BinaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0075: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_007a: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__47'::'<>p__0' + IL_007f: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__47'::'<>p__0' + IL_0084: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_0089: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__47'::'<>p__0' + IL_008e: ldarg.0 + IL_008f: ldnull + IL_0090: callvirt instance !3 class [mscorlib]System.Func`4::Invoke(!0, + !1, + !2) + IL_0095: stloc.2 + IL_0096: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__47'::'<>p__3' + IL_009b: brtrue.s IL_00c9 + + IL_009d: ldc.i4.0 + IL_009e: ldc.i4.s 83 + IL_00a0: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_00a5: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00aa: ldc.i4.1 + IL_00ab: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_00b0: dup + IL_00b1: ldc.i4.0 + IL_00b2: ldc.i4.0 + IL_00b3: ldnull + IL_00b4: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_00b9: stelem.ref + IL_00ba: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::UnaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_00bf: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_00c4: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__47'::'<>p__3' + IL_00c9: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__47'::'<>p__3' + IL_00ce: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_00d3: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__47'::'<>p__3' + IL_00d8: ldloc.2 + IL_00d9: callvirt instance !2 class [mscorlib]System.Func`3::Invoke(!0, + !1) + IL_00de: brtrue IL_018a + + IL_00e3: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__47'::'<>p__2' + IL_00e8: brtrue.s IL_0120 + + IL_00ea: ldc.i4.8 + IL_00eb: ldc.i4.s 36 + IL_00ed: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_00f2: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00f7: ldc.i4.2 + IL_00f8: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_00fd: dup + IL_00fe: ldc.i4.0 + IL_00ff: ldc.i4.0 + IL_0100: ldnull + IL_0101: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0106: stelem.ref + IL_0107: dup + IL_0108: ldc.i4.1 + IL_0109: ldc.i4.0 + IL_010a: ldnull + IL_010b: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0110: stelem.ref + IL_0111: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::BinaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0116: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_011b: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__47'::'<>p__2' + IL_0120: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__47'::'<>p__2' + IL_0125: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_012a: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__47'::'<>p__2' + IL_012f: ldloc.2 + IL_0130: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__47'::'<>p__1' + IL_0135: brtrue.s IL_016d + + IL_0137: ldc.i4.0 + IL_0138: ldc.i4.s 13 + IL_013a: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_013f: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0144: ldc.i4.2 + IL_0145: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_014a: dup + IL_014b: ldc.i4.0 + IL_014c: ldc.i4.0 + IL_014d: ldnull + IL_014e: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0153: stelem.ref + IL_0154: dup + IL_0155: ldc.i4.1 + IL_0156: ldc.i4.2 + IL_0157: ldnull + IL_0158: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_015d: stelem.ref + IL_015e: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::BinaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0163: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_0168: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__47'::'<>p__1' + IL_016d: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__47'::'<>p__1' + IL_0172: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_0177: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__47'::'<>p__1' + IL_017c: ldarg.1 + IL_017d: ldnull + IL_017e: callvirt instance !3 class [mscorlib]System.Func`4::Invoke(!0, + !1, + !2) + IL_0183: callvirt instance !3 class [mscorlib]System.Func`4::Invoke(!0, + !1, + !2) + IL_0188: br.s IL_018b + + IL_018a: ldloc.2 + IL_018b: stloc.1 + IL_018c: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__47'::'<>p__5' + IL_0191: brtrue.s IL_01bf + + IL_0193: ldc.i4.0 + IL_0194: ldc.i4.s 84 + IL_0196: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_019b: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_01a0: ldc.i4.1 + IL_01a1: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_01a6: dup + IL_01a7: ldc.i4.0 + IL_01a8: ldc.i4.0 + IL_01a9: ldnull + IL_01aa: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_01af: stelem.ref + IL_01b0: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::UnaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_01b5: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_01ba: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__47'::'<>p__5' + IL_01bf: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__47'::'<>p__5' + IL_01c4: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_01c9: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__47'::'<>p__5' + IL_01ce: ldloc.1 + IL_01cf: callvirt instance !2 class [mscorlib]System.Func`3::Invoke(!0, + !1) + IL_01d4: brtrue.s IL_022f + + IL_01d6: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__47'::'<>p__4' + IL_01db: brtrue.s IL_0212 + + IL_01dd: ldc.i4.8 + IL_01de: ldc.i4.2 + IL_01df: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_01e4: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_01e9: ldc.i4.2 + IL_01ea: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_01ef: dup + IL_01f0: ldc.i4.0 + IL_01f1: ldc.i4.0 + IL_01f2: ldnull + IL_01f3: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_01f8: stelem.ref + IL_01f9: dup + IL_01fa: ldc.i4.1 + IL_01fb: ldc.i4.0 + IL_01fc: ldnull + IL_01fd: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0202: stelem.ref + IL_0203: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::BinaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0208: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_020d: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__47'::'<>p__4' + IL_0212: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__47'::'<>p__4' + IL_0217: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_021c: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__47'::'<>p__4' + IL_0221: ldloc.1 + IL_0222: ldc.i4.1 + IL_0223: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests::GetDynamic(int32) + IL_0228: callvirt instance !3 class [mscorlib]System.Func`4::Invoke(!0, + !1, + !2) + IL_022d: br.s IL_0230 + + IL_022f: ldloc.1 + IL_0230: stloc.0 + IL_0231: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__47'::'<>p__10' + IL_0236: brtrue.s IL_0264 + + IL_0238: ldc.i4.0 + IL_0239: ldc.i4.s 84 + IL_023b: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_0240: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0245: ldc.i4.1 + IL_0246: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_024b: dup + IL_024c: ldc.i4.0 + IL_024d: ldc.i4.0 + IL_024e: ldnull + IL_024f: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0254: stelem.ref + IL_0255: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::UnaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_025a: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_025f: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__47'::'<>p__10' + IL_0264: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__47'::'<>p__10' + IL_0269: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_026e: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__47'::'<>p__10' + IL_0273: ldloc.0 + IL_0274: callvirt instance !2 class [mscorlib]System.Func`3::Invoke(!0, + !1) + IL_0279: brtrue IL_03c3 + + IL_027e: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__47'::'<>p__9' + IL_0283: brtrue.s IL_02ba + + IL_0285: ldc.i4.8 + IL_0286: ldc.i4.2 + IL_0287: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_028c: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0291: ldc.i4.2 + IL_0292: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_0297: dup + IL_0298: ldc.i4.0 + IL_0299: ldc.i4.0 + IL_029a: ldnull + IL_029b: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_02a0: stelem.ref + IL_02a1: dup + IL_02a2: ldc.i4.1 + IL_02a3: ldc.i4.0 + IL_02a4: ldnull + IL_02a5: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_02aa: stelem.ref + IL_02ab: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::BinaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_02b0: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_02b5: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__47'::'<>p__9' + IL_02ba: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__47'::'<>p__9' + IL_02bf: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_02c4: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__47'::'<>p__9' + IL_02c9: ldloc.0 + IL_02ca: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__47'::'<>p__8' + IL_02cf: brtrue.s IL_02fd + + IL_02d1: ldc.i4.0 + IL_02d2: ldc.i4.s 34 + IL_02d4: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_02d9: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_02de: ldc.i4.1 + IL_02df: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_02e4: dup + IL_02e5: ldc.i4.0 + IL_02e6: ldc.i4.0 + IL_02e7: ldnull + IL_02e8: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_02ed: stelem.ref + IL_02ee: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::UnaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_02f3: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_02f8: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__47'::'<>p__8' + IL_02fd: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__47'::'<>p__8' + IL_0302: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_0307: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__47'::'<>p__8' + IL_030c: ldc.i4.2 + IL_030d: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests::GetDynamic(int32) + IL_0312: stloc.1 + IL_0313: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__47'::'<>p__7' + IL_0318: brtrue.s IL_0346 + + IL_031a: ldc.i4.0 + IL_031b: ldc.i4.s 84 + IL_031d: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_0322: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0327: ldc.i4.1 + IL_0328: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_032d: dup + IL_032e: ldc.i4.0 + IL_032f: ldc.i4.0 + IL_0330: ldnull + IL_0331: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0336: stelem.ref + IL_0337: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::UnaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_033c: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_0341: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__47'::'<>p__7' + IL_0346: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__47'::'<>p__7' + IL_034b: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_0350: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__47'::'<>p__7' + IL_0355: ldloc.1 + IL_0356: callvirt instance !2 class [mscorlib]System.Func`3::Invoke(!0, + !1) + IL_035b: brtrue.s IL_03b6 + + IL_035d: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__47'::'<>p__6' + IL_0362: brtrue.s IL_0399 + + IL_0364: ldc.i4.8 + IL_0365: ldc.i4.2 + IL_0366: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_036b: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0370: ldc.i4.2 + IL_0371: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_0376: dup + IL_0377: ldc.i4.0 + IL_0378: ldc.i4.0 + IL_0379: ldnull + IL_037a: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_037f: stelem.ref + IL_0380: dup + IL_0381: ldc.i4.1 + IL_0382: ldc.i4.0 + IL_0383: ldnull + IL_0384: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0389: stelem.ref + IL_038a: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::BinaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_038f: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_0394: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__47'::'<>p__6' + IL_0399: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__47'::'<>p__6' + IL_039e: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_03a3: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__47'::'<>p__6' + IL_03a8: ldloc.1 + IL_03a9: ldc.i4.3 + IL_03aa: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests::GetDynamic(int32) + IL_03af: callvirt instance !3 class [mscorlib]System.Func`4::Invoke(!0, + !1, + !2) + IL_03b4: br.s IL_03b7 + + IL_03b6: ldloc.1 + IL_03b7: callvirt instance !2 class [mscorlib]System.Func`3::Invoke(!0, + !1) + IL_03bc: callvirt instance !3 class [mscorlib]System.Func`4::Invoke(!0, + !1, + !2) + IL_03c1: br.s IL_03c4 + + IL_03c3: ldloc.0 + IL_03c4: callvirt instance !2 class [mscorlib]System.Func`3::Invoke(!0, + !1) + IL_03c9: brfalse.s IL_03d6 + + IL_03cb: ldstr "then" + IL_03d0: call void [mscorlib]System.Console::WriteLine(string) + IL_03d5: ret + + IL_03d6: ldstr "else" + IL_03db: call void [mscorlib]System.Console::WriteLine(string) + IL_03e0: ret + } // end of method DynamicTests::If4 + + .method private hidebysig static object + GetDynamic(int32 i) cil managed + { + .param [0] + .custom instance void [System.Core]System.Runtime.CompilerServices.DynamicAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 2 (0x2) + .maxstack 8 + IL_0000: ldnull + IL_0001: ret + } // end of method DynamicTests::GetDynamic + + .method private hidebysig static bool GetBool(int32 i) cil managed + { + // Code size 2 (0x2) + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: ret + } // end of method DynamicTests::GetBool + + .method private hidebysig static object + LogicAnd() cil managed + { + .param [0] + .custom instance void [System.Core]System.Runtime.CompilerServices.DynamicAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 171 (0xab) + .maxstack 8 + .locals init (object V_0) + IL_0000: ldc.i4.1 + IL_0001: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests::GetDynamic(int32) + IL_0006: stloc.0 + IL_0007: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__50'::'<>p__1' + IL_000c: brtrue.s IL_003a + + IL_000e: ldc.i4.0 + IL_000f: ldc.i4.s 84 + IL_0011: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_0016: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_001b: ldc.i4.1 + IL_001c: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_0021: dup + IL_0022: ldc.i4.0 + IL_0023: ldc.i4.0 + IL_0024: ldnull + IL_0025: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_002a: stelem.ref + IL_002b: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::UnaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0030: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_0035: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__50'::'<>p__1' + IL_003a: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__50'::'<>p__1' + IL_003f: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_0044: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__50'::'<>p__1' + IL_0049: ldloc.0 + IL_004a: callvirt instance !2 class [mscorlib]System.Func`3::Invoke(!0, + !1) + IL_004f: brtrue.s IL_00a9 + + IL_0051: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__50'::'<>p__0' + IL_0056: brtrue.s IL_008d + + IL_0058: ldc.i4.8 + IL_0059: ldc.i4.2 + IL_005a: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_005f: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0064: ldc.i4.2 + IL_0065: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_006a: dup + IL_006b: ldc.i4.0 + IL_006c: ldc.i4.0 + IL_006d: ldnull + IL_006e: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0073: stelem.ref + IL_0074: dup + IL_0075: ldc.i4.1 + IL_0076: ldc.i4.0 + IL_0077: ldnull + IL_0078: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_007d: stelem.ref + IL_007e: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::BinaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0083: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_0088: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__50'::'<>p__0' + IL_008d: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__50'::'<>p__0' + IL_0092: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_0097: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__50'::'<>p__0' + IL_009c: ldloc.0 + IL_009d: ldc.i4.2 + IL_009e: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests::GetDynamic(int32) + IL_00a3: callvirt instance !3 class [mscorlib]System.Func`4::Invoke(!0, + !1, + !2) + IL_00a8: ret + + IL_00a9: ldloc.0 + IL_00aa: ret + } // end of method DynamicTests::LogicAnd + + .method private hidebysig static object + LogicAnd(object a, + object b) cil managed + { + .param [0] + .custom instance void [System.Core]System.Runtime.CompilerServices.DynamicAttribute::.ctor() = ( 01 00 00 00 ) + .param [1] + .custom instance void [System.Core]System.Runtime.CompilerServices.DynamicAttribute::.ctor() = ( 01 00 00 00 ) + .param [2] + .custom instance void [System.Core]System.Runtime.CompilerServices.DynamicAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 159 (0x9f) + .maxstack 8 + IL_0000: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__51'::'<>p__1' + IL_0005: brtrue.s IL_0033 + + IL_0007: ldc.i4.0 + IL_0008: ldc.i4.s 84 + IL_000a: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_000f: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0014: ldc.i4.1 + IL_0015: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_001a: dup + IL_001b: ldc.i4.0 + IL_001c: ldc.i4.0 + IL_001d: ldnull + IL_001e: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0023: stelem.ref + IL_0024: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::UnaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0029: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_002e: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__51'::'<>p__1' + IL_0033: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__51'::'<>p__1' + IL_0038: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_003d: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__51'::'<>p__1' + IL_0042: ldarg.0 + IL_0043: callvirt instance !2 class [mscorlib]System.Func`3::Invoke(!0, + !1) + IL_0048: brtrue.s IL_009d + + IL_004a: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__51'::'<>p__0' + IL_004f: brtrue.s IL_0086 + + IL_0051: ldc.i4.8 + IL_0052: ldc.i4.2 + IL_0053: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_0058: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_005d: ldc.i4.2 + IL_005e: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_0063: dup + IL_0064: ldc.i4.0 + IL_0065: ldc.i4.0 + IL_0066: ldnull + IL_0067: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_006c: stelem.ref + IL_006d: dup + IL_006e: ldc.i4.1 + IL_006f: ldc.i4.0 + IL_0070: ldnull + IL_0071: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0076: stelem.ref + IL_0077: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::BinaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_007c: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_0081: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__51'::'<>p__0' + IL_0086: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__51'::'<>p__0' + IL_008b: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_0090: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__51'::'<>p__0' + IL_0095: ldarg.0 + IL_0096: ldarg.1 + IL_0097: callvirt instance !3 class [mscorlib]System.Func`4::Invoke(!0, + !1, + !2) + IL_009c: ret + + IL_009d: ldarg.0 + IL_009e: ret + } // end of method DynamicTests::LogicAnd + + .method private hidebysig static void LogicAndExtended(int32 i, + object d) cil managed + { + .param [2] + .custom instance void [System.Core]System.Runtime.CompilerServices.DynamicAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 1031 (0x407) + .maxstack 14 + .locals init (object V_0, + bool V_1) + IL_0000: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__52'::'<>p__2' + IL_0005: brtrue.s IL_0046 + + IL_0007: ldc.i4 0x100 + IL_000c: ldstr "WriteLine" + IL_0011: ldnull + IL_0012: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_0017: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_001c: ldc.i4.2 + IL_001d: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_0022: dup + IL_0023: ldc.i4.0 + IL_0024: ldc.i4.s 33 + IL_0026: ldnull + IL_0027: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_002c: stelem.ref + IL_002d: dup + IL_002e: ldc.i4.1 + IL_002f: ldc.i4.0 + IL_0030: ldnull + IL_0031: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0036: stelem.ref + IL_0037: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::InvokeMember(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + string, + class [mscorlib]System.Collections.Generic.IEnumerable`1, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_003c: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_0041: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__52'::'<>p__2' + IL_0046: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__52'::'<>p__2' + IL_004b: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_0050: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__52'::'<>p__2' + IL_0055: ldtoken [mscorlib]System.Console + IL_005a: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_005f: ldc.i4.1 + IL_0060: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests::GetDynamic(int32) + IL_0065: stloc.0 + IL_0066: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__52'::'<>p__1' + IL_006b: brtrue.s IL_0099 + + IL_006d: ldc.i4.0 + IL_006e: ldc.i4.s 84 + IL_0070: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_0075: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_007a: ldc.i4.1 + IL_007b: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_0080: dup + IL_0081: ldc.i4.0 + IL_0082: ldc.i4.0 + IL_0083: ldnull + IL_0084: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0089: stelem.ref + IL_008a: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::UnaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_008f: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_0094: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__52'::'<>p__1' + IL_0099: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__52'::'<>p__1' + IL_009e: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_00a3: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__52'::'<>p__1' + IL_00a8: ldloc.0 + IL_00a9: callvirt instance !2 class [mscorlib]System.Func`3::Invoke(!0, + !1) + IL_00ae: brtrue.s IL_0109 + + IL_00b0: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__52'::'<>p__0' + IL_00b5: brtrue.s IL_00ec + + IL_00b7: ldc.i4.8 + IL_00b8: ldc.i4.2 + IL_00b9: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_00be: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00c3: ldc.i4.2 + IL_00c4: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_00c9: dup + IL_00ca: ldc.i4.0 + IL_00cb: ldc.i4.0 + IL_00cc: ldnull + IL_00cd: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_00d2: stelem.ref + IL_00d3: dup + IL_00d4: ldc.i4.1 + IL_00d5: ldc.i4.0 + IL_00d6: ldnull + IL_00d7: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_00dc: stelem.ref + IL_00dd: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::BinaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_00e2: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_00e7: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__52'::'<>p__0' + IL_00ec: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__52'::'<>p__0' + IL_00f1: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_00f6: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__52'::'<>p__0' + IL_00fb: ldloc.0 + IL_00fc: ldc.i4.2 + IL_00fd: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests::GetDynamic(int32) + IL_0102: callvirt instance !3 class [mscorlib]System.Func`4::Invoke(!0, + !1, + !2) + IL_0107: br.s IL_010a + + IL_0109: ldloc.0 + IL_010a: callvirt instance void class [mscorlib]System.Action`3::Invoke(!0, + !1, + !2) + IL_010f: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__52'::'<>p__5' + IL_0114: brtrue.s IL_0155 + + IL_0116: ldc.i4 0x100 + IL_011b: ldstr "WriteLine" + IL_0120: ldnull + IL_0121: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_0126: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_012b: ldc.i4.2 + IL_012c: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_0131: dup + IL_0132: ldc.i4.0 + IL_0133: ldc.i4.s 33 + IL_0135: ldnull + IL_0136: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_013b: stelem.ref + IL_013c: dup + IL_013d: ldc.i4.1 + IL_013e: ldc.i4.0 + IL_013f: ldnull + IL_0140: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0145: stelem.ref + IL_0146: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::InvokeMember(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + string, + class [mscorlib]System.Collections.Generic.IEnumerable`1, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_014b: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_0150: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__52'::'<>p__5' + IL_0155: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__52'::'<>p__5' + IL_015a: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_015f: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__52'::'<>p__5' + IL_0164: ldtoken [mscorlib]System.Console + IL_0169: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_016e: ldc.i4.1 + IL_016f: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests::GetDynamic(int32) + IL_0174: stloc.0 + IL_0175: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__52'::'<>p__4' + IL_017a: brtrue.s IL_01a8 + + IL_017c: ldc.i4.0 + IL_017d: ldc.i4.s 84 + IL_017f: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_0184: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0189: ldc.i4.1 + IL_018a: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_018f: dup + IL_0190: ldc.i4.0 + IL_0191: ldc.i4.0 + IL_0192: ldnull + IL_0193: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0198: stelem.ref + IL_0199: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::UnaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_019e: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_01a3: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__52'::'<>p__4' + IL_01a8: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__52'::'<>p__4' + IL_01ad: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_01b2: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__52'::'<>p__4' + IL_01b7: ldloc.0 + IL_01b8: callvirt instance !2 class [mscorlib]System.Func`3::Invoke(!0, + !1) + IL_01bd: brtrue.s IL_0218 + + IL_01bf: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__52'::'<>p__3' + IL_01c4: brtrue.s IL_01fb + + IL_01c6: ldc.i4.8 + IL_01c7: ldc.i4.2 + IL_01c8: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_01cd: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_01d2: ldc.i4.2 + IL_01d3: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_01d8: dup + IL_01d9: ldc.i4.0 + IL_01da: ldc.i4.0 + IL_01db: ldnull + IL_01dc: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_01e1: stelem.ref + IL_01e2: dup + IL_01e3: ldc.i4.1 + IL_01e4: ldc.i4.1 + IL_01e5: ldnull + IL_01e6: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_01eb: stelem.ref + IL_01ec: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::BinaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_01f1: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_01f6: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__52'::'<>p__3' + IL_01fb: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__52'::'<>p__3' + IL_0200: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_0205: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__52'::'<>p__3' + IL_020a: ldloc.0 + IL_020b: ldc.i4.2 + IL_020c: call bool ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests::GetBool(int32) + IL_0211: callvirt instance !3 class [mscorlib]System.Func`4::Invoke(!0, + !1, + !2) + IL_0216: br.s IL_0219 + + IL_0218: ldloc.0 + IL_0219: callvirt instance void class [mscorlib]System.Action`3::Invoke(!0, + !1, + !2) + IL_021e: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__52'::'<>p__7' + IL_0223: brtrue.s IL_0264 + + IL_0225: ldc.i4 0x100 + IL_022a: ldstr "WriteLine" + IL_022f: ldnull + IL_0230: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_0235: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_023a: ldc.i4.2 + IL_023b: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_0240: dup + IL_0241: ldc.i4.0 + IL_0242: ldc.i4.s 33 + IL_0244: ldnull + IL_0245: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_024a: stelem.ref + IL_024b: dup + IL_024c: ldc.i4.1 + IL_024d: ldc.i4.0 + IL_024e: ldnull + IL_024f: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0254: stelem.ref + IL_0255: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::InvokeMember(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + string, + class [mscorlib]System.Collections.Generic.IEnumerable`1, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_025a: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_025f: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__52'::'<>p__7' + IL_0264: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__52'::'<>p__7' + IL_0269: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_026e: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__52'::'<>p__7' + IL_0273: ldtoken [mscorlib]System.Console + IL_0278: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_027d: ldc.i4.1 + IL_027e: call bool ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests::GetBool(int32) + IL_0283: stloc.1 + IL_0284: ldloc.1 + IL_0285: brfalse.s IL_02e0 + + IL_0287: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__52'::'<>p__6' + IL_028c: brtrue.s IL_02c3 + + IL_028e: ldc.i4.8 + IL_028f: ldc.i4.2 + IL_0290: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_0295: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_029a: ldc.i4.2 + IL_029b: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_02a0: dup + IL_02a1: ldc.i4.0 + IL_02a2: ldc.i4.1 + IL_02a3: ldnull + IL_02a4: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_02a9: stelem.ref + IL_02aa: dup + IL_02ab: ldc.i4.1 + IL_02ac: ldc.i4.0 + IL_02ad: ldnull + IL_02ae: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_02b3: stelem.ref + IL_02b4: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::BinaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_02b9: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_02be: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__52'::'<>p__6' + IL_02c3: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__52'::'<>p__6' + IL_02c8: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_02cd: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__52'::'<>p__6' + IL_02d2: ldloc.1 + IL_02d3: ldc.i4.2 + IL_02d4: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests::GetDynamic(int32) + IL_02d9: callvirt instance !3 class [mscorlib]System.Func`4::Invoke(!0, + !1, + !2) + IL_02de: br.s IL_02e6 + + IL_02e0: ldloc.1 + IL_02e1: box [mscorlib]System.Boolean + IL_02e6: callvirt instance void class [mscorlib]System.Action`3::Invoke(!0, + !1, + !2) + IL_02eb: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__52'::'<>p__10' + IL_02f0: brtrue.s IL_0331 + + IL_02f2: ldc.i4 0x100 + IL_02f7: ldstr "WriteLine" + IL_02fc: ldnull + IL_02fd: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_0302: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0307: ldc.i4.2 + IL_0308: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_030d: dup + IL_030e: ldc.i4.0 + IL_030f: ldc.i4.s 33 + IL_0311: ldnull + IL_0312: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0317: stelem.ref + IL_0318: dup + IL_0319: ldc.i4.1 + IL_031a: ldc.i4.0 + IL_031b: ldnull + IL_031c: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0321: stelem.ref + IL_0322: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::InvokeMember(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + string, + class [mscorlib]System.Collections.Generic.IEnumerable`1, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0327: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_032c: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__52'::'<>p__10' + IL_0331: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__52'::'<>p__10' + IL_0336: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_033b: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__52'::'<>p__10' + IL_0340: ldtoken [mscorlib]System.Console + IL_0345: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_034a: ldarg.0 + IL_034b: ldc.i4.1 + IL_034c: ceq + IL_034e: stloc.1 + IL_034f: ldloc.1 + IL_0350: brfalse IL_03fb + + IL_0355: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__52'::'<>p__9' + IL_035a: brtrue.s IL_0391 + + IL_035c: ldc.i4.8 + IL_035d: ldc.i4.2 + IL_035e: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_0363: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0368: ldc.i4.2 + IL_0369: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_036e: dup + IL_036f: ldc.i4.0 + IL_0370: ldc.i4.1 + IL_0371: ldnull + IL_0372: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0377: stelem.ref + IL_0378: dup + IL_0379: ldc.i4.1 + IL_037a: ldc.i4.0 + IL_037b: ldnull + IL_037c: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0381: stelem.ref + IL_0382: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::BinaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0387: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_038c: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__52'::'<>p__9' + IL_0391: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__52'::'<>p__9' + IL_0396: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_039b: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__52'::'<>p__9' + IL_03a0: ldloc.1 + IL_03a1: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__52'::'<>p__8' + IL_03a6: brtrue.s IL_03de + + IL_03a8: ldc.i4.0 + IL_03a9: ldc.i4.s 13 + IL_03ab: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_03b0: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_03b5: ldc.i4.2 + IL_03b6: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_03bb: dup + IL_03bc: ldc.i4.0 + IL_03bd: ldc.i4.0 + IL_03be: ldnull + IL_03bf: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_03c4: stelem.ref + IL_03c5: dup + IL_03c6: ldc.i4.1 + IL_03c7: ldc.i4.2 + IL_03c8: ldnull + IL_03c9: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_03ce: stelem.ref + IL_03cf: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::BinaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_03d4: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_03d9: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__52'::'<>p__8' + IL_03de: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__52'::'<>p__8' + IL_03e3: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_03e8: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__52'::'<>p__8' + IL_03ed: ldarg.1 + IL_03ee: ldnull + IL_03ef: callvirt instance !3 class [mscorlib]System.Func`4::Invoke(!0, + !1, + !2) + IL_03f4: callvirt instance !3 class [mscorlib]System.Func`4::Invoke(!0, + !1, + !2) + IL_03f9: br.s IL_0401 + + IL_03fb: ldloc.1 + IL_03fc: box [mscorlib]System.Boolean + IL_0401: callvirt instance void class [mscorlib]System.Action`3::Invoke(!0, + !1, + !2) + IL_0406: ret + } // end of method DynamicTests::LogicAndExtended + + .method private hidebysig static object + LogicOr() cil managed + { + .param [0] + .custom instance void [System.Core]System.Runtime.CompilerServices.DynamicAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 172 (0xac) + .maxstack 8 + .locals init (object V_0) + IL_0000: ldc.i4.1 + IL_0001: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests::GetDynamic(int32) + IL_0006: stloc.0 + IL_0007: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__53'::'<>p__1' + IL_000c: brtrue.s IL_003a + + IL_000e: ldc.i4.0 + IL_000f: ldc.i4.s 83 + IL_0011: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_0016: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_001b: ldc.i4.1 + IL_001c: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_0021: dup + IL_0022: ldc.i4.0 + IL_0023: ldc.i4.0 + IL_0024: ldnull + IL_0025: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_002a: stelem.ref + IL_002b: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::UnaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0030: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_0035: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__53'::'<>p__1' + IL_003a: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__53'::'<>p__1' + IL_003f: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_0044: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__53'::'<>p__1' + IL_0049: ldloc.0 + IL_004a: callvirt instance !2 class [mscorlib]System.Func`3::Invoke(!0, + !1) + IL_004f: brtrue.s IL_00aa + + IL_0051: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__53'::'<>p__0' + IL_0056: brtrue.s IL_008e + + IL_0058: ldc.i4.8 + IL_0059: ldc.i4.s 36 + IL_005b: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_0060: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0065: ldc.i4.2 + IL_0066: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_006b: dup + IL_006c: ldc.i4.0 + IL_006d: ldc.i4.0 + IL_006e: ldnull + IL_006f: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0074: stelem.ref + IL_0075: dup + IL_0076: ldc.i4.1 + IL_0077: ldc.i4.0 + IL_0078: ldnull + IL_0079: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_007e: stelem.ref + IL_007f: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::BinaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0084: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_0089: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__53'::'<>p__0' + IL_008e: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__53'::'<>p__0' + IL_0093: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_0098: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__53'::'<>p__0' + IL_009d: ldloc.0 + IL_009e: ldc.i4.2 + IL_009f: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests::GetDynamic(int32) + IL_00a4: callvirt instance !3 class [mscorlib]System.Func`4::Invoke(!0, + !1, + !2) + IL_00a9: ret + + IL_00aa: ldloc.0 + IL_00ab: ret + } // end of method DynamicTests::LogicOr + + .method private hidebysig static object + LogicOr(object a, + object b) cil managed + { + .param [0] + .custom instance void [System.Core]System.Runtime.CompilerServices.DynamicAttribute::.ctor() = ( 01 00 00 00 ) + .param [1] + .custom instance void [System.Core]System.Runtime.CompilerServices.DynamicAttribute::.ctor() = ( 01 00 00 00 ) + .param [2] + .custom instance void [System.Core]System.Runtime.CompilerServices.DynamicAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 160 (0xa0) + .maxstack 8 + IL_0000: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__54'::'<>p__1' + IL_0005: brtrue.s IL_0033 + + IL_0007: ldc.i4.0 + IL_0008: ldc.i4.s 83 + IL_000a: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_000f: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0014: ldc.i4.1 + IL_0015: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_001a: dup + IL_001b: ldc.i4.0 + IL_001c: ldc.i4.0 + IL_001d: ldnull + IL_001e: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0023: stelem.ref + IL_0024: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::UnaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0029: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_002e: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__54'::'<>p__1' + IL_0033: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__54'::'<>p__1' + IL_0038: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_003d: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__54'::'<>p__1' + IL_0042: ldarg.0 + IL_0043: callvirt instance !2 class [mscorlib]System.Func`3::Invoke(!0, + !1) + IL_0048: brtrue.s IL_009e + + IL_004a: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__54'::'<>p__0' + IL_004f: brtrue.s IL_0087 + + IL_0051: ldc.i4.8 + IL_0052: ldc.i4.s 36 + IL_0054: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_0059: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_005e: ldc.i4.2 + IL_005f: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_0064: dup + IL_0065: ldc.i4.0 + IL_0066: ldc.i4.0 + IL_0067: ldnull + IL_0068: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_006d: stelem.ref + IL_006e: dup + IL_006f: ldc.i4.1 + IL_0070: ldc.i4.0 + IL_0071: ldnull + IL_0072: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0077: stelem.ref + IL_0078: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::BinaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_007d: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_0082: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__54'::'<>p__0' + IL_0087: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__54'::'<>p__0' + IL_008c: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_0091: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__54'::'<>p__0' + IL_0096: ldarg.0 + IL_0097: ldarg.1 + IL_0098: callvirt instance !3 class [mscorlib]System.Func`4::Invoke(!0, + !1, + !2) + IL_009d: ret + + IL_009e: ldarg.0 + IL_009f: ret + } // end of method DynamicTests::LogicOr + + .method private hidebysig static void LogicOrExtended(int32 i, + object d) cil managed + { + .param [2] + .custom instance void [System.Core]System.Runtime.CompilerServices.DynamicAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 1035 (0x40b) + .maxstack 14 + .locals init (object V_0, + bool V_1) + IL_0000: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__55'::'<>p__2' + IL_0005: brtrue.s IL_0046 + + IL_0007: ldc.i4 0x100 + IL_000c: ldstr "WriteLine" + IL_0011: ldnull + IL_0012: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_0017: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_001c: ldc.i4.2 + IL_001d: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_0022: dup + IL_0023: ldc.i4.0 + IL_0024: ldc.i4.s 33 + IL_0026: ldnull + IL_0027: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_002c: stelem.ref + IL_002d: dup + IL_002e: ldc.i4.1 + IL_002f: ldc.i4.0 + IL_0030: ldnull + IL_0031: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0036: stelem.ref + IL_0037: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::InvokeMember(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + string, + class [mscorlib]System.Collections.Generic.IEnumerable`1, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_003c: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_0041: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__55'::'<>p__2' + IL_0046: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__55'::'<>p__2' + IL_004b: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_0050: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__55'::'<>p__2' + IL_0055: ldtoken [mscorlib]System.Console + IL_005a: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_005f: ldc.i4.1 + IL_0060: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests::GetDynamic(int32) + IL_0065: stloc.0 + IL_0066: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__55'::'<>p__1' + IL_006b: brtrue.s IL_0099 + + IL_006d: ldc.i4.0 + IL_006e: ldc.i4.s 83 + IL_0070: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_0075: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_007a: ldc.i4.1 + IL_007b: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_0080: dup + IL_0081: ldc.i4.0 + IL_0082: ldc.i4.0 + IL_0083: ldnull + IL_0084: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0089: stelem.ref + IL_008a: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::UnaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_008f: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_0094: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__55'::'<>p__1' + IL_0099: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__55'::'<>p__1' + IL_009e: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_00a3: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__55'::'<>p__1' + IL_00a8: ldloc.0 + IL_00a9: callvirt instance !2 class [mscorlib]System.Func`3::Invoke(!0, + !1) + IL_00ae: brtrue.s IL_010a + + IL_00b0: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__55'::'<>p__0' + IL_00b5: brtrue.s IL_00ed + + IL_00b7: ldc.i4.8 + IL_00b8: ldc.i4.s 36 + IL_00ba: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_00bf: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00c4: ldc.i4.2 + IL_00c5: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_00ca: dup + IL_00cb: ldc.i4.0 + IL_00cc: ldc.i4.0 + IL_00cd: ldnull + IL_00ce: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_00d3: stelem.ref + IL_00d4: dup + IL_00d5: ldc.i4.1 + IL_00d6: ldc.i4.0 + IL_00d7: ldnull + IL_00d8: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_00dd: stelem.ref + IL_00de: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::BinaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_00e3: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_00e8: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__55'::'<>p__0' + IL_00ed: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__55'::'<>p__0' + IL_00f2: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_00f7: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__55'::'<>p__0' + IL_00fc: ldloc.0 + IL_00fd: ldc.i4.2 + IL_00fe: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests::GetDynamic(int32) + IL_0103: callvirt instance !3 class [mscorlib]System.Func`4::Invoke(!0, + !1, + !2) + IL_0108: br.s IL_010b + + IL_010a: ldloc.0 + IL_010b: callvirt instance void class [mscorlib]System.Action`3::Invoke(!0, + !1, + !2) + IL_0110: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__55'::'<>p__5' + IL_0115: brtrue.s IL_0156 + + IL_0117: ldc.i4 0x100 + IL_011c: ldstr "WriteLine" + IL_0121: ldnull + IL_0122: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_0127: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_012c: ldc.i4.2 + IL_012d: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_0132: dup + IL_0133: ldc.i4.0 + IL_0134: ldc.i4.s 33 + IL_0136: ldnull + IL_0137: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_013c: stelem.ref + IL_013d: dup + IL_013e: ldc.i4.1 + IL_013f: ldc.i4.0 + IL_0140: ldnull + IL_0141: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0146: stelem.ref + IL_0147: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::InvokeMember(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + string, + class [mscorlib]System.Collections.Generic.IEnumerable`1, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_014c: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_0151: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__55'::'<>p__5' + IL_0156: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__55'::'<>p__5' + IL_015b: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_0160: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__55'::'<>p__5' + IL_0165: ldtoken [mscorlib]System.Console + IL_016a: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_016f: ldc.i4.1 + IL_0170: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests::GetDynamic(int32) + IL_0175: stloc.0 + IL_0176: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__55'::'<>p__4' + IL_017b: brtrue.s IL_01a9 + + IL_017d: ldc.i4.0 + IL_017e: ldc.i4.s 83 + IL_0180: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_0185: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_018a: ldc.i4.1 + IL_018b: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_0190: dup + IL_0191: ldc.i4.0 + IL_0192: ldc.i4.0 + IL_0193: ldnull + IL_0194: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0199: stelem.ref + IL_019a: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::UnaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_019f: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_01a4: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__55'::'<>p__4' + IL_01a9: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__55'::'<>p__4' + IL_01ae: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_01b3: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__55'::'<>p__4' + IL_01b8: ldloc.0 + IL_01b9: callvirt instance !2 class [mscorlib]System.Func`3::Invoke(!0, + !1) + IL_01be: brtrue.s IL_021a + + IL_01c0: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__55'::'<>p__3' + IL_01c5: brtrue.s IL_01fd + + IL_01c7: ldc.i4.8 + IL_01c8: ldc.i4.s 36 + IL_01ca: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_01cf: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_01d4: ldc.i4.2 + IL_01d5: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_01da: dup + IL_01db: ldc.i4.0 + IL_01dc: ldc.i4.0 + IL_01dd: ldnull + IL_01de: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_01e3: stelem.ref + IL_01e4: dup + IL_01e5: ldc.i4.1 + IL_01e6: ldc.i4.1 + IL_01e7: ldnull + IL_01e8: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_01ed: stelem.ref + IL_01ee: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::BinaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_01f3: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_01f8: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__55'::'<>p__3' + IL_01fd: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__55'::'<>p__3' + IL_0202: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_0207: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__55'::'<>p__3' + IL_020c: ldloc.0 + IL_020d: ldc.i4.2 + IL_020e: call bool ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests::GetBool(int32) + IL_0213: callvirt instance !3 class [mscorlib]System.Func`4::Invoke(!0, + !1, + !2) + IL_0218: br.s IL_021b + + IL_021a: ldloc.0 + IL_021b: callvirt instance void class [mscorlib]System.Action`3::Invoke(!0, + !1, + !2) + IL_0220: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__55'::'<>p__7' + IL_0225: brtrue.s IL_0266 + + IL_0227: ldc.i4 0x100 + IL_022c: ldstr "WriteLine" + IL_0231: ldnull + IL_0232: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_0237: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_023c: ldc.i4.2 + IL_023d: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_0242: dup + IL_0243: ldc.i4.0 + IL_0244: ldc.i4.s 33 + IL_0246: ldnull + IL_0247: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_024c: stelem.ref + IL_024d: dup + IL_024e: ldc.i4.1 + IL_024f: ldc.i4.0 + IL_0250: ldnull + IL_0251: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0256: stelem.ref + IL_0257: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::InvokeMember(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + string, + class [mscorlib]System.Collections.Generic.IEnumerable`1, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_025c: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_0261: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__55'::'<>p__7' + IL_0266: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__55'::'<>p__7' + IL_026b: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_0270: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__55'::'<>p__7' + IL_0275: ldtoken [mscorlib]System.Console + IL_027a: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_027f: ldc.i4.1 + IL_0280: call bool ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests::GetBool(int32) + IL_0285: stloc.1 + IL_0286: ldloc.1 + IL_0287: brtrue.s IL_02e3 + + IL_0289: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__55'::'<>p__6' + IL_028e: brtrue.s IL_02c6 + + IL_0290: ldc.i4.8 + IL_0291: ldc.i4.s 36 + IL_0293: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_0298: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_029d: ldc.i4.2 + IL_029e: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_02a3: dup + IL_02a4: ldc.i4.0 + IL_02a5: ldc.i4.1 + IL_02a6: ldnull + IL_02a7: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_02ac: stelem.ref + IL_02ad: dup + IL_02ae: ldc.i4.1 + IL_02af: ldc.i4.0 + IL_02b0: ldnull + IL_02b1: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_02b6: stelem.ref + IL_02b7: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::BinaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_02bc: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_02c1: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__55'::'<>p__6' + IL_02c6: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__55'::'<>p__6' + IL_02cb: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_02d0: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__55'::'<>p__6' + IL_02d5: ldloc.1 + IL_02d6: ldc.i4.2 + IL_02d7: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests::GetDynamic(int32) + IL_02dc: callvirt instance !3 class [mscorlib]System.Func`4::Invoke(!0, + !1, + !2) + IL_02e1: br.s IL_02e9 + + IL_02e3: ldloc.1 + IL_02e4: box [mscorlib]System.Boolean + IL_02e9: callvirt instance void class [mscorlib]System.Action`3::Invoke(!0, + !1, + !2) + IL_02ee: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__55'::'<>p__10' + IL_02f3: brtrue.s IL_0334 + + IL_02f5: ldc.i4 0x100 + IL_02fa: ldstr "WriteLine" + IL_02ff: ldnull + IL_0300: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_0305: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_030a: ldc.i4.2 + IL_030b: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_0310: dup + IL_0311: ldc.i4.0 + IL_0312: ldc.i4.s 33 + IL_0314: ldnull + IL_0315: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_031a: stelem.ref + IL_031b: dup + IL_031c: ldc.i4.1 + IL_031d: ldc.i4.0 + IL_031e: ldnull + IL_031f: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0324: stelem.ref + IL_0325: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::InvokeMember(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + string, + class [mscorlib]System.Collections.Generic.IEnumerable`1, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_032a: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_032f: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__55'::'<>p__10' + IL_0334: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__55'::'<>p__10' + IL_0339: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_033e: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__55'::'<>p__10' + IL_0343: ldtoken [mscorlib]System.Console + IL_0348: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_034d: ldarg.0 + IL_034e: ldc.i4.1 + IL_034f: ceq + IL_0351: stloc.1 + IL_0352: ldloc.1 + IL_0353: brtrue IL_03ff + + IL_0358: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__55'::'<>p__9' + IL_035d: brtrue.s IL_0395 + + IL_035f: ldc.i4.8 + IL_0360: ldc.i4.s 36 + IL_0362: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_0367: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_036c: ldc.i4.2 + IL_036d: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_0372: dup + IL_0373: ldc.i4.0 + IL_0374: ldc.i4.1 + IL_0375: ldnull + IL_0376: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_037b: stelem.ref + IL_037c: dup + IL_037d: ldc.i4.1 + IL_037e: ldc.i4.0 + IL_037f: ldnull + IL_0380: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0385: stelem.ref + IL_0386: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::BinaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_038b: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_0390: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__55'::'<>p__9' + IL_0395: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__55'::'<>p__9' + IL_039a: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_039f: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__55'::'<>p__9' + IL_03a4: ldloc.1 + IL_03a5: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__55'::'<>p__8' + IL_03aa: brtrue.s IL_03e2 + + IL_03ac: ldc.i4.0 + IL_03ad: ldc.i4.s 13 + IL_03af: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_03b4: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_03b9: ldc.i4.2 + IL_03ba: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_03bf: dup + IL_03c0: ldc.i4.0 + IL_03c1: ldc.i4.0 + IL_03c2: ldnull + IL_03c3: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_03c8: stelem.ref + IL_03c9: dup + IL_03ca: ldc.i4.1 + IL_03cb: ldc.i4.2 + IL_03cc: ldnull + IL_03cd: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_03d2: stelem.ref + IL_03d3: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::BinaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_03d8: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_03dd: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__55'::'<>p__8' + IL_03e2: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__55'::'<>p__8' + IL_03e7: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_03ec: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__55'::'<>p__8' + IL_03f1: ldarg.1 + IL_03f2: ldnull + IL_03f3: callvirt instance !3 class [mscorlib]System.Func`4::Invoke(!0, + !1, + !2) + IL_03f8: callvirt instance !3 class [mscorlib]System.Func`4::Invoke(!0, + !1, + !2) + IL_03fd: br.s IL_0405 + + IL_03ff: ldloc.1 + IL_0400: box [mscorlib]System.Boolean + IL_0405: callvirt instance void class [mscorlib]System.Action`3::Invoke(!0, + !1, + !2) + IL_040a: ret + } // end of method DynamicTests::LogicOrExtended + .property instance object Property() { .custom instance void [System.Core]System.Runtime.CompilerServices.DynamicAttribute::.ctor() = ( 01 00 00 00 ) diff --git a/ICSharpCode.Decompiler.Tests/TestCases/Pretty/DynamicTests.roslyn.il b/ICSharpCode.Decompiler.Tests/TestCases/Pretty/DynamicTests.roslyn.il index 8b92c905d..f03c989b9 100644 --- a/ICSharpCode.Decompiler.Tests/TestCases/Pretty/DynamicTests.roslyn.il +++ b/ICSharpCode.Decompiler.Tests/TestCases/Pretty/DynamicTests.roslyn.il @@ -161,17 +161,11 @@ { .param [0] .custom instance void [System.Core]System.Runtime.CompilerServices.DynamicAttribute::.ctor() = ( 01 00 00 00 ) - // Code size 12 (0xc) - .maxstack 1 - .locals init (object V_0) - IL_0000: nop - IL_0001: ldarg.0 - IL_0002: ldfld object ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/MyValueType::_getOnlyProperty - IL_0007: stloc.0 - IL_0008: br.s IL_000a - - IL_000a: ldloc.0 - IL_000b: ret + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld object ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/MyValueType::_getOnlyProperty + IL_0006: ret } // end of method MyValueType::get_GetOnlyProperty .method public hidebysig specialname @@ -692,6 +686,112 @@ .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__1' } // end of class '<>o__44' + .class abstract auto ansi sealed nested private beforefieldinit '<>o__45' + extends [mscorlib]System.Object + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__0' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__1' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__2' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__3' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__4' + } // end of class '<>o__45' + + .class abstract auto ansi sealed nested private beforefieldinit '<>o__46' + extends [mscorlib]System.Object + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__0' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__1' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__2' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__3' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__4' + } // end of class '<>o__46' + + .class abstract auto ansi sealed nested private beforefieldinit '<>o__47' + extends [mscorlib]System.Object + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__0' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__1' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__2' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__3' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__4' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__5' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__6' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__7' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__8' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__9' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__10' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__11' + } // end of class '<>o__47' + + .class abstract auto ansi sealed nested private beforefieldinit '<>o__50' + extends [mscorlib]System.Object + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__0' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__1' + } // end of class '<>o__50' + + .class abstract auto ansi sealed nested private beforefieldinit '<>o__51' + extends [mscorlib]System.Object + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__0' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__1' + } // end of class '<>o__51' + + .class abstract auto ansi sealed nested private beforefieldinit '<>o__52' + extends [mscorlib]System.Object + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__0' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__1' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__2' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__3' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__4' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__5' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__6' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__7' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__8' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__9' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__10' + } // end of class '<>o__52' + + .class abstract auto ansi sealed nested private beforefieldinit '<>o__53' + extends [mscorlib]System.Object + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__0' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__1' + } // end of class '<>o__53' + + .class abstract auto ansi sealed nested private beforefieldinit '<>o__54' + extends [mscorlib]System.Object + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__0' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__1' + } // end of class '<>o__54' + + .class abstract auto ansi sealed nested private beforefieldinit '<>o__55' + extends [mscorlib]System.Object + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__0' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__1' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__2' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__3' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__4' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__5' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__6' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__7' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__8' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__9' + .field public static class [System.Core]System.Runtime.CompilerServices.CallSite`1> '<>p__10' + } // end of class '<>o__55' + .field private static object 'field' .custom instance void [System.Core]System.Runtime.CompilerServices.DynamicAttribute::.ctor() = ( 01 00 00 00 ) .field private static object objectField @@ -12569,12 +12669,2241 @@ .custom instance void [System.Core]System.Runtime.CompilerServices.DynamicAttribute::.ctor() = ( 01 00 00 00 ) .param [2] .custom instance void [System.Core]System.Runtime.CompilerServices.DynamicAttribute::.ctor() = ( 01 00 00 00 ) - // Code size 2 (0x2) - .maxstack 8 + // Code size 429 (0x1ad) + .maxstack 13 + .locals init (bool V_0, + object V_1) IL_0000: nop - IL_0001: ret + IL_0001: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__45'::'<>p__0' + IL_0006: brfalse.s IL_000a + + IL_0008: br.s IL_0040 + + IL_000a: ldc.i4.0 + IL_000b: ldc.i4.s 13 + IL_000d: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_0012: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0017: ldc.i4.2 + IL_0018: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_001d: dup + IL_001e: ldc.i4.0 + IL_001f: ldc.i4.0 + IL_0020: ldnull + IL_0021: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0026: stelem.ref + IL_0027: dup + IL_0028: ldc.i4.1 + IL_0029: ldc.i4.2 + IL_002a: ldnull + IL_002b: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0030: stelem.ref + IL_0031: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::BinaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0036: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_003b: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__45'::'<>p__0' + IL_0040: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__45'::'<>p__0' + IL_0045: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_004a: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__45'::'<>p__0' + IL_004f: ldarg.0 + IL_0050: ldnull + IL_0051: callvirt instance !3 class [mscorlib]System.Func`4::Invoke(!0, + !1, + !2) + IL_0056: stloc.1 + IL_0057: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__45'::'<>p__4' + IL_005c: brfalse.s IL_0060 + + IL_005e: br.s IL_008c + + IL_0060: ldc.i4.0 + IL_0061: ldc.i4.s 83 + IL_0063: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_0068: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_006d: ldc.i4.1 + IL_006e: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_0073: dup + IL_0074: ldc.i4.0 + IL_0075: ldc.i4.0 + IL_0076: ldnull + IL_0077: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_007c: stelem.ref + IL_007d: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::UnaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0082: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_0087: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__45'::'<>p__4' + IL_008c: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__45'::'<>p__4' + IL_0091: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_0096: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__45'::'<>p__4' + IL_009b: ldloc.1 + IL_009c: callvirt instance !2 class [mscorlib]System.Func`3::Invoke(!0, + !1) + IL_00a1: brtrue IL_019a + + IL_00a6: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__45'::'<>p__3' + IL_00ab: brfalse.s IL_00af + + IL_00ad: br.s IL_00db + + IL_00af: ldc.i4.0 + IL_00b0: ldc.i4.s 83 + IL_00b2: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_00b7: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00bc: ldc.i4.1 + IL_00bd: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_00c2: dup + IL_00c3: ldc.i4.0 + IL_00c4: ldc.i4.0 + IL_00c5: ldnull + IL_00c6: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_00cb: stelem.ref + IL_00cc: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::UnaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_00d1: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_00d6: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__45'::'<>p__3' + IL_00db: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__45'::'<>p__3' + IL_00e0: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_00e5: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__45'::'<>p__3' + IL_00ea: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__45'::'<>p__2' + IL_00ef: brfalse.s IL_00f3 + + IL_00f1: br.s IL_0129 + + IL_00f3: ldc.i4.8 + IL_00f4: ldc.i4.s 36 + IL_00f6: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_00fb: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0100: ldc.i4.2 + IL_0101: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_0106: dup + IL_0107: ldc.i4.0 + IL_0108: ldc.i4.0 + IL_0109: ldnull + IL_010a: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_010f: stelem.ref + IL_0110: dup + IL_0111: ldc.i4.1 + IL_0112: ldc.i4.0 + IL_0113: ldnull + IL_0114: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0119: stelem.ref + IL_011a: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::BinaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_011f: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_0124: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__45'::'<>p__2' + IL_0129: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__45'::'<>p__2' + IL_012e: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_0133: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__45'::'<>p__2' + IL_0138: ldloc.1 + IL_0139: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__45'::'<>p__1' + IL_013e: brfalse.s IL_0142 + + IL_0140: br.s IL_0178 + + IL_0142: ldc.i4.0 + IL_0143: ldc.i4.s 13 + IL_0145: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_014a: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_014f: ldc.i4.2 + IL_0150: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_0155: dup + IL_0156: ldc.i4.0 + IL_0157: ldc.i4.0 + IL_0158: ldnull + IL_0159: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_015e: stelem.ref + IL_015f: dup + IL_0160: ldc.i4.1 + IL_0161: ldc.i4.2 + IL_0162: ldnull + IL_0163: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0168: stelem.ref + IL_0169: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::BinaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_016e: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_0173: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__45'::'<>p__1' + IL_0178: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__45'::'<>p__1' + IL_017d: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_0182: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__45'::'<>p__1' + IL_0187: ldarg.1 + IL_0188: ldnull + IL_0189: callvirt instance !3 class [mscorlib]System.Func`4::Invoke(!0, + !1, + !2) + IL_018e: callvirt instance !3 class [mscorlib]System.Func`4::Invoke(!0, + !1, + !2) + IL_0193: callvirt instance !2 class [mscorlib]System.Func`3::Invoke(!0, + !1) + IL_0198: br.s IL_019b + + IL_019a: ldc.i4.1 + IL_019b: stloc.0 + IL_019c: ldloc.0 + IL_019d: brfalse.s IL_01ac + + IL_019f: nop + IL_01a0: ldstr "One is null" + IL_01a5: call void [mscorlib]System.Console::WriteLine(string) + IL_01aa: nop + IL_01ab: nop + IL_01ac: ret } // end of method DynamicTests::If2 + .method private hidebysig static void If3(object a, + object b) cil managed + { + .param [1] + .custom instance void [System.Core]System.Runtime.CompilerServices.DynamicAttribute::.ctor() = ( 01 00 00 00 ) + .param [2] + .custom instance void [System.Core]System.Runtime.CompilerServices.DynamicAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 428 (0x1ac) + .maxstack 13 + .locals init (bool V_0, + object V_1) + IL_0000: nop + IL_0001: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__46'::'<>p__4' + IL_0006: brfalse.s IL_000a + + IL_0008: br.s IL_0036 + + IL_000a: ldc.i4.0 + IL_000b: ldc.i4.s 83 + IL_000d: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_0012: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0017: ldc.i4.1 + IL_0018: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_001d: dup + IL_001e: ldc.i4.0 + IL_001f: ldc.i4.0 + IL_0020: ldnull + IL_0021: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0026: stelem.ref + IL_0027: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::UnaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_002c: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_0031: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__46'::'<>p__4' + IL_0036: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__46'::'<>p__4' + IL_003b: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_0040: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__46'::'<>p__4' + IL_0045: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__46'::'<>p__0' + IL_004a: brfalse.s IL_004e + + IL_004c: br.s IL_0084 + + IL_004e: ldc.i4.0 + IL_004f: ldc.i4.s 13 + IL_0051: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_0056: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_005b: ldc.i4.2 + IL_005c: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_0061: dup + IL_0062: ldc.i4.0 + IL_0063: ldc.i4.0 + IL_0064: ldnull + IL_0065: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_006a: stelem.ref + IL_006b: dup + IL_006c: ldc.i4.1 + IL_006d: ldc.i4.2 + IL_006e: ldnull + IL_006f: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0074: stelem.ref + IL_0075: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::BinaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_007a: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_007f: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__46'::'<>p__0' + IL_0084: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__46'::'<>p__0' + IL_0089: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_008e: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__46'::'<>p__0' + IL_0093: ldarg.0 + IL_0094: ldnull + IL_0095: callvirt instance !3 class [mscorlib]System.Func`4::Invoke(!0, + !1, + !2) + IL_009a: stloc.1 + IL_009b: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__46'::'<>p__3' + IL_00a0: brfalse.s IL_00a4 + + IL_00a2: br.s IL_00d0 + + IL_00a4: ldc.i4.0 + IL_00a5: ldc.i4.s 84 + IL_00a7: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_00ac: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00b1: ldc.i4.1 + IL_00b2: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_00b7: dup + IL_00b8: ldc.i4.0 + IL_00b9: ldc.i4.0 + IL_00ba: ldnull + IL_00bb: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_00c0: stelem.ref + IL_00c1: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::UnaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_00c6: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_00cb: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__46'::'<>p__3' + IL_00d0: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__46'::'<>p__3' + IL_00d5: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_00da: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__46'::'<>p__3' + IL_00df: ldloc.1 + IL_00e0: callvirt instance !2 class [mscorlib]System.Func`3::Invoke(!0, + !1) + IL_00e5: brtrue IL_0194 + + IL_00ea: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__46'::'<>p__2' + IL_00ef: brfalse.s IL_00f3 + + IL_00f1: br.s IL_0128 + + IL_00f3: ldc.i4.8 + IL_00f4: ldc.i4.2 + IL_00f5: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_00fa: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00ff: ldc.i4.2 + IL_0100: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_0105: dup + IL_0106: ldc.i4.0 + IL_0107: ldc.i4.0 + IL_0108: ldnull + IL_0109: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_010e: stelem.ref + IL_010f: dup + IL_0110: ldc.i4.1 + IL_0111: ldc.i4.0 + IL_0112: ldnull + IL_0113: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0118: stelem.ref + IL_0119: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::BinaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_011e: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_0123: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__46'::'<>p__2' + IL_0128: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__46'::'<>p__2' + IL_012d: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_0132: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__46'::'<>p__2' + IL_0137: ldloc.1 + IL_0138: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__46'::'<>p__1' + IL_013d: brfalse.s IL_0141 + + IL_013f: br.s IL_0177 + + IL_0141: ldc.i4.0 + IL_0142: ldc.i4.s 13 + IL_0144: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_0149: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_014e: ldc.i4.2 + IL_014f: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_0154: dup + IL_0155: ldc.i4.0 + IL_0156: ldc.i4.0 + IL_0157: ldnull + IL_0158: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_015d: stelem.ref + IL_015e: dup + IL_015f: ldc.i4.1 + IL_0160: ldc.i4.2 + IL_0161: ldnull + IL_0162: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0167: stelem.ref + IL_0168: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::BinaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_016d: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_0172: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__46'::'<>p__1' + IL_0177: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__46'::'<>p__1' + IL_017c: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_0181: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__46'::'<>p__1' + IL_0186: ldarg.1 + IL_0187: ldnull + IL_0188: callvirt instance !3 class [mscorlib]System.Func`4::Invoke(!0, + !1, + !2) + IL_018d: callvirt instance !3 class [mscorlib]System.Func`4::Invoke(!0, + !1, + !2) + IL_0192: br.s IL_0195 + + IL_0194: ldloc.1 + IL_0195: callvirt instance !2 class [mscorlib]System.Func`3::Invoke(!0, + !1) + IL_019a: stloc.0 + IL_019b: ldloc.0 + IL_019c: brfalse.s IL_01ab + + IL_019e: nop + IL_019f: ldstr "Both are null" + IL_01a4: call void [mscorlib]System.Console::WriteLine(string) + IL_01a9: nop + IL_01aa: nop + IL_01ab: ret + } // end of method DynamicTests::If3 + + .method private hidebysig static void If4(object a, + object b) cil managed + { + .param [1] + .custom instance void [System.Core]System.Runtime.CompilerServices.DynamicAttribute::.ctor() = ( 01 00 00 00 ) + .param [2] + .custom instance void [System.Core]System.Runtime.CompilerServices.DynamicAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 1027 (0x403) + .maxstack 15 + .locals init (bool V_0, + object V_1, + object V_2, + object V_3) + IL_0000: nop + IL_0001: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__47'::'<>p__11' + IL_0006: brfalse.s IL_000a + + IL_0008: br.s IL_0036 + + IL_000a: ldc.i4.0 + IL_000b: ldc.i4.s 83 + IL_000d: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_0012: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0017: ldc.i4.1 + IL_0018: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_001d: dup + IL_001e: ldc.i4.0 + IL_001f: ldc.i4.0 + IL_0020: ldnull + IL_0021: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0026: stelem.ref + IL_0027: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::UnaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_002c: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_0031: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__47'::'<>p__11' + IL_0036: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__47'::'<>p__11' + IL_003b: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_0040: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__47'::'<>p__11' + IL_0045: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__47'::'<>p__0' + IL_004a: brfalse.s IL_004e + + IL_004c: br.s IL_0084 + + IL_004e: ldc.i4.0 + IL_004f: ldc.i4.s 13 + IL_0051: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_0056: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_005b: ldc.i4.2 + IL_005c: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_0061: dup + IL_0062: ldc.i4.0 + IL_0063: ldc.i4.0 + IL_0064: ldnull + IL_0065: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_006a: stelem.ref + IL_006b: dup + IL_006c: ldc.i4.1 + IL_006d: ldc.i4.2 + IL_006e: ldnull + IL_006f: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0074: stelem.ref + IL_0075: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::BinaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_007a: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_007f: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__47'::'<>p__0' + IL_0084: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__47'::'<>p__0' + IL_0089: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_008e: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__47'::'<>p__0' + IL_0093: ldarg.0 + IL_0094: ldnull + IL_0095: callvirt instance !3 class [mscorlib]System.Func`4::Invoke(!0, + !1, + !2) + IL_009a: stloc.3 + IL_009b: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__47'::'<>p__3' + IL_00a0: brfalse.s IL_00a4 + + IL_00a2: br.s IL_00d0 + + IL_00a4: ldc.i4.0 + IL_00a5: ldc.i4.s 83 + IL_00a7: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_00ac: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00b1: ldc.i4.1 + IL_00b2: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_00b7: dup + IL_00b8: ldc.i4.0 + IL_00b9: ldc.i4.0 + IL_00ba: ldnull + IL_00bb: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_00c0: stelem.ref + IL_00c1: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::UnaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_00c6: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_00cb: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__47'::'<>p__3' + IL_00d0: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__47'::'<>p__3' + IL_00d5: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_00da: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__47'::'<>p__3' + IL_00df: ldloc.3 + IL_00e0: callvirt instance !2 class [mscorlib]System.Func`3::Invoke(!0, + !1) + IL_00e5: brtrue IL_0195 + + IL_00ea: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__47'::'<>p__2' + IL_00ef: brfalse.s IL_00f3 + + IL_00f1: br.s IL_0129 + + IL_00f3: ldc.i4.8 + IL_00f4: ldc.i4.s 36 + IL_00f6: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_00fb: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0100: ldc.i4.2 + IL_0101: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_0106: dup + IL_0107: ldc.i4.0 + IL_0108: ldc.i4.0 + IL_0109: ldnull + IL_010a: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_010f: stelem.ref + IL_0110: dup + IL_0111: ldc.i4.1 + IL_0112: ldc.i4.0 + IL_0113: ldnull + IL_0114: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0119: stelem.ref + IL_011a: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::BinaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_011f: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_0124: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__47'::'<>p__2' + IL_0129: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__47'::'<>p__2' + IL_012e: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_0133: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__47'::'<>p__2' + IL_0138: ldloc.3 + IL_0139: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__47'::'<>p__1' + IL_013e: brfalse.s IL_0142 + + IL_0140: br.s IL_0178 + + IL_0142: ldc.i4.0 + IL_0143: ldc.i4.s 13 + IL_0145: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_014a: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_014f: ldc.i4.2 + IL_0150: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_0155: dup + IL_0156: ldc.i4.0 + IL_0157: ldc.i4.0 + IL_0158: ldnull + IL_0159: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_015e: stelem.ref + IL_015f: dup + IL_0160: ldc.i4.1 + IL_0161: ldc.i4.2 + IL_0162: ldnull + IL_0163: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0168: stelem.ref + IL_0169: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::BinaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_016e: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_0173: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__47'::'<>p__1' + IL_0178: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__47'::'<>p__1' + IL_017d: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_0182: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__47'::'<>p__1' + IL_0187: ldarg.1 + IL_0188: ldnull + IL_0189: callvirt instance !3 class [mscorlib]System.Func`4::Invoke(!0, + !1, + !2) + IL_018e: callvirt instance !3 class [mscorlib]System.Func`4::Invoke(!0, + !1, + !2) + IL_0193: br.s IL_0196 + + IL_0195: ldloc.3 + IL_0196: stloc.2 + IL_0197: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__47'::'<>p__5' + IL_019c: brfalse.s IL_01a0 + + IL_019e: br.s IL_01cc + + IL_01a0: ldc.i4.0 + IL_01a1: ldc.i4.s 84 + IL_01a3: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_01a8: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_01ad: ldc.i4.1 + IL_01ae: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_01b3: dup + IL_01b4: ldc.i4.0 + IL_01b5: ldc.i4.0 + IL_01b6: ldnull + IL_01b7: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_01bc: stelem.ref + IL_01bd: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::UnaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_01c2: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_01c7: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__47'::'<>p__5' + IL_01cc: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__47'::'<>p__5' + IL_01d1: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_01d6: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__47'::'<>p__5' + IL_01db: ldloc.2 + IL_01dc: callvirt instance !2 class [mscorlib]System.Func`3::Invoke(!0, + !1) + IL_01e1: brtrue.s IL_023e + + IL_01e3: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__47'::'<>p__4' + IL_01e8: brfalse.s IL_01ec + + IL_01ea: br.s IL_0221 + + IL_01ec: ldc.i4.8 + IL_01ed: ldc.i4.2 + IL_01ee: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_01f3: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_01f8: ldc.i4.2 + IL_01f9: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_01fe: dup + IL_01ff: ldc.i4.0 + IL_0200: ldc.i4.0 + IL_0201: ldnull + IL_0202: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0207: stelem.ref + IL_0208: dup + IL_0209: ldc.i4.1 + IL_020a: ldc.i4.0 + IL_020b: ldnull + IL_020c: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0211: stelem.ref + IL_0212: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::BinaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0217: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_021c: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__47'::'<>p__4' + IL_0221: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__47'::'<>p__4' + IL_0226: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_022b: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__47'::'<>p__4' + IL_0230: ldloc.2 + IL_0231: ldc.i4.1 + IL_0232: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests::GetDynamic(int32) + IL_0237: callvirt instance !3 class [mscorlib]System.Func`4::Invoke(!0, + !1, + !2) + IL_023c: br.s IL_023f + + IL_023e: ldloc.2 + IL_023f: stloc.1 + IL_0240: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__47'::'<>p__10' + IL_0245: brfalse.s IL_0249 + + IL_0247: br.s IL_0275 + + IL_0249: ldc.i4.0 + IL_024a: ldc.i4.s 84 + IL_024c: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_0251: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0256: ldc.i4.1 + IL_0257: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_025c: dup + IL_025d: ldc.i4.0 + IL_025e: ldc.i4.0 + IL_025f: ldnull + IL_0260: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0265: stelem.ref + IL_0266: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::UnaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_026b: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_0270: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__47'::'<>p__10' + IL_0275: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__47'::'<>p__10' + IL_027a: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_027f: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__47'::'<>p__10' + IL_0284: ldloc.1 + IL_0285: callvirt instance !2 class [mscorlib]System.Func`3::Invoke(!0, + !1) + IL_028a: brtrue IL_03dc + + IL_028f: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__47'::'<>p__9' + IL_0294: brfalse.s IL_0298 + + IL_0296: br.s IL_02cd + + IL_0298: ldc.i4.8 + IL_0299: ldc.i4.2 + IL_029a: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_029f: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_02a4: ldc.i4.2 + IL_02a5: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_02aa: dup + IL_02ab: ldc.i4.0 + IL_02ac: ldc.i4.0 + IL_02ad: ldnull + IL_02ae: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_02b3: stelem.ref + IL_02b4: dup + IL_02b5: ldc.i4.1 + IL_02b6: ldc.i4.0 + IL_02b7: ldnull + IL_02b8: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_02bd: stelem.ref + IL_02be: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::BinaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_02c3: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_02c8: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__47'::'<>p__9' + IL_02cd: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__47'::'<>p__9' + IL_02d2: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_02d7: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__47'::'<>p__9' + IL_02dc: ldloc.1 + IL_02dd: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__47'::'<>p__8' + IL_02e2: brfalse.s IL_02e6 + + IL_02e4: br.s IL_0312 + + IL_02e6: ldc.i4.0 + IL_02e7: ldc.i4.s 34 + IL_02e9: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_02ee: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_02f3: ldc.i4.1 + IL_02f4: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_02f9: dup + IL_02fa: ldc.i4.0 + IL_02fb: ldc.i4.0 + IL_02fc: ldnull + IL_02fd: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0302: stelem.ref + IL_0303: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::UnaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0308: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_030d: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__47'::'<>p__8' + IL_0312: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__47'::'<>p__8' + IL_0317: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_031c: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__47'::'<>p__8' + IL_0321: ldc.i4.2 + IL_0322: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests::GetDynamic(int32) + IL_0327: stloc.2 + IL_0328: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__47'::'<>p__7' + IL_032d: brfalse.s IL_0331 + + IL_032f: br.s IL_035d + + IL_0331: ldc.i4.0 + IL_0332: ldc.i4.s 84 + IL_0334: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_0339: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_033e: ldc.i4.1 + IL_033f: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_0344: dup + IL_0345: ldc.i4.0 + IL_0346: ldc.i4.0 + IL_0347: ldnull + IL_0348: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_034d: stelem.ref + IL_034e: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::UnaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0353: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_0358: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__47'::'<>p__7' + IL_035d: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__47'::'<>p__7' + IL_0362: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_0367: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__47'::'<>p__7' + IL_036c: ldloc.2 + IL_036d: callvirt instance !2 class [mscorlib]System.Func`3::Invoke(!0, + !1) + IL_0372: brtrue.s IL_03cf + + IL_0374: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__47'::'<>p__6' + IL_0379: brfalse.s IL_037d + + IL_037b: br.s IL_03b2 + + IL_037d: ldc.i4.8 + IL_037e: ldc.i4.2 + IL_037f: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_0384: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0389: ldc.i4.2 + IL_038a: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_038f: dup + IL_0390: ldc.i4.0 + IL_0391: ldc.i4.0 + IL_0392: ldnull + IL_0393: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0398: stelem.ref + IL_0399: dup + IL_039a: ldc.i4.1 + IL_039b: ldc.i4.0 + IL_039c: ldnull + IL_039d: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_03a2: stelem.ref + IL_03a3: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::BinaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_03a8: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_03ad: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__47'::'<>p__6' + IL_03b2: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__47'::'<>p__6' + IL_03b7: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_03bc: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__47'::'<>p__6' + IL_03c1: ldloc.2 + IL_03c2: ldc.i4.3 + IL_03c3: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests::GetDynamic(int32) + IL_03c8: callvirt instance !3 class [mscorlib]System.Func`4::Invoke(!0, + !1, + !2) + IL_03cd: br.s IL_03d0 + + IL_03cf: ldloc.2 + IL_03d0: callvirt instance !2 class [mscorlib]System.Func`3::Invoke(!0, + !1) + IL_03d5: callvirt instance !3 class [mscorlib]System.Func`4::Invoke(!0, + !1, + !2) + IL_03da: br.s IL_03dd + + IL_03dc: ldloc.1 + IL_03dd: callvirt instance !2 class [mscorlib]System.Func`3::Invoke(!0, + !1) + IL_03e2: stloc.0 + IL_03e3: ldloc.0 + IL_03e4: brfalse.s IL_03f5 + + IL_03e6: nop + IL_03e7: ldstr "then" + IL_03ec: call void [mscorlib]System.Console::WriteLine(string) + IL_03f1: nop + IL_03f2: nop + IL_03f3: br.s IL_0402 + + IL_03f5: nop + IL_03f6: ldstr "else" + IL_03fb: call void [mscorlib]System.Console::WriteLine(string) + IL_0400: nop + IL_0401: nop + IL_0402: ret + } // end of method DynamicTests::If4 + + .method private hidebysig static object + GetDynamic(int32 i) cil managed + { + .param [0] + .custom instance void [System.Core]System.Runtime.CompilerServices.DynamicAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 7 (0x7) + .maxstack 1 + .locals init (object V_0) + IL_0000: nop + IL_0001: ldnull + IL_0002: stloc.0 + IL_0003: br.s IL_0005 + + IL_0005: ldloc.0 + IL_0006: ret + } // end of method DynamicTests::GetDynamic + + .method private hidebysig static bool GetBool(int32 i) cil managed + { + // Code size 7 (0x7) + .maxstack 1 + .locals init (bool V_0) + IL_0000: nop + IL_0001: ldc.i4.0 + IL_0002: stloc.0 + IL_0003: br.s IL_0005 + + IL_0005: ldloc.0 + IL_0006: ret + } // end of method DynamicTests::GetBool + + .method private hidebysig static object + LogicAnd() cil managed + { + .param [0] + .custom instance void [System.Core]System.Runtime.CompilerServices.DynamicAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 181 (0xb5) + .maxstack 8 + .locals init (object V_0, + object V_1) + IL_0000: nop + IL_0001: ldc.i4.1 + IL_0002: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests::GetDynamic(int32) + IL_0007: stloc.0 + IL_0008: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__50'::'<>p__1' + IL_000d: brfalse.s IL_0011 + + IL_000f: br.s IL_003d + + IL_0011: ldc.i4.0 + IL_0012: ldc.i4.s 84 + IL_0014: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_0019: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_001e: ldc.i4.1 + IL_001f: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_0024: dup + IL_0025: ldc.i4.0 + IL_0026: ldc.i4.0 + IL_0027: ldnull + IL_0028: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_002d: stelem.ref + IL_002e: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::UnaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0033: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_0038: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__50'::'<>p__1' + IL_003d: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__50'::'<>p__1' + IL_0042: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_0047: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__50'::'<>p__1' + IL_004c: ldloc.0 + IL_004d: callvirt instance !2 class [mscorlib]System.Func`3::Invoke(!0, + !1) + IL_0052: brtrue.s IL_00af + + IL_0054: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__50'::'<>p__0' + IL_0059: brfalse.s IL_005d + + IL_005b: br.s IL_0092 + + IL_005d: ldc.i4.8 + IL_005e: ldc.i4.2 + IL_005f: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_0064: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0069: ldc.i4.2 + IL_006a: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_006f: dup + IL_0070: ldc.i4.0 + IL_0071: ldc.i4.0 + IL_0072: ldnull + IL_0073: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0078: stelem.ref + IL_0079: dup + IL_007a: ldc.i4.1 + IL_007b: ldc.i4.0 + IL_007c: ldnull + IL_007d: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0082: stelem.ref + IL_0083: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::BinaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0088: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_008d: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__50'::'<>p__0' + IL_0092: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__50'::'<>p__0' + IL_0097: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_009c: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__50'::'<>p__0' + IL_00a1: ldloc.0 + IL_00a2: ldc.i4.2 + IL_00a3: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests::GetDynamic(int32) + IL_00a8: callvirt instance !3 class [mscorlib]System.Func`4::Invoke(!0, + !1, + !2) + IL_00ad: br.s IL_00b0 + + IL_00af: ldloc.0 + IL_00b0: stloc.1 + IL_00b1: br.s IL_00b3 + + IL_00b3: ldloc.1 + IL_00b4: ret + } // end of method DynamicTests::LogicAnd + + .method private hidebysig static object + LogicAnd(object a, + object b) cil managed + { + .param [0] + .custom instance void [System.Core]System.Runtime.CompilerServices.DynamicAttribute::.ctor() = ( 01 00 00 00 ) + .param [1] + .custom instance void [System.Core]System.Runtime.CompilerServices.DynamicAttribute::.ctor() = ( 01 00 00 00 ) + .param [2] + .custom instance void [System.Core]System.Runtime.CompilerServices.DynamicAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 169 (0xa9) + .maxstack 8 + .locals init (object V_0) + IL_0000: nop + IL_0001: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__51'::'<>p__1' + IL_0006: brfalse.s IL_000a + + IL_0008: br.s IL_0036 + + IL_000a: ldc.i4.0 + IL_000b: ldc.i4.s 84 + IL_000d: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_0012: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0017: ldc.i4.1 + IL_0018: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_001d: dup + IL_001e: ldc.i4.0 + IL_001f: ldc.i4.0 + IL_0020: ldnull + IL_0021: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0026: stelem.ref + IL_0027: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::UnaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_002c: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_0031: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__51'::'<>p__1' + IL_0036: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__51'::'<>p__1' + IL_003b: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_0040: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__51'::'<>p__1' + IL_0045: ldarg.0 + IL_0046: callvirt instance !2 class [mscorlib]System.Func`3::Invoke(!0, + !1) + IL_004b: brtrue.s IL_00a3 + + IL_004d: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__51'::'<>p__0' + IL_0052: brfalse.s IL_0056 + + IL_0054: br.s IL_008b + + IL_0056: ldc.i4.8 + IL_0057: ldc.i4.2 + IL_0058: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_005d: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0062: ldc.i4.2 + IL_0063: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_0068: dup + IL_0069: ldc.i4.0 + IL_006a: ldc.i4.0 + IL_006b: ldnull + IL_006c: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0071: stelem.ref + IL_0072: dup + IL_0073: ldc.i4.1 + IL_0074: ldc.i4.0 + IL_0075: ldnull + IL_0076: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_007b: stelem.ref + IL_007c: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::BinaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0081: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_0086: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__51'::'<>p__0' + IL_008b: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__51'::'<>p__0' + IL_0090: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_0095: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__51'::'<>p__0' + IL_009a: ldarg.0 + IL_009b: ldarg.1 + IL_009c: callvirt instance !3 class [mscorlib]System.Func`4::Invoke(!0, + !1, + !2) + IL_00a1: br.s IL_00a4 + + IL_00a3: ldarg.0 + IL_00a4: stloc.0 + IL_00a5: br.s IL_00a7 + + IL_00a7: ldloc.0 + IL_00a8: ret + } // end of method DynamicTests::LogicAnd + + .method private hidebysig static void LogicAndExtended(int32 i, + object d) cil managed + { + .param [2] + .custom instance void [System.Core]System.Runtime.CompilerServices.DynamicAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 1058 (0x422) + .maxstack 14 + .locals init (object V_0, + bool V_1) + IL_0000: nop + IL_0001: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__52'::'<>p__2' + IL_0006: brfalse.s IL_000a + + IL_0008: br.s IL_0049 + + IL_000a: ldc.i4 0x100 + IL_000f: ldstr "WriteLine" + IL_0014: ldnull + IL_0015: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_001a: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_001f: ldc.i4.2 + IL_0020: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_0025: dup + IL_0026: ldc.i4.0 + IL_0027: ldc.i4.s 33 + IL_0029: ldnull + IL_002a: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_002f: stelem.ref + IL_0030: dup + IL_0031: ldc.i4.1 + IL_0032: ldc.i4.0 + IL_0033: ldnull + IL_0034: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0039: stelem.ref + IL_003a: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::InvokeMember(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + string, + class [mscorlib]System.Collections.Generic.IEnumerable`1, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_003f: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_0044: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__52'::'<>p__2' + IL_0049: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__52'::'<>p__2' + IL_004e: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_0053: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__52'::'<>p__2' + IL_0058: ldtoken [mscorlib]System.Console + IL_005d: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0062: ldc.i4.1 + IL_0063: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests::GetDynamic(int32) + IL_0068: stloc.0 + IL_0069: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__52'::'<>p__1' + IL_006e: brfalse.s IL_0072 + + IL_0070: br.s IL_009e + + IL_0072: ldc.i4.0 + IL_0073: ldc.i4.s 84 + IL_0075: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_007a: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_007f: ldc.i4.1 + IL_0080: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_0085: dup + IL_0086: ldc.i4.0 + IL_0087: ldc.i4.0 + IL_0088: ldnull + IL_0089: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_008e: stelem.ref + IL_008f: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::UnaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0094: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_0099: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__52'::'<>p__1' + IL_009e: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__52'::'<>p__1' + IL_00a3: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_00a8: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__52'::'<>p__1' + IL_00ad: ldloc.0 + IL_00ae: callvirt instance !2 class [mscorlib]System.Func`3::Invoke(!0, + !1) + IL_00b3: brtrue.s IL_0110 + + IL_00b5: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__52'::'<>p__0' + IL_00ba: brfalse.s IL_00be + + IL_00bc: br.s IL_00f3 + + IL_00be: ldc.i4.8 + IL_00bf: ldc.i4.2 + IL_00c0: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_00c5: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00ca: ldc.i4.2 + IL_00cb: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_00d0: dup + IL_00d1: ldc.i4.0 + IL_00d2: ldc.i4.0 + IL_00d3: ldnull + IL_00d4: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_00d9: stelem.ref + IL_00da: dup + IL_00db: ldc.i4.1 + IL_00dc: ldc.i4.0 + IL_00dd: ldnull + IL_00de: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_00e3: stelem.ref + IL_00e4: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::BinaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_00e9: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_00ee: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__52'::'<>p__0' + IL_00f3: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__52'::'<>p__0' + IL_00f8: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_00fd: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__52'::'<>p__0' + IL_0102: ldloc.0 + IL_0103: ldc.i4.2 + IL_0104: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests::GetDynamic(int32) + IL_0109: callvirt instance !3 class [mscorlib]System.Func`4::Invoke(!0, + !1, + !2) + IL_010e: br.s IL_0111 + + IL_0110: ldloc.0 + IL_0111: callvirt instance void class [mscorlib]System.Action`3::Invoke(!0, + !1, + !2) + IL_0116: nop + IL_0117: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__52'::'<>p__5' + IL_011c: brfalse.s IL_0120 + + IL_011e: br.s IL_015f + + IL_0120: ldc.i4 0x100 + IL_0125: ldstr "WriteLine" + IL_012a: ldnull + IL_012b: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_0130: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0135: ldc.i4.2 + IL_0136: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_013b: dup + IL_013c: ldc.i4.0 + IL_013d: ldc.i4.s 33 + IL_013f: ldnull + IL_0140: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0145: stelem.ref + IL_0146: dup + IL_0147: ldc.i4.1 + IL_0148: ldc.i4.0 + IL_0149: ldnull + IL_014a: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_014f: stelem.ref + IL_0150: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::InvokeMember(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + string, + class [mscorlib]System.Collections.Generic.IEnumerable`1, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0155: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_015a: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__52'::'<>p__5' + IL_015f: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__52'::'<>p__5' + IL_0164: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_0169: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__52'::'<>p__5' + IL_016e: ldtoken [mscorlib]System.Console + IL_0173: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0178: ldc.i4.1 + IL_0179: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests::GetDynamic(int32) + IL_017e: stloc.0 + IL_017f: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__52'::'<>p__4' + IL_0184: brfalse.s IL_0188 + + IL_0186: br.s IL_01b4 + + IL_0188: ldc.i4.0 + IL_0189: ldc.i4.s 84 + IL_018b: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_0190: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0195: ldc.i4.1 + IL_0196: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_019b: dup + IL_019c: ldc.i4.0 + IL_019d: ldc.i4.0 + IL_019e: ldnull + IL_019f: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_01a4: stelem.ref + IL_01a5: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::UnaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_01aa: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_01af: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__52'::'<>p__4' + IL_01b4: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__52'::'<>p__4' + IL_01b9: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_01be: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__52'::'<>p__4' + IL_01c3: ldloc.0 + IL_01c4: callvirt instance !2 class [mscorlib]System.Func`3::Invoke(!0, + !1) + IL_01c9: brtrue.s IL_0226 + + IL_01cb: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__52'::'<>p__3' + IL_01d0: brfalse.s IL_01d4 + + IL_01d2: br.s IL_0209 + + IL_01d4: ldc.i4.8 + IL_01d5: ldc.i4.2 + IL_01d6: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_01db: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_01e0: ldc.i4.2 + IL_01e1: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_01e6: dup + IL_01e7: ldc.i4.0 + IL_01e8: ldc.i4.0 + IL_01e9: ldnull + IL_01ea: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_01ef: stelem.ref + IL_01f0: dup + IL_01f1: ldc.i4.1 + IL_01f2: ldc.i4.1 + IL_01f3: ldnull + IL_01f4: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_01f9: stelem.ref + IL_01fa: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::BinaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_01ff: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_0204: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__52'::'<>p__3' + IL_0209: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__52'::'<>p__3' + IL_020e: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_0213: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__52'::'<>p__3' + IL_0218: ldloc.0 + IL_0219: ldc.i4.2 + IL_021a: call bool ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests::GetBool(int32) + IL_021f: callvirt instance !3 class [mscorlib]System.Func`4::Invoke(!0, + !1, + !2) + IL_0224: br.s IL_0227 + + IL_0226: ldloc.0 + IL_0227: callvirt instance void class [mscorlib]System.Action`3::Invoke(!0, + !1, + !2) + IL_022c: nop + IL_022d: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__52'::'<>p__7' + IL_0232: brfalse.s IL_0236 + + IL_0234: br.s IL_0275 + + IL_0236: ldc.i4 0x100 + IL_023b: ldstr "WriteLine" + IL_0240: ldnull + IL_0241: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_0246: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_024b: ldc.i4.2 + IL_024c: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_0251: dup + IL_0252: ldc.i4.0 + IL_0253: ldc.i4.s 33 + IL_0255: ldnull + IL_0256: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_025b: stelem.ref + IL_025c: dup + IL_025d: ldc.i4.1 + IL_025e: ldc.i4.0 + IL_025f: ldnull + IL_0260: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0265: stelem.ref + IL_0266: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::InvokeMember(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + string, + class [mscorlib]System.Collections.Generic.IEnumerable`1, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_026b: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_0270: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__52'::'<>p__7' + IL_0275: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__52'::'<>p__7' + IL_027a: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_027f: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__52'::'<>p__7' + IL_0284: ldtoken [mscorlib]System.Console + IL_0289: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_028e: ldc.i4.1 + IL_028f: call bool ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests::GetBool(int32) + IL_0294: stloc.1 + IL_0295: ldloc.1 + IL_0296: brfalse.s IL_02f3 + + IL_0298: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__52'::'<>p__6' + IL_029d: brfalse.s IL_02a1 + + IL_029f: br.s IL_02d6 + + IL_02a1: ldc.i4.8 + IL_02a2: ldc.i4.2 + IL_02a3: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_02a8: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_02ad: ldc.i4.2 + IL_02ae: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_02b3: dup + IL_02b4: ldc.i4.0 + IL_02b5: ldc.i4.1 + IL_02b6: ldnull + IL_02b7: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_02bc: stelem.ref + IL_02bd: dup + IL_02be: ldc.i4.1 + IL_02bf: ldc.i4.0 + IL_02c0: ldnull + IL_02c1: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_02c6: stelem.ref + IL_02c7: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::BinaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_02cc: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_02d1: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__52'::'<>p__6' + IL_02d6: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__52'::'<>p__6' + IL_02db: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_02e0: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__52'::'<>p__6' + IL_02e5: ldloc.1 + IL_02e6: ldc.i4.2 + IL_02e7: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests::GetDynamic(int32) + IL_02ec: callvirt instance !3 class [mscorlib]System.Func`4::Invoke(!0, + !1, + !2) + IL_02f1: br.s IL_02f9 + + IL_02f3: ldloc.1 + IL_02f4: box [mscorlib]System.Boolean + IL_02f9: callvirt instance void class [mscorlib]System.Action`3::Invoke(!0, + !1, + !2) + IL_02fe: nop + IL_02ff: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__52'::'<>p__10' + IL_0304: brfalse.s IL_0308 + + IL_0306: br.s IL_0347 + + IL_0308: ldc.i4 0x100 + IL_030d: ldstr "WriteLine" + IL_0312: ldnull + IL_0313: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_0318: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_031d: ldc.i4.2 + IL_031e: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_0323: dup + IL_0324: ldc.i4.0 + IL_0325: ldc.i4.s 33 + IL_0327: ldnull + IL_0328: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_032d: stelem.ref + IL_032e: dup + IL_032f: ldc.i4.1 + IL_0330: ldc.i4.0 + IL_0331: ldnull + IL_0332: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0337: stelem.ref + IL_0338: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::InvokeMember(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + string, + class [mscorlib]System.Collections.Generic.IEnumerable`1, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_033d: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_0342: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__52'::'<>p__10' + IL_0347: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__52'::'<>p__10' + IL_034c: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_0351: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__52'::'<>p__10' + IL_0356: ldtoken [mscorlib]System.Console + IL_035b: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0360: ldarg.0 + IL_0361: ldc.i4.1 + IL_0362: ceq + IL_0364: stloc.1 + IL_0365: ldloc.1 + IL_0366: brfalse IL_0415 + + IL_036b: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__52'::'<>p__9' + IL_0370: brfalse.s IL_0374 + + IL_0372: br.s IL_03a9 + + IL_0374: ldc.i4.8 + IL_0375: ldc.i4.2 + IL_0376: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_037b: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0380: ldc.i4.2 + IL_0381: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_0386: dup + IL_0387: ldc.i4.0 + IL_0388: ldc.i4.1 + IL_0389: ldnull + IL_038a: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_038f: stelem.ref + IL_0390: dup + IL_0391: ldc.i4.1 + IL_0392: ldc.i4.0 + IL_0393: ldnull + IL_0394: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0399: stelem.ref + IL_039a: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::BinaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_039f: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_03a4: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__52'::'<>p__9' + IL_03a9: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__52'::'<>p__9' + IL_03ae: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_03b3: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__52'::'<>p__9' + IL_03b8: ldloc.1 + IL_03b9: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__52'::'<>p__8' + IL_03be: brfalse.s IL_03c2 + + IL_03c0: br.s IL_03f8 + + IL_03c2: ldc.i4.0 + IL_03c3: ldc.i4.s 13 + IL_03c5: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_03ca: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_03cf: ldc.i4.2 + IL_03d0: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_03d5: dup + IL_03d6: ldc.i4.0 + IL_03d7: ldc.i4.0 + IL_03d8: ldnull + IL_03d9: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_03de: stelem.ref + IL_03df: dup + IL_03e0: ldc.i4.1 + IL_03e1: ldc.i4.2 + IL_03e2: ldnull + IL_03e3: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_03e8: stelem.ref + IL_03e9: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::BinaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_03ee: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_03f3: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__52'::'<>p__8' + IL_03f8: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__52'::'<>p__8' + IL_03fd: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_0402: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__52'::'<>p__8' + IL_0407: ldarg.1 + IL_0408: ldnull + IL_0409: callvirt instance !3 class [mscorlib]System.Func`4::Invoke(!0, + !1, + !2) + IL_040e: callvirt instance !3 class [mscorlib]System.Func`4::Invoke(!0, + !1, + !2) + IL_0413: br.s IL_041b + + IL_0415: ldloc.1 + IL_0416: box [mscorlib]System.Boolean + IL_041b: callvirt instance void class [mscorlib]System.Action`3::Invoke(!0, + !1, + !2) + IL_0420: nop + IL_0421: ret + } // end of method DynamicTests::LogicAndExtended + + .method private hidebysig static object + LogicOr() cil managed + { + .param [0] + .custom instance void [System.Core]System.Runtime.CompilerServices.DynamicAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 182 (0xb6) + .maxstack 8 + .locals init (object V_0, + object V_1) + IL_0000: nop + IL_0001: ldc.i4.1 + IL_0002: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests::GetDynamic(int32) + IL_0007: stloc.0 + IL_0008: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__53'::'<>p__1' + IL_000d: brfalse.s IL_0011 + + IL_000f: br.s IL_003d + + IL_0011: ldc.i4.0 + IL_0012: ldc.i4.s 83 + IL_0014: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_0019: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_001e: ldc.i4.1 + IL_001f: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_0024: dup + IL_0025: ldc.i4.0 + IL_0026: ldc.i4.0 + IL_0027: ldnull + IL_0028: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_002d: stelem.ref + IL_002e: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::UnaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0033: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_0038: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__53'::'<>p__1' + IL_003d: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__53'::'<>p__1' + IL_0042: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_0047: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__53'::'<>p__1' + IL_004c: ldloc.0 + IL_004d: callvirt instance !2 class [mscorlib]System.Func`3::Invoke(!0, + !1) + IL_0052: brtrue.s IL_00b0 + + IL_0054: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__53'::'<>p__0' + IL_0059: brfalse.s IL_005d + + IL_005b: br.s IL_0093 + + IL_005d: ldc.i4.8 + IL_005e: ldc.i4.s 36 + IL_0060: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_0065: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_006a: ldc.i4.2 + IL_006b: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_0070: dup + IL_0071: ldc.i4.0 + IL_0072: ldc.i4.0 + IL_0073: ldnull + IL_0074: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0079: stelem.ref + IL_007a: dup + IL_007b: ldc.i4.1 + IL_007c: ldc.i4.0 + IL_007d: ldnull + IL_007e: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0083: stelem.ref + IL_0084: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::BinaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0089: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_008e: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__53'::'<>p__0' + IL_0093: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__53'::'<>p__0' + IL_0098: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_009d: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__53'::'<>p__0' + IL_00a2: ldloc.0 + IL_00a3: ldc.i4.2 + IL_00a4: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests::GetDynamic(int32) + IL_00a9: callvirt instance !3 class [mscorlib]System.Func`4::Invoke(!0, + !1, + !2) + IL_00ae: br.s IL_00b1 + + IL_00b0: ldloc.0 + IL_00b1: stloc.1 + IL_00b2: br.s IL_00b4 + + IL_00b4: ldloc.1 + IL_00b5: ret + } // end of method DynamicTests::LogicOr + + .method private hidebysig static object + LogicOr(object a, + object b) cil managed + { + .param [0] + .custom instance void [System.Core]System.Runtime.CompilerServices.DynamicAttribute::.ctor() = ( 01 00 00 00 ) + .param [1] + .custom instance void [System.Core]System.Runtime.CompilerServices.DynamicAttribute::.ctor() = ( 01 00 00 00 ) + .param [2] + .custom instance void [System.Core]System.Runtime.CompilerServices.DynamicAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 170 (0xaa) + .maxstack 8 + .locals init (object V_0) + IL_0000: nop + IL_0001: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__54'::'<>p__1' + IL_0006: brfalse.s IL_000a + + IL_0008: br.s IL_0036 + + IL_000a: ldc.i4.0 + IL_000b: ldc.i4.s 83 + IL_000d: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_0012: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0017: ldc.i4.1 + IL_0018: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_001d: dup + IL_001e: ldc.i4.0 + IL_001f: ldc.i4.0 + IL_0020: ldnull + IL_0021: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0026: stelem.ref + IL_0027: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::UnaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_002c: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_0031: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__54'::'<>p__1' + IL_0036: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__54'::'<>p__1' + IL_003b: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_0040: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__54'::'<>p__1' + IL_0045: ldarg.0 + IL_0046: callvirt instance !2 class [mscorlib]System.Func`3::Invoke(!0, + !1) + IL_004b: brtrue.s IL_00a4 + + IL_004d: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__54'::'<>p__0' + IL_0052: brfalse.s IL_0056 + + IL_0054: br.s IL_008c + + IL_0056: ldc.i4.8 + IL_0057: ldc.i4.s 36 + IL_0059: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_005e: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0063: ldc.i4.2 + IL_0064: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_0069: dup + IL_006a: ldc.i4.0 + IL_006b: ldc.i4.0 + IL_006c: ldnull + IL_006d: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0072: stelem.ref + IL_0073: dup + IL_0074: ldc.i4.1 + IL_0075: ldc.i4.0 + IL_0076: ldnull + IL_0077: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_007c: stelem.ref + IL_007d: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::BinaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0082: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_0087: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__54'::'<>p__0' + IL_008c: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__54'::'<>p__0' + IL_0091: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_0096: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__54'::'<>p__0' + IL_009b: ldarg.0 + IL_009c: ldarg.1 + IL_009d: callvirt instance !3 class [mscorlib]System.Func`4::Invoke(!0, + !1, + !2) + IL_00a2: br.s IL_00a5 + + IL_00a4: ldarg.0 + IL_00a5: stloc.0 + IL_00a6: br.s IL_00a8 + + IL_00a8: ldloc.0 + IL_00a9: ret + } // end of method DynamicTests::LogicOr + + .method private hidebysig static void LogicOrExtended(int32 i, + object d) cil managed + { + .param [2] + .custom instance void [System.Core]System.Runtime.CompilerServices.DynamicAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 1062 (0x426) + .maxstack 14 + .locals init (object V_0, + bool V_1) + IL_0000: nop + IL_0001: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__55'::'<>p__2' + IL_0006: brfalse.s IL_000a + + IL_0008: br.s IL_0049 + + IL_000a: ldc.i4 0x100 + IL_000f: ldstr "WriteLine" + IL_0014: ldnull + IL_0015: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_001a: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_001f: ldc.i4.2 + IL_0020: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_0025: dup + IL_0026: ldc.i4.0 + IL_0027: ldc.i4.s 33 + IL_0029: ldnull + IL_002a: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_002f: stelem.ref + IL_0030: dup + IL_0031: ldc.i4.1 + IL_0032: ldc.i4.0 + IL_0033: ldnull + IL_0034: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0039: stelem.ref + IL_003a: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::InvokeMember(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + string, + class [mscorlib]System.Collections.Generic.IEnumerable`1, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_003f: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_0044: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__55'::'<>p__2' + IL_0049: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__55'::'<>p__2' + IL_004e: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_0053: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__55'::'<>p__2' + IL_0058: ldtoken [mscorlib]System.Console + IL_005d: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0062: ldc.i4.1 + IL_0063: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests::GetDynamic(int32) + IL_0068: stloc.0 + IL_0069: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__55'::'<>p__1' + IL_006e: brfalse.s IL_0072 + + IL_0070: br.s IL_009e + + IL_0072: ldc.i4.0 + IL_0073: ldc.i4.s 83 + IL_0075: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_007a: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_007f: ldc.i4.1 + IL_0080: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_0085: dup + IL_0086: ldc.i4.0 + IL_0087: ldc.i4.0 + IL_0088: ldnull + IL_0089: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_008e: stelem.ref + IL_008f: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::UnaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0094: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_0099: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__55'::'<>p__1' + IL_009e: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__55'::'<>p__1' + IL_00a3: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_00a8: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__55'::'<>p__1' + IL_00ad: ldloc.0 + IL_00ae: callvirt instance !2 class [mscorlib]System.Func`3::Invoke(!0, + !1) + IL_00b3: brtrue.s IL_0111 + + IL_00b5: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__55'::'<>p__0' + IL_00ba: brfalse.s IL_00be + + IL_00bc: br.s IL_00f4 + + IL_00be: ldc.i4.8 + IL_00bf: ldc.i4.s 36 + IL_00c1: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_00c6: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00cb: ldc.i4.2 + IL_00cc: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_00d1: dup + IL_00d2: ldc.i4.0 + IL_00d3: ldc.i4.0 + IL_00d4: ldnull + IL_00d5: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_00da: stelem.ref + IL_00db: dup + IL_00dc: ldc.i4.1 + IL_00dd: ldc.i4.0 + IL_00de: ldnull + IL_00df: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_00e4: stelem.ref + IL_00e5: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::BinaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_00ea: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_00ef: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__55'::'<>p__0' + IL_00f4: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__55'::'<>p__0' + IL_00f9: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_00fe: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__55'::'<>p__0' + IL_0103: ldloc.0 + IL_0104: ldc.i4.2 + IL_0105: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests::GetDynamic(int32) + IL_010a: callvirt instance !3 class [mscorlib]System.Func`4::Invoke(!0, + !1, + !2) + IL_010f: br.s IL_0112 + + IL_0111: ldloc.0 + IL_0112: callvirt instance void class [mscorlib]System.Action`3::Invoke(!0, + !1, + !2) + IL_0117: nop + IL_0118: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__55'::'<>p__5' + IL_011d: brfalse.s IL_0121 + + IL_011f: br.s IL_0160 + + IL_0121: ldc.i4 0x100 + IL_0126: ldstr "WriteLine" + IL_012b: ldnull + IL_012c: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_0131: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0136: ldc.i4.2 + IL_0137: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_013c: dup + IL_013d: ldc.i4.0 + IL_013e: ldc.i4.s 33 + IL_0140: ldnull + IL_0141: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0146: stelem.ref + IL_0147: dup + IL_0148: ldc.i4.1 + IL_0149: ldc.i4.0 + IL_014a: ldnull + IL_014b: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0150: stelem.ref + IL_0151: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::InvokeMember(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + string, + class [mscorlib]System.Collections.Generic.IEnumerable`1, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0156: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_015b: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__55'::'<>p__5' + IL_0160: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__55'::'<>p__5' + IL_0165: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_016a: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__55'::'<>p__5' + IL_016f: ldtoken [mscorlib]System.Console + IL_0174: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0179: ldc.i4.1 + IL_017a: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests::GetDynamic(int32) + IL_017f: stloc.0 + IL_0180: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__55'::'<>p__4' + IL_0185: brfalse.s IL_0189 + + IL_0187: br.s IL_01b5 + + IL_0189: ldc.i4.0 + IL_018a: ldc.i4.s 83 + IL_018c: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_0191: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0196: ldc.i4.1 + IL_0197: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_019c: dup + IL_019d: ldc.i4.0 + IL_019e: ldc.i4.0 + IL_019f: ldnull + IL_01a0: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_01a5: stelem.ref + IL_01a6: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::UnaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_01ab: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_01b0: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__55'::'<>p__4' + IL_01b5: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__55'::'<>p__4' + IL_01ba: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_01bf: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__55'::'<>p__4' + IL_01c4: ldloc.0 + IL_01c5: callvirt instance !2 class [mscorlib]System.Func`3::Invoke(!0, + !1) + IL_01ca: brtrue.s IL_0228 + + IL_01cc: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__55'::'<>p__3' + IL_01d1: brfalse.s IL_01d5 + + IL_01d3: br.s IL_020b + + IL_01d5: ldc.i4.8 + IL_01d6: ldc.i4.s 36 + IL_01d8: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_01dd: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_01e2: ldc.i4.2 + IL_01e3: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_01e8: dup + IL_01e9: ldc.i4.0 + IL_01ea: ldc.i4.0 + IL_01eb: ldnull + IL_01ec: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_01f1: stelem.ref + IL_01f2: dup + IL_01f3: ldc.i4.1 + IL_01f4: ldc.i4.1 + IL_01f5: ldnull + IL_01f6: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_01fb: stelem.ref + IL_01fc: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::BinaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0201: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_0206: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__55'::'<>p__3' + IL_020b: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__55'::'<>p__3' + IL_0210: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_0215: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__55'::'<>p__3' + IL_021a: ldloc.0 + IL_021b: ldc.i4.2 + IL_021c: call bool ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests::GetBool(int32) + IL_0221: callvirt instance !3 class [mscorlib]System.Func`4::Invoke(!0, + !1, + !2) + IL_0226: br.s IL_0229 + + IL_0228: ldloc.0 + IL_0229: callvirt instance void class [mscorlib]System.Action`3::Invoke(!0, + !1, + !2) + IL_022e: nop + IL_022f: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__55'::'<>p__7' + IL_0234: brfalse.s IL_0238 + + IL_0236: br.s IL_0277 + + IL_0238: ldc.i4 0x100 + IL_023d: ldstr "WriteLine" + IL_0242: ldnull + IL_0243: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_0248: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_024d: ldc.i4.2 + IL_024e: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_0253: dup + IL_0254: ldc.i4.0 + IL_0255: ldc.i4.s 33 + IL_0257: ldnull + IL_0258: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_025d: stelem.ref + IL_025e: dup + IL_025f: ldc.i4.1 + IL_0260: ldc.i4.0 + IL_0261: ldnull + IL_0262: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0267: stelem.ref + IL_0268: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::InvokeMember(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + string, + class [mscorlib]System.Collections.Generic.IEnumerable`1, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_026d: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_0272: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__55'::'<>p__7' + IL_0277: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__55'::'<>p__7' + IL_027c: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_0281: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__55'::'<>p__7' + IL_0286: ldtoken [mscorlib]System.Console + IL_028b: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0290: ldc.i4.1 + IL_0291: call bool ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests::GetBool(int32) + IL_0296: stloc.1 + IL_0297: ldloc.1 + IL_0298: brtrue.s IL_02f6 + + IL_029a: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__55'::'<>p__6' + IL_029f: brfalse.s IL_02a3 + + IL_02a1: br.s IL_02d9 + + IL_02a3: ldc.i4.8 + IL_02a4: ldc.i4.s 36 + IL_02a6: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_02ab: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_02b0: ldc.i4.2 + IL_02b1: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_02b6: dup + IL_02b7: ldc.i4.0 + IL_02b8: ldc.i4.1 + IL_02b9: ldnull + IL_02ba: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_02bf: stelem.ref + IL_02c0: dup + IL_02c1: ldc.i4.1 + IL_02c2: ldc.i4.0 + IL_02c3: ldnull + IL_02c4: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_02c9: stelem.ref + IL_02ca: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::BinaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_02cf: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_02d4: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__55'::'<>p__6' + IL_02d9: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__55'::'<>p__6' + IL_02de: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_02e3: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__55'::'<>p__6' + IL_02e8: ldloc.1 + IL_02e9: ldc.i4.2 + IL_02ea: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests::GetDynamic(int32) + IL_02ef: callvirt instance !3 class [mscorlib]System.Func`4::Invoke(!0, + !1, + !2) + IL_02f4: br.s IL_02fc + + IL_02f6: ldloc.1 + IL_02f7: box [mscorlib]System.Boolean + IL_02fc: callvirt instance void class [mscorlib]System.Action`3::Invoke(!0, + !1, + !2) + IL_0301: nop + IL_0302: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__55'::'<>p__10' + IL_0307: brfalse.s IL_030b + + IL_0309: br.s IL_034a + + IL_030b: ldc.i4 0x100 + IL_0310: ldstr "WriteLine" + IL_0315: ldnull + IL_0316: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_031b: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0320: ldc.i4.2 + IL_0321: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_0326: dup + IL_0327: ldc.i4.0 + IL_0328: ldc.i4.s 33 + IL_032a: ldnull + IL_032b: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0330: stelem.ref + IL_0331: dup + IL_0332: ldc.i4.1 + IL_0333: ldc.i4.0 + IL_0334: ldnull + IL_0335: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_033a: stelem.ref + IL_033b: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::InvokeMember(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + string, + class [mscorlib]System.Collections.Generic.IEnumerable`1, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0340: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_0345: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__55'::'<>p__10' + IL_034a: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__55'::'<>p__10' + IL_034f: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_0354: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__55'::'<>p__10' + IL_0359: ldtoken [mscorlib]System.Console + IL_035e: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0363: ldarg.0 + IL_0364: ldc.i4.1 + IL_0365: ceq + IL_0367: stloc.1 + IL_0368: ldloc.1 + IL_0369: brtrue IL_0419 + + IL_036e: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__55'::'<>p__9' + IL_0373: brfalse.s IL_0377 + + IL_0375: br.s IL_03ad + + IL_0377: ldc.i4.8 + IL_0378: ldc.i4.s 36 + IL_037a: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_037f: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0384: ldc.i4.2 + IL_0385: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_038a: dup + IL_038b: ldc.i4.0 + IL_038c: ldc.i4.1 + IL_038d: ldnull + IL_038e: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_0393: stelem.ref + IL_0394: dup + IL_0395: ldc.i4.1 + IL_0396: ldc.i4.0 + IL_0397: ldnull + IL_0398: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_039d: stelem.ref + IL_039e: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::BinaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_03a3: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_03a8: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__55'::'<>p__9' + IL_03ad: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__55'::'<>p__9' + IL_03b2: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_03b7: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__55'::'<>p__9' + IL_03bc: ldloc.1 + IL_03bd: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__55'::'<>p__8' + IL_03c2: brfalse.s IL_03c6 + + IL_03c4: br.s IL_03fc + + IL_03c6: ldc.i4.0 + IL_03c7: ldc.i4.s 13 + IL_03c9: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests + IL_03ce: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_03d3: ldc.i4.2 + IL_03d4: newarr [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo + IL_03d9: dup + IL_03da: ldc.i4.0 + IL_03db: ldc.i4.0 + IL_03dc: ldnull + IL_03dd: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_03e2: stelem.ref + IL_03e3: dup + IL_03e4: ldc.i4.1 + IL_03e5: ldc.i4.2 + IL_03e6: ldnull + IL_03e7: call class [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo::Create(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags, + string) + IL_03ec: stelem.ref + IL_03ed: call class [System.Core]System.Runtime.CompilerServices.CallSiteBinder [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.Binder::BinaryOperation(valuetype [Microsoft.CSharp]Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, + valuetype [System.Core]System.Linq.Expressions.ExpressionType, + class [mscorlib]System.Type, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_03f2: call class [System.Core]System.Runtime.CompilerServices.CallSite`1 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Create(class [System.Core]System.Runtime.CompilerServices.CallSiteBinder) + IL_03f7: stsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__55'::'<>p__8' + IL_03fc: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__55'::'<>p__8' + IL_0401: ldfld !0 class [System.Core]System.Runtime.CompilerServices.CallSite`1>::Target + IL_0406: ldsfld class [System.Core]System.Runtime.CompilerServices.CallSite`1> ICSharpCode.Decompiler.Tests.TestCases.Pretty.DynamicTests/'<>o__55'::'<>p__8' + IL_040b: ldarg.1 + IL_040c: ldnull + IL_040d: callvirt instance !3 class [mscorlib]System.Func`4::Invoke(!0, + !1, + !2) + IL_0412: callvirt instance !3 class [mscorlib]System.Func`4::Invoke(!0, + !1, + !2) + IL_0417: br.s IL_041f + + IL_0419: ldloc.1 + IL_041a: box [mscorlib]System.Boolean + IL_041f: callvirt instance void class [mscorlib]System.Action`3::Invoke(!0, + !1, + !2) + IL_0424: nop + IL_0425: ret + } // end of method DynamicTests::LogicOrExtended + .property instance object Property() { .custom instance void [System.Core]System.Runtime.CompilerServices.DynamicAttribute::.ctor() = ( 01 00 00 00 ) diff --git a/ICSharpCode.Decompiler/CSharp/ExpressionBuilder.cs b/ICSharpCode.Decompiler/CSharp/ExpressionBuilder.cs index 778c4a33e..85a1ca9eb 100644 --- a/ICSharpCode.Decompiler/CSharp/ExpressionBuilder.cs +++ b/ICSharpCode.Decompiler/CSharp/ExpressionBuilder.cs @@ -2581,6 +2581,23 @@ namespace ICSharpCode.Decompiler.CSharp } } + protected internal override TranslatedExpression VisitDynamicLogicOperatorInstruction(DynamicLogicOperatorInstruction inst, TranslationContext context) + { + BinaryOperatorType operatorType; + if (inst.Operation == ExpressionType.AndAlso) { + operatorType = BinaryOperatorType.ConditionalAnd; + } else if (inst.Operation == ExpressionType.OrElse) { + operatorType = BinaryOperatorType.ConditionalOr; + } else { + Debug.Fail("Unknown operation for DynamicLogicOperatorInstruction"); + return base.VisitDynamicLogicOperatorInstruction(inst, context); + } + var left = TranslateDynamicArgument(inst.Left, inst.LeftArgumentInfo); + var right = TranslateDynamicArgument(inst.Right, inst.RightArgumentInfo); + var boe = new BinaryOperatorExpression(left.Expression, operatorType, right.Expression); + return boe.WithILInstruction(inst).WithRR(new ResolveResult(SpecialType.Dynamic)); + } + protected internal override TranslatedExpression VisitDynamicUnaryOperatorInstruction(DynamicUnaryOperatorInstruction inst, TranslationContext context) { switch (inst.Operation) { diff --git a/ICSharpCode.Decompiler/CSharp/StatementBuilder.cs b/ICSharpCode.Decompiler/CSharp/StatementBuilder.cs index 2a2fa3f7d..64609dfd3 100644 --- a/ICSharpCode.Decompiler/CSharp/StatementBuilder.cs +++ b/ICSharpCode.Decompiler/CSharp/StatementBuilder.cs @@ -566,9 +566,7 @@ namespace ICSharpCode.Decompiler.CSharp static bool EqualErasedType(IType a, IType b) { - a = a.AcceptVisitor(NormalizeTypeVisitor.TypeErasure); - b = b.AcceptVisitor(NormalizeTypeVisitor.TypeErasure); - return a.Equals(b); + return NormalizeTypeVisitor.TypeErasure.EquivalentTypes(a, b); } private bool IsDynamicCastToIEnumerable(Expression expr, out Expression dynamicExpr) diff --git a/ICSharpCode.Decompiler/IL/Instructions.cs b/ICSharpCode.Decompiler/IL/Instructions.cs index 6154ba2fe..87a1c4d88 100644 --- a/ICSharpCode.Decompiler/IL/Instructions.cs +++ b/ICSharpCode.Decompiler/IL/Instructions.cs @@ -189,6 +189,8 @@ namespace ICSharpCode.Decompiler.IL ExpressionTreeCast, /// Use of user-defined && or || operator. UserDefinedLogicOperator, + /// ILAst representation of a short-circuiting binary operator inside a dynamic expression. + DynamicLogicOperatorInstruction, /// ILAst representation of a binary operator inside a dynamic expression (maps to Binder.BinaryOperation). DynamicBinaryOperatorInstruction, /// ILAst representation of a unary operator inside a dynamic expression (maps to Binder.UnaryOperation). @@ -4952,6 +4954,94 @@ namespace ICSharpCode.Decompiler.IL } } namespace ICSharpCode.Decompiler.IL +{ + /// ILAst representation of a short-circuiting binary operator inside a dynamic expression. + public sealed partial class DynamicLogicOperatorInstruction : DynamicInstruction + { + public static readonly SlotInfo LeftSlot = new SlotInfo("Left", canInlineInto: true); + ILInstruction left; + public ILInstruction Left { + get { return this.left; } + set { + ValidateChild(value); + SetChildInstruction(ref this.left, value, 0); + } + } + public static readonly SlotInfo RightSlot = new SlotInfo("Right"); + ILInstruction right; + public ILInstruction Right { + get { return this.right; } + set { + ValidateChild(value); + SetChildInstruction(ref this.right, value, 1); + } + } + protected sealed override int GetChildCount() + { + return 2; + } + protected sealed override ILInstruction GetChild(int index) + { + switch (index) { + case 0: + return this.left; + case 1: + return this.right; + default: + throw new IndexOutOfRangeException(); + } + } + protected sealed override void SetChild(int index, ILInstruction value) + { + switch (index) { + case 0: + this.Left = value; + break; + case 1: + this.Right = value; + break; + default: + throw new IndexOutOfRangeException(); + } + } + protected sealed override SlotInfo GetChildSlot(int index) + { + switch (index) { + case 0: + return LeftSlot; + case 1: + return RightSlot; + default: + throw new IndexOutOfRangeException(); + } + } + public sealed override ILInstruction Clone() + { + var clone = (DynamicLogicOperatorInstruction)ShallowClone(); + clone.Left = this.left.Clone(); + clone.Right = this.right.Clone(); + return clone; + } + public override void AcceptVisitor(ILVisitor visitor) + { + visitor.VisitDynamicLogicOperatorInstruction(this); + } + public override T AcceptVisitor(ILVisitor visitor) + { + return visitor.VisitDynamicLogicOperatorInstruction(this); + } + public override T AcceptVisitor(ILVisitor visitor, C context) + { + return visitor.VisitDynamicLogicOperatorInstruction(this, context); + } + protected internal override bool PerformMatch(ILInstruction other, ref Patterns.Match match) + { + var o = other as DynamicLogicOperatorInstruction; + return o != null && this.left.PerformMatch(o.left, ref match) && this.right.PerformMatch(o.right, ref match); + } + } +} +namespace ICSharpCode.Decompiler.IL { /// ILAst representation of a binary operator inside a dynamic expression (maps to Binder.BinaryOperation). public sealed partial class DynamicBinaryOperatorInstruction : DynamicInstruction @@ -6499,6 +6589,10 @@ namespace ICSharpCode.Decompiler.IL { Default(inst); } + protected internal virtual void VisitDynamicLogicOperatorInstruction(DynamicLogicOperatorInstruction inst) + { + Default(inst); + } protected internal virtual void VisitDynamicBinaryOperatorInstruction(DynamicBinaryOperatorInstruction inst) { Default(inst); @@ -6873,6 +6967,10 @@ namespace ICSharpCode.Decompiler.IL { return Default(inst); } + protected internal virtual T VisitDynamicLogicOperatorInstruction(DynamicLogicOperatorInstruction inst) + { + return Default(inst); + } protected internal virtual T VisitDynamicBinaryOperatorInstruction(DynamicBinaryOperatorInstruction inst) { return Default(inst); @@ -7247,6 +7345,10 @@ namespace ICSharpCode.Decompiler.IL { return Default(inst, context); } + protected internal virtual T VisitDynamicLogicOperatorInstruction(DynamicLogicOperatorInstruction inst, C context) + { + return Default(inst, context); + } protected internal virtual T VisitDynamicBinaryOperatorInstruction(DynamicBinaryOperatorInstruction inst, C context) { return Default(inst, context); @@ -7390,7 +7492,8 @@ namespace ICSharpCode.Decompiler.IL "array.to.pointer", "string.to.int", "expression.tree.cast", - "user.logic.op", + "user.logic.operator", + "dynamic.logic.operator", "dynamic.binary.operator", "dynamic.unary.operator", "dynamic.convert", diff --git a/ICSharpCode.Decompiler/IL/Instructions.tt b/ICSharpCode.Decompiler/IL/Instructions.tt index c0b8f51c2..fdfeaaab9 100644 --- a/ICSharpCode.Decompiler/IL/Instructions.tt +++ b/ICSharpCode.Decompiler/IL/Instructions.tt @@ -279,7 +279,7 @@ CustomClassName("ExpressionTreeCast"), Unary, HasTypeOperand, MayThrow, CustomConstructor, CustomWriteTo, ResultType("type.GetStackType()"), MatchCondition("this.IsChecked == o.IsChecked")), - new OpCode("user.logic.op", "Use of user-defined && or || operator.", + new OpCode("user.logic.operator", "Use of user-defined && or || operator.", CustomClassName("UserDefinedLogicOperator"), HasMethodOperand, ResultType("O"), CustomChildren(new []{ @@ -288,6 +288,14 @@ }), CustomComputeFlags // MayThrow, SideEffect, ControlFlow ), + + new OpCode("dynamic.logic.operator", "ILAst representation of a short-circuiting binary operator inside a dynamic expression.", + CustomClassName("DynamicLogicOperatorInstruction"), Dynamic, CustomComputeFlags, + CustomChildren(new []{ + new ChildInfo("left") { CanInlineInto = true }, + new ChildInfo("right") { CanInlineInto = false } // only executed depending on value of left + }), CustomWriteTo + ), new OpCode("dynamic.binary.operator", "ILAst representation of a binary operator inside a dynamic expression (maps to Binder.BinaryOperation).", CustomClassName("DynamicBinaryOperatorInstruction"), Dynamic, CustomArguments(("left", null), ("right", null)), CustomWriteTo), diff --git a/ICSharpCode.Decompiler/IL/Instructions/DynamicInstructions.cs b/ICSharpCode.Decompiler/IL/Instructions/DynamicInstructions.cs index dc6e455b1..76aa62fec 100644 --- a/ICSharpCode.Decompiler/IL/Instructions/DynamicInstructions.cs +++ b/ICSharpCode.Decompiler/IL/Instructions/DynamicInstructions.cs @@ -420,6 +420,55 @@ namespace ICSharpCode.Decompiler.IL } } + partial class DynamicLogicOperatorInstruction + { + public CSharpArgumentInfo LeftArgumentInfo { get; } + public CSharpArgumentInfo RightArgumentInfo { get; } + public ExpressionType Operation { get; } + + public DynamicLogicOperatorInstruction(CSharpBinderFlags binderFlags, ExpressionType operation, IType context, CSharpArgumentInfo leftArgumentInfo, ILInstruction left, CSharpArgumentInfo rightArgumentInfo, ILInstruction right) + : base(OpCode.DynamicLogicOperatorInstruction, binderFlags, context) + { + Operation = operation; + LeftArgumentInfo = leftArgumentInfo; + Left = left; + RightArgumentInfo = rightArgumentInfo; + Right = right; + } + + public override void WriteTo(ITextOutput output, ILAstWritingOptions options) + { + ILRange.WriteTo(output, options); + output.Write(OpCode); + WriteBinderFlags(output, options); + output.Write(' '); + output.Write(Operation.ToString()); + WriteArgumentList(output, options, (Left, LeftArgumentInfo), (Right, RightArgumentInfo)); + } + + public override StackType ResultType => StackType.O; + + protected override InstructionFlags ComputeFlags() + { + return DirectFlags | Left.Flags + | SemanticHelper.CombineBranches(Right.Flags, InstructionFlags.None); + } + + public override InstructionFlags DirectFlags => InstructionFlags.MayThrow | InstructionFlags.SideEffect | InstructionFlags.ControlFlow; + + public override CSharpArgumentInfo GetArgumentInfoOfChild(int index) + { + switch (index) { + case 0: + return LeftArgumentInfo; + case 1: + return RightArgumentInfo; + default: + throw new ArgumentOutOfRangeException(nameof(index)); + } + } + } + partial class DynamicUnaryOperatorInstruction { public CSharpArgumentInfo OperandArgumentInfo { get; } diff --git a/ICSharpCode.Decompiler/IL/Transforms/ExpressionTransforms.cs b/ICSharpCode.Decompiler/IL/Transforms/ExpressionTransforms.cs index 96f76a11e..fb226cda8 100644 --- a/ICSharpCode.Decompiler/IL/Transforms/ExpressionTransforms.cs +++ b/ICSharpCode.Decompiler/IL/Transforms/ExpressionTransforms.cs @@ -335,6 +335,9 @@ namespace ICSharpCode.Decompiler.IL.Transforms return; if (inst.MatchIfInstructionPositiveCondition(out var condition, out var trueInst, out var falseInst)) { ILInstruction transformed = UserDefinedLogicTransform.Transform(condition, trueInst, falseInst); + if (transformed == null) { + transformed = UserDefinedLogicTransform.TransformDynamic(condition, trueInst, falseInst); + } if (transformed != null) { context.Step("User-defined short-circuiting logic operator (roslyn pattern)", condition); transformed.AddILRange(inst.ILRange); diff --git a/ICSharpCode.Decompiler/IL/Transforms/ILInlining.cs b/ICSharpCode.Decompiler/IL/Transforms/ILInlining.cs index b33cc0ba0..06f3fced0 100644 --- a/ICSharpCode.Decompiler/IL/Transforms/ILInlining.cs +++ b/ICSharpCode.Decompiler/IL/Transforms/ILInlining.cs @@ -351,6 +351,7 @@ namespace ICSharpCode.Decompiler.IL.Transforms case OpCode.NullableUnwrap: return true; // inline into ?. operator case OpCode.UserDefinedLogicOperator: + case OpCode.DynamicLogicOperatorInstruction: return true; // inline into (left slot of) user-defined && or || operator case OpCode.DynamicGetMemberInstruction: case OpCode.DynamicGetIndexInstruction: diff --git a/ICSharpCode.Decompiler/IL/Transforms/UserDefinedLogicTransform.cs b/ICSharpCode.Decompiler/IL/Transforms/UserDefinedLogicTransform.cs index 43c882d10..680b1679e 100644 --- a/ICSharpCode.Decompiler/IL/Transforms/UserDefinedLogicTransform.cs +++ b/ICSharpCode.Decompiler/IL/Transforms/UserDefinedLogicTransform.cs @@ -18,7 +18,11 @@ using System; using System.Collections.Generic; +using System.Diagnostics; +using System.Linq; using System.Text; +using ICSharpCode.Decompiler.TypeSystem; +using ICSharpCode.Decompiler.Util; namespace ICSharpCode.Decompiler.IL.Transforms { @@ -50,6 +54,9 @@ namespace ICSharpCode.Decompiler.IL.Transforms } if (trueInst.MatchReturn(out var trueValue) && falseInst.MatchReturn(out var falseValue)) { var transformed = Transform(condition, trueValue, falseValue); + if (transformed == null) { + transformed = TransformDynamic(condition, trueValue, falseValue); + } if (transformed != null) { context.Step("User-defined short-circuiting logic operator (optimized return)", condition); ((Leave)block.Instructions[pos + 1]).Value = transformed; @@ -146,5 +153,104 @@ namespace ICSharpCode.Decompiler.IL.Transforms result.AddILRange(call.ILRange); return result; } + + public static ILInstruction TransformDynamic(ILInstruction condition, ILInstruction trueInst, ILInstruction falseInst) + { + // Check condition: + System.Linq.Expressions.ExpressionType unaryOp; + if (condition.MatchLdLoc(out var lhsVar)) { + // if (ldloc lhsVar) box bool(ldloc lhsVar) else dynamic.binary.operator.logic Or(ldloc lhsVar, rhsInst) + // -> dynamic.logic.operator OrElse(ldloc lhsVar, rhsInst) + if (trueInst is Box box && box.Type.IsKnownType(KnownTypeCode.Boolean)) { + unaryOp = System.Linq.Expressions.ExpressionType.IsTrue; + trueInst = box.Argument; + } else if (falseInst is Box box2 && box2.Type.IsKnownType(KnownTypeCode.Boolean)) { + // negate condition and swap true/false + unaryOp = System.Linq.Expressions.ExpressionType.IsFalse; + falseInst = trueInst; + trueInst = box2.Argument; + } else { + return null; + } + } else if (condition is DynamicUnaryOperatorInstruction unary) { + // if (dynamic.unary.operator IsFalse(ldloc lhsVar)) ldloc lhsVar else dynamic.binary.operator.logic And(ldloc lhsVar, rhsInst) + // -> dynamic.logic.operator AndAlso(ldloc lhsVar, rhsInst) + unaryOp = unary.Operation; + if (!unary.Operand.MatchLdLoc(out lhsVar)) + return null; + } else if (MatchCondition(condition, out lhsVar, out string operatorMethodName)) { + // if (call op_False(ldloc s)) box S(ldloc s) else dynamic.binary.operator.logic And(ldloc s, rhsInst)) + if (operatorMethodName == "op_True") { + unaryOp = System.Linq.Expressions.ExpressionType.IsTrue; + } else { + Debug.Assert(operatorMethodName == "op_False"); + unaryOp = System.Linq.Expressions.ExpressionType.IsFalse; + } + var callParamType = ((Call)condition).Method.Parameters.Single().Type.SkipModifiers(); + if (callParamType.IsReferenceType == false) { + // If lhs is a value type, eliminate the boxing instruction. + if (trueInst is Box box && NormalizeTypeVisitor.TypeErasure.EquivalentTypes(box.Type, callParamType)) { + trueInst = box.Argument; + } else if (trueInst.OpCode == OpCode.LdcI4) { + // special case, handled below in 'check trueInst' + } else { + return null; + } + } + } else { + return null; + } + + // Check trueInst: + DynamicUnaryOperatorInstruction rhsUnary; + if (trueInst.MatchLdLoc(lhsVar)) { + // OK, typical pattern where the expression evaluates to 'dynamic' + rhsUnary = null; + } else if (trueInst.MatchLdcI4(1) && unaryOp == System.Linq.Expressions.ExpressionType.IsTrue) { + // logic.or(IsTrue(lhsVar), IsTrue(lhsVar | rhsInst)) + // => IsTrue(lhsVar || rhsInst) + rhsUnary = falseInst as DynamicUnaryOperatorInstruction; + if (rhsUnary != null) { + if (rhsUnary.Operation != System.Linq.Expressions.ExpressionType.IsTrue) + return null; + falseInst = rhsUnary.Operand; + } else { + return null; + } + } else { + return null; + } + + System.Linq.Expressions.ExpressionType expectedBitop; + System.Linq.Expressions.ExpressionType logicOp; + if (unaryOp == System.Linq.Expressions.ExpressionType.IsFalse) { + expectedBitop = System.Linq.Expressions.ExpressionType.And; + logicOp = System.Linq.Expressions.ExpressionType.AndAlso; + } else if (unaryOp == System.Linq.Expressions.ExpressionType.IsTrue) { + expectedBitop = System.Linq.Expressions.ExpressionType.Or; + logicOp = System.Linq.Expressions.ExpressionType.OrElse; + } else { + return null; + } + + // Check falseInst: + if (!(falseInst is DynamicBinaryOperatorInstruction binary)) + return null; + if (binary.Operation != expectedBitop) + return null; + if (!binary.Left.MatchLdLoc(lhsVar)) + return null; + var logicInst = new DynamicLogicOperatorInstruction(binary.BinderFlags, logicOp, binary.CallingContext, + binary.LeftArgumentInfo, binary.Left, binary.RightArgumentInfo, binary.Right) + { + ILRange = binary.ILRange + }; + if (rhsUnary != null) { + rhsUnary.Operand = logicInst; + return rhsUnary; + } else { + return logicInst; + } + } } } diff --git a/ICSharpCode.Decompiler/TypeSystem/NormalizeTypeVisitor.cs b/ICSharpCode.Decompiler/TypeSystem/NormalizeTypeVisitor.cs index b40ad09ef..9f4dac47d 100644 --- a/ICSharpCode.Decompiler/TypeSystem/NormalizeTypeVisitor.cs +++ b/ICSharpCode.Decompiler/TypeSystem/NormalizeTypeVisitor.cs @@ -15,9 +15,20 @@ namespace ICSharpCode.Decompiler.TypeSystem ReplaceClassTypeParametersWithDummy = false, ReplaceMethodTypeParametersWithDummy = false, DynamicAndObject = true, - TupleToUnderlyingType = true + TupleToUnderlyingType = true, + RemoveModOpt = true, + RemoveModReq = true, }; + public bool EquivalentTypes(IType a, IType b) + { + a = a.AcceptVisitor(this); + b = b.AcceptVisitor(this); + return a.Equals(b); + } + + public bool RemoveModOpt = true; + public bool RemoveModReq = true; public bool ReplaceClassTypeParametersWithDummy = true; public bool ReplaceMethodTypeParametersWithDummy = true; public bool DynamicAndObject = true; @@ -52,5 +63,23 @@ namespace ICSharpCode.Decompiler.TypeSystem return base.VisitTupleType(type); } } + + public override IType VisitModOpt(ModifiedType type) + { + if (RemoveModOpt) { + return type.ElementType.AcceptVisitor(this); + } else { + return base.VisitModOpt(type); + } + } + + public override IType VisitModReq(ModifiedType type) + { + if (RemoveModReq) { + return type.ElementType.AcceptVisitor(this); + } else { + return base.VisitModReq(type); + } + } } }