diff --git a/ICSharpCode.Decompiler.Tests/CorrectnessTestRunner.cs b/ICSharpCode.Decompiler.Tests/CorrectnessTestRunner.cs index b7b5d921a..c1fedbd03 100644 --- a/ICSharpCode.Decompiler.Tests/CorrectnessTestRunner.cs +++ b/ICSharpCode.Decompiler.Tests/CorrectnessTestRunner.cs @@ -155,6 +155,12 @@ namespace ICSharpCode.Decompiler.Tests RunCS(options: options); } + [Test] + public void ExpressionTrees([ValueSource("defaultOptions")] CompilerOptions options) + { + RunCS(options: options); + } + [Test] public void BitNot([Values(false, true)] bool force32Bit) { diff --git a/ICSharpCode.Decompiler.Tests/DataFlowTest.cs b/ICSharpCode.Decompiler.Tests/DataFlowTest.cs index a6b8ebfeb..d0277de07 100644 --- a/ICSharpCode.Decompiler.Tests/DataFlowTest.cs +++ b/ICSharpCode.Decompiler.Tests/DataFlowTest.cs @@ -55,7 +55,7 @@ namespace ICSharpCode.Decompiler.Tests public void TryFinallyWithAssignmentInFinally() { ILVariable v = new ILVariable(VariableKind.Local, SpecialType.UnknownType, 0); - ILFunction f = new ILFunction(null, null, new TryFinally( + ILFunction f = new ILFunction((IMethod)null, null, new TryFinally( new Nop(), new StLoc(v, new LdcI4(0)) )); diff --git a/ICSharpCode.Decompiler.Tests/ExpressionTrees.cs b/ICSharpCode.Decompiler.Tests/ExpressionTrees.cs deleted file mode 100644 index 9d325e9e9..000000000 --- a/ICSharpCode.Decompiler.Tests/ExpressionTrees.cs +++ /dev/null @@ -1,370 +0,0 @@ -// Copyright (c) AlphaSierraPapa for the SharpDevelop Team -// -// Permission is hereby granted, free of charge, to any person obtaining a copy of this -// software and associated documentation files (the "Software"), to deal in the Software -// without restriction, including without limitation the rights to use, copy, modify, merge, -// publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons -// to whom the Software is furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in all copies or -// substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, -// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR -// PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE -// FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -// DEALINGS IN THE SOFTWARE. - -using System; -using System.Collections.Generic; -using System.Linq; -using System.Linq.Expressions; -using System.Xml; - -public class ExpressionTrees -{ - class GenericClass - { - public static X StaticField; - public X InstanceField; - public static X StaticProperty { get; set; } - public X InstanceProperty { get; set; } - - public static bool GenericMethod() - { - return false; - } - } - - int field; - - static object ToCode(object x, Expression> expr) - { - return expr; - } - - static object ToCode(object x, Expression> expr) - { - return expr; - } - - static object X() - { - return null; - } - - public void Parameter(bool a) - { - ToCode(X(), () => a); - } - - public void LocalVariable() - { - bool a = true; - ToCode(X(), () => a); - } - - public void LambdaParameter() - { - ToCode(X(), (bool a) => a); - } - - public void AddOperator(int x) - { - ToCode(X(), () => 1 + x + 2); - } - - public void AnonymousClasses() - { - ToCode(X(), () => new { X = 3, A = "a" }); - } - - public void ArrayIndex() - { - ToCode(X(), () => new[] { 3, 4, 5 }[0 + (int)(DateTime.Now.Ticks % 3)]); - } - - public void ArrayLengthAndDoubles() - { - ToCode(X(), () => new[] { 1.0, 2.01, 3.5 }.Concat(new[] { 1.0, 2.0 }).ToArray().Length); - } - - public void AsOperator() - { - ToCode(X(), () => new object() as string); - } - - public void ComplexGenericName() - { - ToCode(X(), () => ((Func)(x => x > 0))(0)); - } - - public void DefaultValue() - { - ToCode(X(), () => new TimeSpan(1, 2, 3) == default(TimeSpan)); - } - - public void EnumConstant() - { - ToCode(X(), () => new object().Equals(MidpointRounding.ToEven)); - } - - public void IndexerAccess() - { - var dict = Enumerable.Range(1, 20).ToDictionary(n => n.ToString()); - ToCode(X(), () => dict["3"] == 3); - } - - public void IsOperator() - { - ToCode(X(), () => new object() is string); - } - - public void ListInitializer() - { - ToCode(X(), () => new Dictionary { { 1, 1 }, { 2, 2 }, { 3, 4 } }.Count == 3); - } - - public void ListInitializer2() - { - ToCode(X(), () => new List(50) { 1, 2, 3 }.Count == 3); - } - - public void ListInitializer3() - { - ToCode(X(), () => new List { 1, 2, 3 }.Count == 3); - } - - public void LiteralCharAndProperty() - { - ToCode(X(), () => new string(' ', 3).Length == 1); - } - - public void CharNoCast() - { - ToCode(X(), () => "abc"[1] == 'b'); - } - - public void StringsImplicitCast() - { - int i = 1; - string x = "X"; - ToCode(X(), () => (("a\n\\b" ?? x) + x).Length == 2 ? false : true && (1m + -i > 0 || false)); - } - - public void NotImplicitCast() - { - byte z = 42; - ToCode(X(), () => ~z == 0); - } - - public void MembersBuiltin() - { - ToCode(X(), () => 1.23m.ToString()); - ToCode(X(), () => AttributeTargets.All.HasFlag((Enum)AttributeTargets.Assembly)); - ToCode(X(), () => "abc".Length == 3); - ToCode(X(), () => 'a'.CompareTo('b') < 0); - } - - public void MembersDefault() - { - ToCode(X(), () => default(DateTime).Ticks == 0); - ToCode(X(), () => default(int[]).Length == 0); - ToCode(X(), () => default(Type).IsLayoutSequential); - ToCode(X(), () => default(List).Count); - ToCode(X(), () => default(int[]).Clone() == null); - ToCode(X(), () => default(Type).IsInstanceOfType(new object())); - ToCode(X(), () => default(List).AsReadOnly()); - } - - public void DoAssert() - { - field = 37; - ToCode(X(), () => field != C()); - ToCode(X(), () => !ReferenceEquals(this, new ExpressionTrees())); - ToCode(X(), () => MyEquals(this) && !MyEquals(default(ExpressionTrees))); - } - - int C() - { - return field + 5; - } - - bool MyEquals(ExpressionTrees other) - { - return other != null && field == other.field; - } - - public void MethodGroupAsExtensionMethod() - { - ToCode(X(), () => (Func)new[] { 2000, 2004, 2008, 2012 }.Any); - } - - public void MethodGroupConstant() - { - ToCode(X(), () => Array.TrueForAll(new[] { 2000, 2004, 2008, 2012 }, DateTime.IsLeapYear)); - - HashSet set = new HashSet(); - ToCode(X(), () => new[] { 2000, 2004, 2008, 2012 }.All(set.Add)); - - Func, bool> sink = f => f(null, null); - ToCode(X(), () => sink(int.Equals)); - } - - public void MultipleCasts() - { - ToCode(X(), () => 1 == (int)(object)1); - } - - public void MultipleDots() - { - ToCode(X(), () => 3.ToString().ToString().Length > 0); - } - - public void NestedLambda() - { - Func, int> call = f => f(); - //no params - ToCode(X(), () => call(() => 42)); - //one param - ToCode(X(), () => new[] { 37, 42 }.Select(x => x * 2)); - //two params - ToCode(X(), () => new[] { 37, 42 }.Select((x, i) => x * 2)); - } - - public void CurriedLambda() - { - ToCode>>(X(), a => b => c => a + b + c); - } - - bool Fizz(Func a) - { - return a(42); - } - - bool Buzz(Func a) - { - return a(42); - } - - bool Fizz(Func a) - { - return a("42"); - } - - public void NestedLambda2() - { - ToCode(X(), () => Fizz(x => x == "a")); - ToCode(X(), () => Fizz(x => x == 37)); - - ToCode(X(), () => Fizz((int x) => true)); - ToCode(X(), () => Buzz(x => true)); - } - - public void NewArrayAndExtensionMethod() - { - ToCode(X(), () => new[] { 1.0, 2.01, 3.5 }.SequenceEqual(new[] { 1.0, 2.01, 3.5 })); - } - - public void NewMultiDimArray() - { - ToCode(X(), () => new int[3, 4].Length == 1); - } - - public void NewObject() - { - ToCode(X(), () => new object() != new object()); - } - - public void NotOperator() - { - bool x = true; - int y = 3; - byte z = 42; - ToCode(X(), () => ~(int)z == 0); - ToCode(X(), () => ~y == 0); - ToCode(X(), () => !x); - } - - public void ObjectInitializers() - { - XmlReaderSettings s = new XmlReaderSettings { - CloseInput = false, - CheckCharacters = false - }; - ToCode(X(), () => new XmlReaderSettings { CloseInput = s.CloseInput, CheckCharacters = s.CheckCharacters }.Equals(s)); - } - - public void Quoted() - { - ToCode(X(), () => (Expression>)((n, s) => s + n.ToString()) != null); - } - - public void Quoted2() - { - ToCode(X(), () => ToCode(X(), () => true).Equals(null)); - } - - public void QuotedWithAnonymous() - { - ToCode(X(), () => new[] { new { X = "a", Y = "b" } }.Select(o => o.X + o.Y).Single()); - } - - public void StaticCall() - { - ToCode(X(), () => Equals(3, 0)); - } - - public void ThisCall() - { - ToCode(X(), () => !Equals(3)); - } - - public void ThisExplicit() - { - ToCode(X(), () => object.Equals(this, 3)); - } - - public void TypedConstant() - { - ToCode(X(), () => new[] { typeof(int), typeof(string) }); - } - - public void StaticCallImplicitCast() - { - ToCode(X(), () => Equals(3, 0)); - } - - public void StaticMembers() - { - ToCode(X(), () => (DateTime.Now > DateTime.Now + TimeSpan.FromMilliseconds(10.001)).ToString() == "False"); - } - - public void Strings() - { - int i = 1; - string x = "X"; - ToCode(X(), () => (("a\n\\b" ?? x) + x).Length == 2 ? false : true && (1m + (decimal)-i > 0m || false)); - } - - public void StringAccessor() - { - ToCode(X(), () => (int)"abc"[1] == 98); - } - - public void GenericClassInstance() - { - ToCode(X(), () => new GenericClass().InstanceField + new GenericClass().InstanceProperty); - } - - public void GenericClassStatic() - { - ToCode(X(), () => GenericClass.StaticField + GenericClass.StaticProperty); - } - - public void InvokeGenericMethod() - { - ToCode(X(), () => GenericClass.GenericMethod()); - } -} diff --git a/ICSharpCode.Decompiler.Tests/Helpers/Tester.cs b/ICSharpCode.Decompiler.Tests/Helpers/Tester.cs index 0e3b15ff5..4abc3c0f7 100644 --- a/ICSharpCode.Decompiler.Tests/Helpers/Tester.cs +++ b/ICSharpCode.Decompiler.Tests/Helpers/Tester.cs @@ -154,7 +154,8 @@ namespace ICSharpCode.Decompiler.Tests.Helpers { MetadataReference.CreateFromFile(Path.Combine(refAsmPath, "mscorlib.dll")), MetadataReference.CreateFromFile(Path.Combine(refAsmPath, "System.dll")), - MetadataReference.CreateFromFile(Path.Combine(refAsmPath, "System.Core.dll")) + MetadataReference.CreateFromFile(Path.Combine(refAsmPath, "System.Core.dll")), + MetadataReference.CreateFromFile(Path.Combine(refAsmPath, "System.Xml.dll")) }; }); @@ -222,7 +223,9 @@ namespace ICSharpCode.Decompiler.Tests.Helpers options.OutputAssembly = outputFileName; } + options.ReferencedAssemblies.Add("System.dll"); options.ReferencedAssemblies.Add("System.Core.dll"); + options.ReferencedAssemblies.Add("System.Xml.dll"); CompilerResults results = provider.CompileAssemblyFromFile(options, sourceFileNames.ToArray()); if (results.Errors.Cast().Any(e => !e.IsWarning)) { StringBuilder b = new StringBuilder("Compiler error:"); diff --git a/ICSharpCode.Decompiler.Tests/ICSharpCode.Decompiler.Tests.csproj b/ICSharpCode.Decompiler.Tests/ICSharpCode.Decompiler.Tests.csproj index 622298fd9..2427e66e7 100644 --- a/ICSharpCode.Decompiler.Tests/ICSharpCode.Decompiler.Tests.csproj +++ b/ICSharpCode.Decompiler.Tests/ICSharpCode.Decompiler.Tests.csproj @@ -58,8 +58,10 @@ + + diff --git a/ICSharpCode.Decompiler.Tests/PrettyTestRunner.cs b/ICSharpCode.Decompiler.Tests/PrettyTestRunner.cs index 7c755f0ef..1c62772e5 100644 --- a/ICSharpCode.Decompiler.Tests/PrettyTestRunner.cs +++ b/ICSharpCode.Decompiler.Tests/PrettyTestRunner.cs @@ -200,6 +200,12 @@ namespace ICSharpCode.Decompiler.Tests Run(cscOptions: cscOptions); } + [Test] + public void ExpressionTrees([ValueSource("defaultOptions")] CompilerOptions cscOptions) + { + Run(cscOptions: cscOptions); + } + [Test] public void FixProxyCalls([Values(CompilerOptions.None, CompilerOptions.Optimize, CompilerOptions.UseRoslyn)] CompilerOptions cscOptions) { diff --git a/ICSharpCode.Decompiler.Tests/TestCases/Correctness/ExpressionTrees.cs b/ICSharpCode.Decompiler.Tests/TestCases/Correctness/ExpressionTrees.cs new file mode 100644 index 000000000..09ef4a7cd --- /dev/null +++ b/ICSharpCode.Decompiler.Tests/TestCases/Correctness/ExpressionTrees.cs @@ -0,0 +1,33 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Linq.Expressions; +using System.Text; +using System.Threading.Tasks; + +namespace ICSharpCode.Decompiler.Tests.TestCases.Correctness +{ + class ExpressionTrees + { + static void Main() + { + Test(); + var twice = GetExpression(Expression.Constant(2)).Compile(); + Console.WriteLine(twice(21)); + } + + static void Test() + { + int i = 0; + Expression> expression = () => i; + i = 1; + Console.WriteLine(expression.Compile()()); + } + + static Expression> GetExpression(Expression factor) + { + ParameterExpression parameterExpression = Expression.Parameter(typeof(int), "x"); + return Expression.Lambda>(Expression.Multiply(parameterExpression, factor), parameterExpression); + } + } +} diff --git a/ICSharpCode.Decompiler.Tests/TestCases/Pretty/ExpressionTrees.cs b/ICSharpCode.Decompiler.Tests/TestCases/Pretty/ExpressionTrees.cs new file mode 100644 index 000000000..5996351a4 --- /dev/null +++ b/ICSharpCode.Decompiler.Tests/TestCases/Pretty/ExpressionTrees.cs @@ -0,0 +1,761 @@ +// Copyright (c) AlphaSierraPapa for the SharpDevelop Team +// +// Permission is hereby granted, free of charge, to any person obtaining a copy of this +// software and associated documentation files (the "Software"), to deal in the Software +// without restriction, including without limitation the rights to use, copy, modify, merge, +// publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons +// to whom the Software is furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in all copies or +// substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, +// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR +// PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE +// FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +// DEALINGS IN THE SOFTWARE. + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Linq.Expressions; +using System.Xml; + +namespace ICSharpCode.Decompiler.Tests.TestCases.Pretty +{ + + public class ExpressionTrees + { + private class GenericClass + { + public static X StaticField; + public X InstanceField; + + public static X StaticProperty { + get; + set; + } + + public X InstanceProperty { + get; + set; + } + + public static bool GenericMethod() + { + return false; + } + } + + private int field; + + private static object ToCode(object x, Expression> expr) + { + return expr; + } + + private static object ToCode(object x, Expression> expr) + { + return expr; + } + + private static object ToCode(object x, Expression> expr) + { + return expr; + } + + private static object ToCode(object x, Expression> expr) + { + return expr; + } + + private static object X() + { + return null; + } + + public void Parameter(bool a) + { + ExpressionTrees.ToCode(ExpressionTrees.X(), () => a); + } + + public void LocalVariable() + { + bool a = true; + ExpressionTrees.ToCode(ExpressionTrees.X(), () => a); + } + + public void LambdaParameter() + { + ExpressionTrees.ToCode(ExpressionTrees.X(), (bool a) => a); + } + + public void AddOperator(int x) + { + ExpressionTrees.ToCode(ExpressionTrees.X(), () => 1 + x + 2); + } + + public void AnonymousClasses() + { + ExpressionTrees.ToCode(ExpressionTrees.X(), () => new { + X = 3, + A = "a" + }); + } + + public void ArrayIndex() + { + ExpressionTrees.ToCode(ExpressionTrees.X(), () => (new int[3] { + 3, + 4, + 5 + })[0 + (int)(DateTime.Now.Ticks % 3)]); + } + + public void ArrayLengthAndDoubles() + { + ExpressionTrees.ToCode(ExpressionTrees.X(), () => new double[3] { + 1.0, + 2.01, + 3.5 + }.Concat(new double[2] { + 1.0, + 2.0 + }).ToArray().Length); + } + + public void AsOperator() + { + ExpressionTrees.ToCode(ExpressionTrees.X(), () => new object() as string); + } + + public void ComplexGenericName() + { + ExpressionTrees.ToCode(ExpressionTrees.X(), () => ((Func)((int x) => x > 0))(0)); + } + + public void DefaultValue() + { + ExpressionTrees.ToCode(ExpressionTrees.X(), () => new TimeSpan(1, 2, 3) == default(TimeSpan)); + } + + public void EnumConstant() + { + ExpressionTrees.ToCode(ExpressionTrees.X(), () => new object().Equals(MidpointRounding.ToEven)); + } + + public void IndexerAccess() + { + Dictionary dict = Enumerable.Range(1, 20).ToDictionary((int n) => n.ToString()); + ExpressionTrees.ToCode(ExpressionTrees.X(), () => dict["3"] == 3); + } + + public void IsOperator() + { + ExpressionTrees.ToCode(ExpressionTrees.X(), () => new object() is string); + } + + public void ListInitializer() + { + ExpressionTrees.ToCode(ExpressionTrees.X(), () => new Dictionary { + { + 1, + 1 + }, + { + 2, + 2 + }, + { + 3, + 4 + } + }.Count == 3); + } + + public void ListInitializer2() + { + ExpressionTrees.ToCode(ExpressionTrees.X(), () => new List(50) { + 1, + 2, + 3 + }.Count == 3); + } + + public void ListInitializer3() + { + ExpressionTrees.ToCode(ExpressionTrees.X(), () => new List { + 1, + 2, + 3 + }.Count == 3); + } + + public void LiteralCharAndProperty() + { + ExpressionTrees.ToCode(ExpressionTrees.X(), () => new string(' ', 3).Length == 1); + } + + public void CharNoCast() + { + ExpressionTrees.ToCode(ExpressionTrees.X(), () => "abc"[1] == 'b'); + } + + public void StringsImplicitCast() + { + int i = 1; + string x = "X"; + ExpressionTrees.ToCode(ExpressionTrees.X(), () => ((("a\n\\b" ?? x) + x).Length == 2) ? false : (true && (1m + (decimal)(-i) > 0m || false))); + } + + public void NotImplicitCast() + { + byte z = 42; + ExpressionTrees.ToCode(ExpressionTrees.X(), () => ~z == 0); + } + + public void MembersBuiltin() + { + ExpressionTrees.ToCode(ExpressionTrees.X(), () => 1.23m.ToString()); + ExpressionTrees.ToCode(ExpressionTrees.X(), () => AttributeTargets.All.HasFlag((Enum)AttributeTargets.Assembly)); + ExpressionTrees.ToCode(ExpressionTrees.X(), () => "abc".Length == 3); + ExpressionTrees.ToCode(ExpressionTrees.X(), () => 'a'.CompareTo('b') < 0); + } + + public void MembersDefault() + { + ExpressionTrees.ToCode(ExpressionTrees.X(), () => default(DateTime).Ticks == 0); + ExpressionTrees.ToCode(ExpressionTrees.X(), () => ((Array)null).Length == 0); + ExpressionTrees.ToCode(ExpressionTrees.X(), () => ((Type)null).IsLayoutSequential); + ExpressionTrees.ToCode(ExpressionTrees.X(), () => ((List)null).Count); + ExpressionTrees.ToCode(ExpressionTrees.X(), () => ((Array)null).Clone() == null); + ExpressionTrees.ToCode(ExpressionTrees.X(), () => ((Type)null).IsInstanceOfType(new object())); + ExpressionTrees.ToCode(ExpressionTrees.X(), () => ((List)null).AsReadOnly()); + } + + public void DoAssert() + { + ExpressionTrees.ToCode(ExpressionTrees.X(), () => this.field != this.C()); + ExpressionTrees.ToCode(ExpressionTrees.X(), () => !object.ReferenceEquals(this, new ExpressionTrees())); + ExpressionTrees.ToCode(ExpressionTrees.X(), () => this.MyEquals(this) && !this.MyEquals(null)); + } + + private int C() + { + throw new NotImplementedException(); + } + + private bool MyEquals(ExpressionTrees other) + { + throw new NotImplementedException(); + } + + public void MethodGroupAsExtensionMethod() + { + ExpressionTrees.ToCode(ExpressionTrees.X(), (Expression>>)(() => ((IEnumerable)new int[4] { + 2000, + 2004, + 2008, + 2012 + }).Any)); + } + + public void MethodGroupConstant() + { + ExpressionTrees.ToCode(ExpressionTrees.X(), () => Array.TrueForAll(new int[4] { + 2000, + 2004, + 2008, + 2012 + }, DateTime.IsLeapYear)); + + HashSet set = new HashSet(); + ExpressionTrees.ToCode(ExpressionTrees.X(), () => new int[4] { + 2000, + 2004, + 2008, + 2012 + }.All(set.Add)); + + Func, bool> sink = (Func f) => f(null, null); + ExpressionTrees.ToCode(ExpressionTrees.X(), () => sink(object.Equals)); + } + + public void MultipleCasts() + { + ExpressionTrees.ToCode(ExpressionTrees.X(), () => 1 == (int)(object)1); + } + + public void MultipleDots() + { + ExpressionTrees.ToCode(ExpressionTrees.X(), () => 3.ToString().ToString().Length > 0); + } + + public void NestedLambda() + { + Func, int> call = (Func f) => f(); + //no params + ExpressionTrees.ToCode(ExpressionTrees.X(), () => call(() => 42)); + //one param + ExpressionTrees.ToCode(ExpressionTrees.X(), () => from x in new int[2] { + 37, + 42 + } + select x * 2); + //two params + ExpressionTrees.ToCode(ExpressionTrees.X(), () => new int[2] { + 37, + 42 + }.Select((int x, int i) => x * 2)); + } + + public void CurriedLambda() + { + ExpressionTrees.ToCode(ExpressionTrees.X(), (Expression>>>)((int a) => (int b) => (int c) => a + b + c)); + } + + private bool Fizz(Func a) + { + return a(42); + } + + private bool Buzz(Func a) + { + return a(42); + } + + private bool Fizz(Func a) + { + return a("42"); + } + + private bool Fizz(Func a) + { + return a(null); + } + + public void NestedLambda2() + { + ExpressionTrees.ToCode(ExpressionTrees.X(), () => this.Fizz((string x) => x == "a")); + ExpressionTrees.ToCode(ExpressionTrees.X(), () => this.Fizz((string x) => x != "a")); + ExpressionTrees.ToCode(ExpressionTrees.X(), () => this.Fizz((Action x) => x == new Action(this.NestedLambda2))); + ExpressionTrees.ToCode(ExpressionTrees.X(), () => this.Fizz((Action x) => x != new Action(this.NestedLambda2))); + ExpressionTrees.ToCode(ExpressionTrees.X(), () => this.Fizz((int x) => x == 37)); + + ExpressionTrees.ToCode(ExpressionTrees.X(), () => this.Fizz((int x) => true)); + ExpressionTrees.ToCode(ExpressionTrees.X(), () => this.Buzz((int x) => true)); + } + + public void NewArrayAndExtensionMethod() + { + ExpressionTrees.ToCode(ExpressionTrees.X(), () => new double[3] { + 1.0, + 2.01, + 3.5 + }.SequenceEqual(new double[3] { + 1.0, + 2.01, + 3.5 + })); + } + + public void NewMultiDimArray() + { + ExpressionTrees.ToCode(ExpressionTrees.X(), () => new int[3, 4].Length == 1); + } + + public void NewObject() + { + ExpressionTrees.ToCode(ExpressionTrees.X(), () => new object() != new object()); + } + + public void NotOperator() + { + bool x = true; + int y = 3; + byte z = 42; + ExpressionTrees.ToCode(ExpressionTrees.X(), () => ~z == 0); + ExpressionTrees.ToCode(ExpressionTrees.X(), () => ~y == 0); + ExpressionTrees.ToCode(ExpressionTrees.X(), () => !x); + } + + public void ObjectInitializers() + { + XmlReaderSettings s = new XmlReaderSettings { + CloseInput = false, + CheckCharacters = false + }; + ExpressionTrees.ToCode(ExpressionTrees.X(), () => new XmlReaderSettings { + CloseInput = s.CloseInput, + CheckCharacters = s.CheckCharacters + }.Equals(s)); + } + + public void Quoted() + { + ExpressionTrees.ToCode(ExpressionTrees.X(), () => (Expression>)((int n, string s) => s + n.ToString()) != null); + } + + public void Quoted2() + { + ExpressionTrees.ToCode(ExpressionTrees.X(), () => ExpressionTrees.ToCode(ExpressionTrees.X(), () => true).Equals(null)); + } + + public void QuotedWithAnonymous() + { + ExpressionTrees.ToCode(ExpressionTrees.X(), () => (from o in new[] { + new { + X = "a", + Y = "b" + } + } + select o.X + o.Y).Single()); + } + + public void StaticCall() + { + ExpressionTrees.ToCode(ExpressionTrees.X(), () => object.Equals(3, 0)); + } + + public void ThisCall() + { + ExpressionTrees.ToCode(ExpressionTrees.X(), () => !this.Equals(3)); + } + + public void ThisExplicit() + { + ExpressionTrees.ToCode(ExpressionTrees.X(), () => object.Equals(this, 3)); + } + + public void TypedConstant() + { + ExpressionTrees.ToCode(ExpressionTrees.X(), () => new Type[2] { + typeof(int), + typeof(string) + }); + } + + public void StaticCallImplicitCast() + { + ExpressionTrees.ToCode(ExpressionTrees.X(), () => object.Equals(3, 0)); + } + + public void StaticMembers() + { + ExpressionTrees.ToCode(ExpressionTrees.X(), () => (DateTime.Now > DateTime.Now + TimeSpan.FromMilliseconds(10.001)).ToString() == "False"); + } + + public void Strings() + { + int i = 1; + string x = "X"; + ExpressionTrees.ToCode(ExpressionTrees.X(), () => ((("a\n\\b" ?? x) + x).Length == 2) ? false : (true && (1m + (decimal)(-i) > 0m || false))); + } + + public void GenericClassInstance() + { + ExpressionTrees.ToCode(ExpressionTrees.X(), () => (double)new GenericClass().InstanceField + new GenericClass().InstanceProperty); + } + + public void GenericClassStatic() + { + ExpressionTrees.ToCode(ExpressionTrees.X(), () => (double)GenericClass.StaticField + GenericClass.StaticProperty); + } + + public void InvokeGenericMethod() + { + ExpressionTrees.ToCode(ExpressionTrees.X(), () => GenericClass.GenericMethod()); + } + + private static void Test(T delegateExpression, Expression expressionTree) + { + } + + public static void ArrayIndexer() + { + ExpressionTrees.Test((Func)((int[] array) => array[0]), (Expression>)((int[] array) => array[0])); + ExpressionTrees.Test((Func)((int[] array, int index) => array[index]), (Expression>)((int[] array, int index) => array[index])); + ExpressionTrees.Test((Func)((int[,] array) => array[0, 5]), (Expression>)((int[,] array) => array[0, 5])); + ExpressionTrees.Test((Func)((int[,] array, int index) => array[index, 7]), (Expression>)((int[,] array, int index) => array[index, 7])); + ExpressionTrees.Test((Func)((int[][] array, int index) => array[index][7]), (Expression>)((int[][] array, int index) => array[index][7])); + } + + public static void ArrayLength() + { + ExpressionTrees.Test((Func)((int[] array) => array.Length), (Expression>)((int[] array) => array.Length)); + ExpressionTrees.Test((Func)(() => ((Array)null).Length), (Expression>)(() => ((Array)null).Length)); + } + + public static void NewObj() + { + ExpressionTrees.Test((Func)(() => new SimpleType()), (Expression>)(() => new SimpleType())); + ExpressionTrees.Test((Func)(() => new SimpleTypeWithCtor(5)), (Expression>)(() => new SimpleTypeWithCtor(5))); + ExpressionTrees.Test((Func)(() => new SimpleTypeWithMultipleCtors()), (Expression>)(() => new SimpleTypeWithMultipleCtors())); + ExpressionTrees.Test((Func)(() => new SimpleTypeWithMultipleCtors(5)), (Expression>)(() => new SimpleTypeWithMultipleCtors(5))); + ExpressionTrees.Test((Func)(() => new GenericClass()), (Expression>)(() => new GenericClass())); + ExpressionTrees.Test((Func)(() => new GenericClassWithCtor()), (Expression>)(() => new GenericClassWithCtor())); + ExpressionTrees.Test((Func)(() => new GenericClassWithMultipleCtors(5)), (Expression>)(() => new GenericClassWithMultipleCtors(5))); + } + + public unsafe static void TypeOfExpr() + { + ExpressionTrees.Test((Func)(() => typeof(int)), (Expression>)(() => typeof(int))); + ExpressionTrees.Test((Func)(() => typeof(object)), (Expression>)(() => typeof(object))); + ExpressionTrees.Test((Func)(() => typeof(List<>)), (Expression>)(() => typeof(List<>))); + ExpressionTrees.Test((Func)(() => typeof(List)), (Expression>)(() => typeof(List))); + ExpressionTrees.Test((Func)(() => typeof(int*)), (Expression>)(() => typeof(int*))); + } + + public static void AsTypeExpr() + { + ExpressionTrees.Test((Func)((object obj) => obj as MyClass), (Expression>)((object obj) => obj as MyClass)); + ExpressionTrees.Test((Func>)((object obj) => obj as GenericClass), (Expression>>)((object obj) => obj as GenericClass)); + } + + public static void IsTypeExpr() + { + ExpressionTrees.Test((Func)((object obj) => obj is MyClass), (Expression>)((object obj) => obj is MyClass)); + } + + public static void UnaryLogicalOperators() + { + ExpressionTrees.Test((Func)((bool a) => !a), (Expression>)((bool a) => !a)); + } + + public static void ConditionalOperator() + { + ExpressionTrees.ToCode(null, (bool a) => a ? 5 : 10); + ExpressionTrees.ToCode(null, (object a) => a ?? new MyClass()); + } + + public static void BinaryLogicalOperators() + { + ExpressionTrees.ToCode(null, (int a, int b) => a == b); + ExpressionTrees.ToCode(null, (int a, int b) => a != b); + ExpressionTrees.ToCode(null, (int a, int b) => a < b); + ExpressionTrees.ToCode(null, (int a, int b) => a <= b); + ExpressionTrees.ToCode(null, (int a, int b) => a > b); + ExpressionTrees.ToCode(null, (int a, int b) => a >= b); + ExpressionTrees.ToCode(null, (int a, int b) => a == 1 && b == 2); + ExpressionTrees.ToCode(null, (int a, int b) => a == 1 || b == 2); + ExpressionTrees.ToCode(null, (int a, short b) => a == b); + ExpressionTrees.ToCode(null, (ushort a, int b) => a != b); + ExpressionTrees.ToCode(null, (int a, long b) => (long)a < b); + ExpressionTrees.ToCode(null, (ulong a, uint b) => a <= (ulong)b); + ExpressionTrees.ToCode(null, (int a, uint b) => (long)a <= (long)b); + ExpressionTrees.ToCode(null, (int a, long b) => (long)a > b); + ExpressionTrees.ToCode(null, (short a, long b) => (long)a >= b); + ExpressionTrees.ToCode(null, (int a, int b) => a == 1 && b == 2); + ExpressionTrees.ToCode(null, (int a, int b) => a == 1 || b == 2); + } + + public static void UnaryArithmeticOperators() + { + ExpressionTrees.Test((Func)((int a) => a), (Expression>)((int a) => a)); + ExpressionTrees.Test((Func)((int a) => -a), (Expression>)((int a) => -a)); + } + + public static void BinaryArithmeticOperators() + { + ExpressionTrees.Test((Func)((int a, int b) => a + b), (Expression>)((int a, int b) => a + b)); + ExpressionTrees.Test((Func)((int a, int b) => a - b), (Expression>)((int a, int b) => a - b)); + ExpressionTrees.Test((Func)((int a, int b) => a * b), (Expression>)((int a, int b) => a * b)); + ExpressionTrees.Test((Func)((int a, int b) => a / b), (Expression>)((int a, int b) => a / b)); + ExpressionTrees.Test((Func)((int a, int b) => a % b), (Expression>)((int a, int b) => a % b)); + ExpressionTrees.Test((Func)((long a, int b) => a + b), (Expression>)((long a, int b) => a + (long)b)); + ExpressionTrees.Test((Func)((long a, int b) => a - b), (Expression>)((long a, int b) => a - (long)b)); + ExpressionTrees.Test((Func)((long a, int b) => a * b), (Expression>)((long a, int b) => a * (long)b)); + ExpressionTrees.Test((Func)((long a, int b) => a / b), (Expression>)((long a, int b) => a / (long)b)); + ExpressionTrees.Test((Func)((long a, int b) => a % b), (Expression>)((long a, int b) => a % (long)b)); + ExpressionTrees.Test((Func)((short a, int b) => a + b), (Expression>)((short a, int b) => a + b)); + ExpressionTrees.Test((Func)((int a, short b) => a - b), (Expression>)((int a, short b) => a - b)); + ExpressionTrees.Test((Func)((short a, int b) => a * b), (Expression>)((short a, int b) => a * b)); + ExpressionTrees.Test((Func)((int a, short b) => a / b), (Expression>)((int a, short b) => a / b)); + ExpressionTrees.Test((Func)((short a, int b) => a % b), (Expression>)((short a, int b) => a % b)); + } + + public static void BitOperators() + { + ExpressionTrees.Test((Func)((int a) => ~a), (Expression>)((int a) => ~a)); + ExpressionTrees.Test((Func)((int a, int b) => a & b), (Expression>)((int a, int b) => a & b)); + ExpressionTrees.Test((Func)((int a, int b) => a | b), (Expression>)((int a, int b) => a | b)); + ExpressionTrees.Test((Func)((int a, int b) => a ^ b), (Expression>)((int a, int b) => a ^ b)); + } + + public static void ShiftOperators() + { + ExpressionTrees.Test((Func)((int a) => a >> 2), (Expression>)((int a) => a >> 2)); + ExpressionTrees.Test((Func)((int a) => a << 2), (Expression>)((int a) => a << 2)); + ExpressionTrees.Test((Func)((long a) => a >> 2), (Expression>)((long a) => a >> 2)); + ExpressionTrees.Test((Func)((long a) => a << 2), (Expression>)((long a) => a << 2)); + } + + public static void SimpleExpressions() + { + ExpressionTrees.Test((Func)(() => 0), (Expression>)(() => 0)); + ExpressionTrees.Test((Func)((int a) => a), (Expression>)((int a) => a)); + } + + public static void Capturing() + { + int captured = 5; + ExpressionTrees.Test((Func)(() => captured), (Expression>)(() => captured)); + } + + public static void FieldAndPropertyAccess() + { + ExpressionTrees.ToCode(null, () => 1); + ExpressionTrees.ToCode(null, () => SimpleType.StaticField); + ExpressionTrees.ToCode(null, () => SimpleType.StaticReadonlyField); + ExpressionTrees.ToCode(null, () => SimpleType.StaticProperty); + ExpressionTrees.ToCode(null, () => SimpleType.StaticReadonlyProperty); + ExpressionTrees.ToCode(null, (SimpleType a) => a.Field); + ExpressionTrees.ToCode(null, (SimpleType a) => a.Property); + ExpressionTrees.ToCode(null, (SimpleType a) => a.ReadonlyField); + ExpressionTrees.ToCode(null, (SimpleType a) => a.ReadonlyProperty); + } + + public static void Call() + { + ExpressionTrees.ToCode(null, (string a) => Console.WriteLine(a)); + ExpressionTrees.Test((Func)((string a) => a.ToString()), (Expression>)((string a) => a.ToString())); + ExpressionTrees.Test((Func)((int a) => a.ToString()), (Expression>)((int a) => a.ToString())); + ExpressionTrees.Test((Func)((string a) => a.ToArray()), (Expression>)((string a) => a.ToArray())); + ExpressionTrees.Test((Func)(() => 'a'.CompareTo('b') < 0), (Expression>)(() => 'a'.CompareTo('b') < 0)); + } + + public static void Quote() + { + ExpressionTrees.Test((Func)(() => (Expression>)((int n, string s) => s + n.ToString()) != null), (Expression>)(() => (Expression>)((int n, string s) => s + n.ToString()) != null)); + } + + public static void ArrayInitializer() + { + ExpressionTrees.Test((Func)(() => new int[3] { + 1, + 2, + 3 + }), (Expression>)(() => new int[3] { + 1, + 2, + 3 + })); + ExpressionTrees.Test((Func)(() => new int[3]), (Expression>)(() => new int[3])); + ExpressionTrees.Test((Func)(() => new int[3, 5]), (Expression>)(() => new int[3, 5])); + ExpressionTrees.Test((Func)(() => new int[3][]), (Expression>)(() => new int[3][])); + ExpressionTrees.Test((Func)(() => new int[1][] { + new int[3] { + 1, + 2, + 3 + } + }), (Expression>)(() => new int[1][] { + new int[3] { + 1, + 2, + 3 + } + })); + } + + public static void AnonymousTypes() + { + ExpressionTrees.Test((Func)(() => new { + A = 5, + B = "Test" + }), (Expression>)(() => new { + A = 5, + B = "Test" + })); + } + + public static void ObjectInit() + { + ExpressionTrees.ToCode(null, () => new SimpleType { + Property = 4, + Field = 3 + }); + } + } + + internal class MyClass + { + public static MyClass operator +(MyClass a, MyClass b) + { + return new MyClass(); + } + } + + internal class SimpleType + { + public const int ConstField = 1; + + public static readonly int StaticReadonlyField = 2; + + public static int StaticField = 3; + + public readonly int ReadonlyField = 2; + + public int Field = 3; + + public static int StaticReadonlyProperty { + get { + return 0; + } + } + + public static int StaticProperty { + get; + set; + } + + public int ReadonlyProperty { + get { + return 0; + } + } + + public int Property { + get; + set; + } + } + + internal class SimpleTypeWithCtor + { + public SimpleTypeWithCtor(int i) + { + } + } + + internal class SimpleTypeWithMultipleCtors + { + public SimpleTypeWithMultipleCtors() + { + } + + public SimpleTypeWithMultipleCtors(int i) + { + } + } + + internal class GenericClassWithCtor + { + } + + internal class GenericClassWithMultipleCtors + { + public GenericClassWithMultipleCtors() + { + } + + public GenericClassWithMultipleCtors(int x) + { + } + } + + internal class GenericClass + { + } +} \ No newline at end of file diff --git a/ICSharpCode.Decompiler.Tests/TestCases/Pretty/ExpressionTrees.il b/ICSharpCode.Decompiler.Tests/TestCases/Pretty/ExpressionTrees.il new file mode 100644 index 000000000..75cd310b8 --- /dev/null +++ b/ICSharpCode.Decompiler.Tests/TestCases/Pretty/ExpressionTrees.il @@ -0,0 +1,10889 @@ + +// Microsoft (R) .NET Framework IL Disassembler. Version 4.6.1055.0 +// Copyright (c) Microsoft Corporation. All rights reserved. + + + +// Metadata version: v4.0.30319 +.assembly extern mscorlib +{ + .publickeytoken = (B7 7A 5C 56 19 34 E0 89 ) // .z\V.4.. + .ver 4:0:0:0 +} +.assembly extern System.Core +{ + .publickeytoken = (B7 7A 5C 56 19 34 E0 89 ) // .z\V.4.. + .ver 4:0:0:0 +} +.assembly extern System.Xml +{ + .publickeytoken = (B7 7A 5C 56 19 34 E0 89 ) // .z\V.4.. + .ver 4:0:0:0 +} +.assembly '3qhjq0hu' +{ + .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 + .ver 0:0:0:0 +} +.module '3qhjq0hu.dll' +// MVID: {426C7905-90B3-4EA8-8585-F907E00CBDB7} +.custom instance void [mscorlib]System.Security.UnverifiableCodeAttribute::.ctor() = ( 01 00 00 00 ) +.imagebase 0x10000000 +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 // WINDOWS_CUI +.corflags 0x00000001 // ILONLY +// Image base: 0x02FC0000 + + +// =============== CLASS MEMBERS DECLARATION =================== + +.class public auto ansi beforefieldinit ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees + extends [mscorlib]System.Object +{ + .class auto ansi nested private beforefieldinit GenericClass`1 + extends [mscorlib]System.Object + { + .field public static !X StaticField + .field public !X InstanceField + .field private static !X 'k__BackingField' + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field private !X 'k__BackingField' + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .method public hidebysig specialname static + !X get_StaticProperty() cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 10 (0xa) + .maxstack 1 + .locals init (!X V_0) + IL_0000: ldsfld !0 class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/GenericClass`1::'k__BackingField' + IL_0005: stloc.0 + IL_0006: br.s IL_0008 + + IL_0008: ldloc.0 + IL_0009: ret + } // end of method GenericClass`1::get_StaticProperty + + .method public hidebysig specialname static + void set_StaticProperty(!X 'value') cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: stsfld !0 class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/GenericClass`1::'k__BackingField' + IL_0006: ret + } // end of method GenericClass`1::set_StaticProperty + + .method public hidebysig specialname + instance !X get_InstanceProperty() cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 11 (0xb) + .maxstack 1 + .locals init (!X V_0) + IL_0000: ldarg.0 + IL_0001: ldfld !0 class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/GenericClass`1::'k__BackingField' + IL_0006: stloc.0 + IL_0007: br.s IL_0009 + + IL_0009: ldloc.0 + IL_000a: ret + } // end of method GenericClass`1::get_InstanceProperty + + .method public hidebysig specialname + instance void set_InstanceProperty(!X 'value') cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 8 (0x8) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld !0 class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/GenericClass`1::'k__BackingField' + IL_0007: ret + } // end of method GenericClass`1::set_InstanceProperty + + .method public hidebysig static bool + GenericMethod() 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 GenericClass`1::GenericMethod + + .method public hidebysig specialname rtspecialname + instance void .ctor() cil managed + { + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [mscorlib]System.Object::.ctor() + IL_0006: ret + } // end of method GenericClass`1::.ctor + + .property !X StaticProperty() + { + .get !X ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/GenericClass`1::get_StaticProperty() + .set void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/GenericClass`1::set_StaticProperty(!X) + } // end of property GenericClass`1::StaticProperty + .property instance !X InstanceProperty() + { + .set instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/GenericClass`1::set_InstanceProperty(!X) + .get instance !X ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/GenericClass`1::get_InstanceProperty() + } // end of property GenericClass`1::InstanceProperty + } // end of class GenericClass`1 + + .class auto ansi sealed nested private beforefieldinit '<>c__DisplayClass0' + extends [mscorlib]System.Object + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field public bool a + .method public hidebysig specialname rtspecialname + instance void .ctor() cil managed + { + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [mscorlib]System.Object::.ctor() + IL_0006: ret + } // end of method '<>c__DisplayClass0'::.ctor + + } // end of class '<>c__DisplayClass0' + + .class auto ansi sealed nested private beforefieldinit '<>c__DisplayClass2' + extends [mscorlib]System.Object + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field public bool a + .method public hidebysig specialname rtspecialname + instance void .ctor() cil managed + { + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [mscorlib]System.Object::.ctor() + IL_0006: ret + } // end of method '<>c__DisplayClass2'::.ctor + + } // end of class '<>c__DisplayClass2' + + .class auto ansi sealed nested private beforefieldinit '<>c__DisplayClass4' + extends [mscorlib]System.Object + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 x + .method public hidebysig specialname rtspecialname + instance void .ctor() cil managed + { + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [mscorlib]System.Object::.ctor() + IL_0006: ret + } // end of method '<>c__DisplayClass4'::.ctor + + } // end of class '<>c__DisplayClass4' + + .class auto ansi sealed nested private beforefieldinit '<>c__DisplayClass8' + extends [mscorlib]System.Object + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field public class [mscorlib]System.Collections.Generic.Dictionary`2 dict + .method public hidebysig specialname rtspecialname + instance void .ctor() cil managed + { + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [mscorlib]System.Object::.ctor() + IL_0006: ret + } // end of method '<>c__DisplayClass8'::.ctor + + } // end of class '<>c__DisplayClass8' + + .class auto ansi sealed nested private beforefieldinit '<>c__DisplayClassa' + extends [mscorlib]System.Object + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 i + .field public string x + .method public hidebysig specialname rtspecialname + instance void .ctor() cil managed + { + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [mscorlib]System.Object::.ctor() + IL_0006: ret + } // end of method '<>c__DisplayClassa'::.ctor + + } // end of class '<>c__DisplayClassa' + + .class auto ansi sealed nested private beforefieldinit '<>c__DisplayClassc' + extends [mscorlib]System.Object + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field public uint8 z + .method public hidebysig specialname rtspecialname + instance void .ctor() cil managed + { + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [mscorlib]System.Object::.ctor() + IL_0006: ret + } // end of method '<>c__DisplayClassc'::.ctor + + } // end of class '<>c__DisplayClassc' + + .class auto ansi sealed nested private beforefieldinit '<>c__DisplayClass10' + extends [mscorlib]System.Object + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field public class [System.Core]System.Collections.Generic.HashSet`1 set + .field public class [mscorlib]System.Func`2,bool> sink + .method public hidebysig specialname rtspecialname + instance void .ctor() cil managed + { + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [mscorlib]System.Object::.ctor() + IL_0006: ret + } // end of method '<>c__DisplayClass10'::.ctor + + } // end of class '<>c__DisplayClass10' + + .class auto ansi sealed nested private beforefieldinit '<>c__DisplayClass14' + extends [mscorlib]System.Object + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field public class [mscorlib]System.Func`2,int32> 'call' + .method public hidebysig specialname rtspecialname + instance void .ctor() cil managed + { + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [mscorlib]System.Object::.ctor() + IL_0006: ret + } // end of method '<>c__DisplayClass14'::.ctor + + } // end of class '<>c__DisplayClass14' + + .class auto ansi sealed nested private beforefieldinit '<>c__DisplayClass16' + extends [mscorlib]System.Object + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field public bool x + .field public int32 y + .field public uint8 z + .method public hidebysig specialname rtspecialname + instance void .ctor() cil managed + { + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [mscorlib]System.Object::.ctor() + IL_0006: ret + } // end of method '<>c__DisplayClass16'::.ctor + + } // end of class '<>c__DisplayClass16' + + .class auto ansi sealed nested private beforefieldinit '<>c__DisplayClass19' + extends [mscorlib]System.Object + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field public class [System.Xml]System.Xml.XmlReaderSettings s + .method public hidebysig specialname rtspecialname + instance void .ctor() cil managed + { + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [mscorlib]System.Object::.ctor() + IL_0006: ret + } // end of method '<>c__DisplayClass19'::.ctor + + } // end of class '<>c__DisplayClass19' + + .class auto ansi sealed nested private beforefieldinit '<>c__DisplayClass1b' + extends [mscorlib]System.Object + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 i + .field public string x + .method public hidebysig specialname rtspecialname + instance void .ctor() cil managed + { + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [mscorlib]System.Object::.ctor() + IL_0006: ret + } // end of method '<>c__DisplayClass1b'::.ctor + + } // end of class '<>c__DisplayClass1b' + + .class auto ansi sealed nested private beforefieldinit '<>c__DisplayClass82' + extends [mscorlib]System.Object + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 captured + .method public hidebysig specialname rtspecialname + instance void .ctor() cil managed + { + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [mscorlib]System.Object::.ctor() + IL_0006: ret + } // end of method '<>c__DisplayClass82'::.ctor + + .method public hidebysig instance int32 + 'b__81'() cil managed + { + // Code size 11 (0xb) + .maxstack 1 + .locals init (int32 V_0) + IL_0000: ldarg.0 + IL_0001: ldfld int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass82'::captured + IL_0006: stloc.0 + IL_0007: br.s IL_0009 + + IL_0009: ldloc.0 + IL_000a: ret + } // end of method '<>c__DisplayClass82'::'b__81' + + } // end of class '<>c__DisplayClass82' + + .field private int32 'field' + .field private static class [mscorlib]System.Func`2 'CS$<>9__CachedAnonymousMethodDelegate7' + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field private static class [mscorlib]System.Func`2,bool> 'CS$<>9__CachedAnonymousMethodDelegatef' + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field private static class [mscorlib]System.Func`2,int32> 'CS$<>9__CachedAnonymousMethodDelegate13' + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field private static class [mscorlib]System.Func`2 'CS$<>9__CachedAnonymousMethodDelegate22' + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field private static class [mscorlib]System.Func`3 'CS$<>9__CachedAnonymousMethodDelegate23' + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field private static class [mscorlib]System.Func`2 'CS$<>9__CachedAnonymousMethodDelegate24' + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field private static class [mscorlib]System.Func`3 'CS$<>9__CachedAnonymousMethodDelegate25' + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field private static class [mscorlib]System.Func`3 'CS$<>9__CachedAnonymousMethodDelegate26' + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field private static class [mscorlib]System.Func`2 'CS$<>9__CachedAnonymousMethodDelegate29' + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field private static class [mscorlib]System.Func`1 'CS$<>9__CachedAnonymousMethodDelegate2a' + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field private static class [mscorlib]System.Func`1 'CS$<>9__CachedAnonymousMethodDelegate32' + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field private static class [mscorlib]System.Func`1 'CS$<>9__CachedAnonymousMethodDelegate33' + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field private static class [mscorlib]System.Func`1 'CS$<>9__CachedAnonymousMethodDelegate34' + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field private static class [mscorlib]System.Func`1 'CS$<>9__CachedAnonymousMethodDelegate35' + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field private static class [mscorlib]System.Func`1 'CS$<>9__CachedAnonymousMethodDelegate36' + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field private static class [mscorlib]System.Func`1 'CS$<>9__CachedAnonymousMethodDelegate37' + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field private static class [mscorlib]System.Func`1 'CS$<>9__CachedAnonymousMethodDelegate38' + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field private static class [mscorlib]System.Func`1 'CS$<>9__CachedAnonymousMethodDelegate3e' + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field private static class [mscorlib]System.Func`1 'CS$<>9__CachedAnonymousMethodDelegate3f' + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field private static class [mscorlib]System.Func`1 'CS$<>9__CachedAnonymousMethodDelegate40' + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field private static class [mscorlib]System.Func`1 'CS$<>9__CachedAnonymousMethodDelegate41' + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field private static class [mscorlib]System.Func`1 'CS$<>9__CachedAnonymousMethodDelegate42' + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field private static class [mscorlib]System.Func`2 'CS$<>9__CachedAnonymousMethodDelegate45' + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field private static class [mscorlib]System.Func`2> 'CS$<>9__CachedAnonymousMethodDelegate46' + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field private static class [mscorlib]System.Func`2 'CS$<>9__CachedAnonymousMethodDelegate48' + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field private static class [mscorlib]System.Func`2 'CS$<>9__CachedAnonymousMethodDelegate4a' + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field private static class [mscorlib]System.Func`2 'CS$<>9__CachedAnonymousMethodDelegate4d' + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field private static class [mscorlib]System.Func`2 'CS$<>9__CachedAnonymousMethodDelegate4e' + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field private static class [mscorlib]System.Func`3 'CS$<>9__CachedAnonymousMethodDelegate5e' + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field private static class [mscorlib]System.Func`3 'CS$<>9__CachedAnonymousMethodDelegate5f' + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field private static class [mscorlib]System.Func`3 'CS$<>9__CachedAnonymousMethodDelegate60' + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field private static class [mscorlib]System.Func`3 'CS$<>9__CachedAnonymousMethodDelegate61' + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field private static class [mscorlib]System.Func`3 'CS$<>9__CachedAnonymousMethodDelegate62' + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field private static class [mscorlib]System.Func`3 'CS$<>9__CachedAnonymousMethodDelegate63' + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field private static class [mscorlib]System.Func`3 'CS$<>9__CachedAnonymousMethodDelegate64' + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field private static class [mscorlib]System.Func`3 'CS$<>9__CachedAnonymousMethodDelegate65' + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field private static class [mscorlib]System.Func`3 'CS$<>9__CachedAnonymousMethodDelegate66' + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field private static class [mscorlib]System.Func`3 'CS$<>9__CachedAnonymousMethodDelegate67' + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field private static class [mscorlib]System.Func`3 'CS$<>9__CachedAnonymousMethodDelegate68' + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field private static class [mscorlib]System.Func`3 'CS$<>9__CachedAnonymousMethodDelegate69' + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field private static class [mscorlib]System.Func`3 'CS$<>9__CachedAnonymousMethodDelegate6a' + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field private static class [mscorlib]System.Func`3 'CS$<>9__CachedAnonymousMethodDelegate6b' + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field private static class [mscorlib]System.Func`3 'CS$<>9__CachedAnonymousMethodDelegate6c' + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field private static class [mscorlib]System.Func`2 'CS$<>9__CachedAnonymousMethodDelegate71' + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field private static class [mscorlib]System.Func`3 'CS$<>9__CachedAnonymousMethodDelegate72' + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field private static class [mscorlib]System.Func`3 'CS$<>9__CachedAnonymousMethodDelegate73' + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field private static class [mscorlib]System.Func`3 'CS$<>9__CachedAnonymousMethodDelegate74' + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field private static class [mscorlib]System.Func`2 'CS$<>9__CachedAnonymousMethodDelegate79' + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field private static class [mscorlib]System.Func`2 'CS$<>9__CachedAnonymousMethodDelegate7a' + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field private static class [mscorlib]System.Func`2 'CS$<>9__CachedAnonymousMethodDelegate7b' + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field private static class [mscorlib]System.Func`2 'CS$<>9__CachedAnonymousMethodDelegate7c' + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field private static class [mscorlib]System.Func`1 'CS$<>9__CachedAnonymousMethodDelegate7f' + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field private static class [mscorlib]System.Func`2 'CS$<>9__CachedAnonymousMethodDelegate80' + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field private static class [mscorlib]System.Func`2 'CS$<>9__CachedAnonymousMethodDelegate88' + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field private static class [mscorlib]System.Func`2 'CS$<>9__CachedAnonymousMethodDelegate89' + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field private static class [mscorlib]System.Func`2 'CS$<>9__CachedAnonymousMethodDelegate8a' + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field private static class [mscorlib]System.Func`1 'CS$<>9__CachedAnonymousMethodDelegate8b' + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field private static class [mscorlib]System.Func`1 'CS$<>9__CachedAnonymousMethodDelegate8d' + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field private static class [mscorlib]System.Func`1 'CS$<>9__CachedAnonymousMethodDelegate93' + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field private static class [mscorlib]System.Func`1 'CS$<>9__CachedAnonymousMethodDelegate94' + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field private static class [mscorlib]System.Func`1 'CS$<>9__CachedAnonymousMethodDelegate95' + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field private static class [mscorlib]System.Func`1 'CS$<>9__CachedAnonymousMethodDelegate96' + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field private static class [mscorlib]System.Func`1 'CS$<>9__CachedAnonymousMethodDelegate97' + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field private static class [mscorlib]System.Func`1 'CS$<>9__CachedAnonymousMethodDelegate99' + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .method private hidebysig static object + ToCode(object x, + class [System.Core]System.Linq.Expressions.Expression`1> expr) cil managed + { + // Code size 7 (0x7) + .maxstack 1 + .locals init (object V_0) + IL_0000: nop + IL_0001: ldarg.1 + IL_0002: stloc.0 + IL_0003: br.s IL_0005 + + IL_0005: ldloc.0 + IL_0006: ret + } // end of method ExpressionTrees::ToCode + + .method private hidebysig static object + ToCode(object x, + class [System.Core]System.Linq.Expressions.Expression`1> expr) cil managed + { + // Code size 7 (0x7) + .maxstack 1 + .locals init (object V_0) + IL_0000: nop + IL_0001: ldarg.1 + IL_0002: stloc.0 + IL_0003: br.s IL_0005 + + IL_0005: ldloc.0 + IL_0006: ret + } // end of method ExpressionTrees::ToCode + + .method private hidebysig static object + ToCode(object x, + class [System.Core]System.Linq.Expressions.Expression`1> expr) cil managed + { + // Code size 7 (0x7) + .maxstack 1 + .locals init (object V_0) + IL_0000: nop + IL_0001: ldarg.1 + IL_0002: stloc.0 + IL_0003: br.s IL_0005 + + IL_0005: ldloc.0 + IL_0006: ret + } // end of method ExpressionTrees::ToCode + + .method private hidebysig static object + ToCode(object x, + class [System.Core]System.Linq.Expressions.Expression`1> expr) cil managed + { + // Code size 7 (0x7) + .maxstack 1 + .locals init (object V_0) + IL_0000: nop + IL_0001: ldarg.1 + IL_0002: stloc.0 + IL_0003: br.s IL_0005 + + IL_0005: ldloc.0 + IL_0006: ret + } // end of method ExpressionTrees::ToCode + + .method private hidebysig static object + X() cil managed + { + // 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 ExpressionTrees::X + + .method public hidebysig instance void + Parameter(bool a) cil managed + { + // Code size 59 (0x3b) + .maxstack 3 + .locals init (class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass0' V_0) + IL_0000: newobj instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass0'::.ctor() + IL_0005: stloc.0 + IL_0006: ldloc.0 + IL_0007: ldarg.1 + IL_0008: stfld bool ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass0'::a + IL_000d: nop + IL_000e: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0013: ldloc.0 + IL_0014: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object) + IL_0019: ldtoken field bool ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass0'::a + IL_001e: call class [mscorlib]System.Reflection.FieldInfo [mscorlib]System.Reflection.FieldInfo::GetFieldFromHandle(valuetype [mscorlib]System.RuntimeFieldHandle) + IL_0023: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Field(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.FieldInfo) + IL_0028: ldc.i4.0 + IL_0029: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_002e: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0033: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0038: pop + IL_0039: nop + IL_003a: ret + } // end of method ExpressionTrees::Parameter + + .method public hidebysig instance void + LocalVariable() cil managed + { + // Code size 59 (0x3b) + .maxstack 3 + .locals init (class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass2' V_0) + IL_0000: newobj instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass2'::.ctor() + IL_0005: stloc.0 + IL_0006: nop + IL_0007: ldloc.0 + IL_0008: ldc.i4.1 + IL_0009: stfld bool ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass2'::a + IL_000e: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0013: ldloc.0 + IL_0014: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object) + IL_0019: ldtoken field bool ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass2'::a + IL_001e: call class [mscorlib]System.Reflection.FieldInfo [mscorlib]System.Reflection.FieldInfo::GetFieldFromHandle(valuetype [mscorlib]System.RuntimeFieldHandle) + IL_0023: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Field(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.FieldInfo) + IL_0028: ldc.i4.0 + IL_0029: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_002e: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0033: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0038: pop + IL_0039: nop + IL_003a: ret + } // end of method ExpressionTrees::LocalVariable + + .method public hidebysig instance void + LambdaParameter() cil managed + { + // Code size 52 (0x34) + .maxstack 5 + .locals init (class [System.Core]System.Linq.Expressions.ParameterExpression V_0, + class [System.Core]System.Linq.Expressions.ParameterExpression[] V_1) + IL_0000: nop + IL_0001: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0006: ldtoken [mscorlib]System.Boolean + IL_000b: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0010: ldstr "a" + IL_0015: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_001a: stloc.0 + IL_001b: ldloc.0 + IL_001c: ldc.i4.1 + IL_001d: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0022: stloc.1 + IL_0023: ldloc.1 + IL_0024: ldc.i4.0 + IL_0025: ldloc.0 + IL_0026: stelem.ref + IL_0027: ldloc.1 + IL_0028: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_002d: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0032: pop + IL_0033: ret + } // end of method ExpressionTrees::LambdaParameter + + .method public hidebysig instance void + AddOperator(int32 x) cil managed + { + // Code size 111 (0x6f) + .maxstack 4 + .locals init (class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass4' V_0) + IL_0000: newobj instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass4'::.ctor() + IL_0005: stloc.0 + IL_0006: ldloc.0 + IL_0007: ldarg.1 + IL_0008: stfld int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass4'::x + IL_000d: nop + IL_000e: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0013: ldc.i4.1 + IL_0014: box [mscorlib]System.Int32 + IL_0019: ldtoken [mscorlib]System.Int32 + IL_001e: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0023: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0028: ldloc.0 + IL_0029: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object) + IL_002e: ldtoken field int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass4'::x + IL_0033: call class [mscorlib]System.Reflection.FieldInfo [mscorlib]System.Reflection.FieldInfo::GetFieldFromHandle(valuetype [mscorlib]System.RuntimeFieldHandle) + IL_0038: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Field(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.FieldInfo) + IL_003d: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Add(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0042: ldc.i4.2 + IL_0043: box [mscorlib]System.Int32 + IL_0048: ldtoken [mscorlib]System.Int32 + IL_004d: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0052: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0057: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Add(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_005c: ldc.i4.0 + IL_005d: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0062: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0067: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_006c: pop + IL_006d: nop + IL_006e: ret + } // end of method ExpressionTrees::AddOperator + + .method public hidebysig instance void + AnonymousClasses() cil managed + { + // Code size 158 (0x9e) + .maxstack 7 + .locals init (class [System.Core]System.Linq.Expressions.Expression[] V_0, + class [mscorlib]System.Reflection.MethodInfo[] V_1) + IL_0000: nop + IL_0001: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0006: ldtoken method instance void class '<>f__AnonymousType0`2'::.ctor(!0, + !1) + IL_000b: ldtoken class '<>f__AnonymousType0`2' + IL_0010: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle, + valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0015: castclass [mscorlib]System.Reflection.ConstructorInfo + IL_001a: ldc.i4.2 + IL_001b: newarr [System.Core]System.Linq.Expressions.Expression + IL_0020: stloc.0 + IL_0021: ldloc.0 + IL_0022: ldc.i4.0 + IL_0023: ldc.i4.3 + IL_0024: box [mscorlib]System.Int32 + IL_0029: ldtoken [mscorlib]System.Int32 + IL_002e: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0033: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0038: stelem.ref + IL_0039: ldloc.0 + IL_003a: ldc.i4.1 + IL_003b: ldstr "a" + IL_0040: ldtoken [mscorlib]System.String + IL_0045: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_004a: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_004f: stelem.ref + IL_0050: ldloc.0 + IL_0051: ldc.i4.2 + IL_0052: newarr [mscorlib]System.Reflection.MethodInfo + IL_0057: stloc.1 + IL_0058: ldloc.1 + IL_0059: ldc.i4.0 + IL_005a: ldtoken method instance !0 class '<>f__AnonymousType0`2'::get_X() + IL_005f: ldtoken class '<>f__AnonymousType0`2' + IL_0064: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle, + valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0069: castclass [mscorlib]System.Reflection.MethodInfo + IL_006e: stelem.ref + IL_006f: ldloc.1 + IL_0070: ldc.i4.1 + IL_0071: ldtoken method instance !1 class '<>f__AnonymousType0`2'::get_A() + IL_0076: ldtoken class '<>f__AnonymousType0`2' + IL_007b: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle, + valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0080: castclass [mscorlib]System.Reflection.MethodInfo + IL_0085: stelem.ref + IL_0086: ldloc.1 + IL_0087: call class [System.Core]System.Linq.Expressions.NewExpression [System.Core]System.Linq.Expressions.Expression::New(class [mscorlib]System.Reflection.ConstructorInfo, + class [mscorlib]System.Collections.Generic.IEnumerable`1, + class [mscorlib]System.Reflection.MemberInfo[]) + IL_008c: ldc.i4.0 + IL_008d: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0092: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambdaf__AnonymousType0`2'>>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0097: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCodef__AnonymousType0`2'>(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_009c: pop + IL_009d: ret + } // end of method ExpressionTrees::AnonymousClasses + + .method public hidebysig instance void + ArrayIndex() cil managed + { + // Code size 233 (0xe9) + .maxstack 6 + .locals init (class [System.Core]System.Linq.Expressions.Expression[] V_0) + IL_0000: nop + IL_0001: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0006: ldtoken [mscorlib]System.Int32 + IL_000b: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0010: ldc.i4.3 + IL_0011: newarr [System.Core]System.Linq.Expressions.Expression + IL_0016: stloc.0 + IL_0017: ldloc.0 + IL_0018: ldc.i4.0 + IL_0019: ldc.i4.3 + IL_001a: box [mscorlib]System.Int32 + IL_001f: ldtoken [mscorlib]System.Int32 + IL_0024: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0029: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_002e: stelem.ref + IL_002f: ldloc.0 + IL_0030: ldc.i4.1 + IL_0031: ldc.i4.4 + IL_0032: box [mscorlib]System.Int32 + IL_0037: ldtoken [mscorlib]System.Int32 + IL_003c: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0041: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0046: stelem.ref + IL_0047: ldloc.0 + IL_0048: ldc.i4.2 + IL_0049: ldc.i4.5 + IL_004a: box [mscorlib]System.Int32 + IL_004f: ldtoken [mscorlib]System.Int32 + IL_0054: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0059: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_005e: stelem.ref + IL_005f: ldloc.0 + IL_0060: call class [System.Core]System.Linq.Expressions.NewArrayExpression [System.Core]System.Linq.Expressions.Expression::NewArrayInit(class [mscorlib]System.Type, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_0065: ldc.i4.0 + IL_0066: box [mscorlib]System.Int32 + IL_006b: ldtoken [mscorlib]System.Int32 + IL_0070: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0075: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_007a: ldnull + IL_007b: ldtoken method valuetype [mscorlib]System.DateTime [mscorlib]System.DateTime::get_Now() + IL_0080: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0085: castclass [mscorlib]System.Reflection.MethodInfo + IL_008a: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Property(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo) + IL_008f: ldtoken method instance int64 [mscorlib]System.DateTime::get_Ticks() + IL_0094: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0099: castclass [mscorlib]System.Reflection.MethodInfo + IL_009e: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Property(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo) + IL_00a3: ldc.i4.3 + IL_00a4: conv.i8 + IL_00a5: box [mscorlib]System.Int64 + IL_00aa: ldtoken [mscorlib]System.Int64 + IL_00af: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00b4: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_00b9: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Modulo(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_00be: ldtoken [mscorlib]System.Int32 + IL_00c3: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00c8: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_00cd: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Add(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_00d2: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::ArrayIndex(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_00d7: ldc.i4.0 + IL_00d8: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_00dd: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_00e2: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_00e7: pop + IL_00e8: ret + } // end of method ExpressionTrees::ArrayIndex + + .method public hidebysig instance void + ArrayLengthAndDoubles() cil managed + { + // Code size 302 (0x12e) + .maxstack 14 + .locals init (class [System.Core]System.Linq.Expressions.Expression[] V_0, + class [System.Core]System.Linq.Expressions.Expression[] V_1, + class [System.Core]System.Linq.Expressions.Expression[] V_2) + IL_0000: nop + IL_0001: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0006: ldnull + IL_0007: ldtoken method !!0[] [System.Core]System.Linq.Enumerable::ToArray(class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_000c: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0011: castclass [mscorlib]System.Reflection.MethodInfo + IL_0016: ldc.i4.1 + IL_0017: newarr [System.Core]System.Linq.Expressions.Expression + IL_001c: stloc.0 + IL_001d: ldloc.0 + IL_001e: ldc.i4.0 + IL_001f: ldnull + IL_0020: ldtoken method class [mscorlib]System.Collections.Generic.IEnumerable`1 [System.Core]System.Linq.Enumerable::Concat(class [mscorlib]System.Collections.Generic.IEnumerable`1, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0025: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_002a: castclass [mscorlib]System.Reflection.MethodInfo + IL_002f: ldc.i4.2 + IL_0030: newarr [System.Core]System.Linq.Expressions.Expression + IL_0035: stloc.1 + IL_0036: ldloc.1 + IL_0037: ldc.i4.0 + IL_0038: ldtoken [mscorlib]System.Double + IL_003d: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0042: ldc.i4.3 + IL_0043: newarr [System.Core]System.Linq.Expressions.Expression + IL_0048: stloc.2 + IL_0049: ldloc.2 + IL_004a: ldc.i4.0 + IL_004b: ldc.r8 1. + IL_0054: box [mscorlib]System.Double + IL_0059: ldtoken [mscorlib]System.Double + IL_005e: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0063: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0068: stelem.ref + IL_0069: ldloc.2 + IL_006a: ldc.i4.1 + IL_006b: ldc.r8 2.0099999999999998 + IL_0074: box [mscorlib]System.Double + IL_0079: ldtoken [mscorlib]System.Double + IL_007e: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0083: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0088: stelem.ref + IL_0089: ldloc.2 + IL_008a: ldc.i4.2 + IL_008b: ldc.r8 3.5 + IL_0094: box [mscorlib]System.Double + IL_0099: ldtoken [mscorlib]System.Double + IL_009e: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00a3: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_00a8: stelem.ref + IL_00a9: ldloc.2 + IL_00aa: call class [System.Core]System.Linq.Expressions.NewArrayExpression [System.Core]System.Linq.Expressions.Expression::NewArrayInit(class [mscorlib]System.Type, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_00af: stelem.ref + IL_00b0: ldloc.1 + IL_00b1: ldc.i4.1 + IL_00b2: ldtoken [mscorlib]System.Double + IL_00b7: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00bc: ldc.i4.2 + IL_00bd: newarr [System.Core]System.Linq.Expressions.Expression + IL_00c2: stloc.2 + IL_00c3: ldloc.2 + IL_00c4: ldc.i4.0 + IL_00c5: ldc.r8 1. + IL_00ce: box [mscorlib]System.Double + IL_00d3: ldtoken [mscorlib]System.Double + IL_00d8: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00dd: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_00e2: stelem.ref + IL_00e3: ldloc.2 + IL_00e4: ldc.i4.1 + IL_00e5: ldc.r8 2. + IL_00ee: box [mscorlib]System.Double + IL_00f3: ldtoken [mscorlib]System.Double + IL_00f8: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00fd: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0102: stelem.ref + IL_0103: ldloc.2 + IL_0104: call class [System.Core]System.Linq.Expressions.NewArrayExpression [System.Core]System.Linq.Expressions.Expression::NewArrayInit(class [mscorlib]System.Type, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_0109: stelem.ref + IL_010a: ldloc.1 + IL_010b: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_0110: stelem.ref + IL_0111: ldloc.0 + IL_0112: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_0117: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::ArrayLength(class [System.Core]System.Linq.Expressions.Expression) + IL_011c: ldc.i4.0 + IL_011d: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0122: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0127: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_012c: pop + IL_012d: ret + } // end of method ExpressionTrees::ArrayLengthAndDoubles + + .method public hidebysig instance void + AsOperator() cil managed + { + // Code size 65 (0x41) + .maxstack 3 + IL_0000: nop + IL_0001: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0006: ldtoken method instance void [mscorlib]System.Object::.ctor() + IL_000b: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0010: castclass [mscorlib]System.Reflection.ConstructorInfo + IL_0015: ldc.i4.0 + IL_0016: newarr [System.Core]System.Linq.Expressions.Expression + IL_001b: call class [System.Core]System.Linq.Expressions.NewExpression [System.Core]System.Linq.Expressions.Expression::New(class [mscorlib]System.Reflection.ConstructorInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_0020: ldtoken [mscorlib]System.String + IL_0025: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_002a: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::TypeAs(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_002f: ldc.i4.0 + IL_0030: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0035: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_003a: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_003f: pop + IL_0040: ret + } // end of method ExpressionTrees::AsOperator + + .method public hidebysig instance void + ComplexGenericName() cil managed + { + // Code size 141 (0x8d) + .maxstack 6 + .locals init (class [System.Core]System.Linq.Expressions.ParameterExpression V_0, + class [System.Core]System.Linq.Expressions.ParameterExpression[] V_1, + class [System.Core]System.Linq.Expressions.Expression[] V_2) + IL_0000: nop + IL_0001: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0006: ldtoken [mscorlib]System.Int32 + IL_000b: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0010: ldstr "x" + IL_0015: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_001a: stloc.0 + IL_001b: ldloc.0 + IL_001c: ldc.i4.0 + IL_001d: box [mscorlib]System.Int32 + IL_0022: ldtoken [mscorlib]System.Int32 + IL_0027: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_002c: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0031: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::GreaterThan(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0036: ldc.i4.1 + IL_0037: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_003c: stloc.1 + IL_003d: ldloc.1 + IL_003e: ldc.i4.0 + IL_003f: ldloc.0 + IL_0040: stelem.ref + IL_0041: ldloc.1 + IL_0042: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0047: ldtoken class [mscorlib]System.Func`2 + IL_004c: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0051: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_0056: ldc.i4.1 + IL_0057: newarr [System.Core]System.Linq.Expressions.Expression + IL_005c: stloc.2 + IL_005d: ldloc.2 + IL_005e: ldc.i4.0 + IL_005f: ldc.i4.0 + IL_0060: box [mscorlib]System.Int32 + IL_0065: ldtoken [mscorlib]System.Int32 + IL_006a: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_006f: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0074: stelem.ref + IL_0075: ldloc.2 + IL_0076: call class [System.Core]System.Linq.Expressions.InvocationExpression [System.Core]System.Linq.Expressions.Expression::Invoke(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_007b: ldc.i4.0 + IL_007c: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0081: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0086: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_008b: pop + IL_008c: ret + } // end of method ExpressionTrees::ComplexGenericName + + .method public hidebysig instance void + DefaultValue() cil managed + { + // Code size 174 (0xae) + .maxstack 6 + .locals init (class [System.Core]System.Linq.Expressions.Expression[] V_0, + valuetype [mscorlib]System.TimeSpan V_1) + IL_0000: nop + IL_0001: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0006: ldtoken method instance void [mscorlib]System.TimeSpan::.ctor(int32, + int32, + int32) + IL_000b: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0010: castclass [mscorlib]System.Reflection.ConstructorInfo + IL_0015: ldc.i4.3 + IL_0016: newarr [System.Core]System.Linq.Expressions.Expression + IL_001b: stloc.0 + IL_001c: ldloc.0 + IL_001d: ldc.i4.0 + IL_001e: ldc.i4.1 + IL_001f: box [mscorlib]System.Int32 + IL_0024: ldtoken [mscorlib]System.Int32 + IL_0029: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_002e: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0033: stelem.ref + IL_0034: ldloc.0 + IL_0035: ldc.i4.1 + IL_0036: ldc.i4.2 + IL_0037: box [mscorlib]System.Int32 + IL_003c: ldtoken [mscorlib]System.Int32 + IL_0041: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0046: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_004b: stelem.ref + IL_004c: ldloc.0 + IL_004d: ldc.i4.2 + IL_004e: ldc.i4.3 + IL_004f: box [mscorlib]System.Int32 + IL_0054: ldtoken [mscorlib]System.Int32 + IL_0059: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_005e: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0063: stelem.ref + IL_0064: ldloc.0 + IL_0065: call class [System.Core]System.Linq.Expressions.NewExpression [System.Core]System.Linq.Expressions.Expression::New(class [mscorlib]System.Reflection.ConstructorInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_006a: ldloca.s V_1 + IL_006c: initobj [mscorlib]System.TimeSpan + IL_0072: ldloc.1 + IL_0073: box [mscorlib]System.TimeSpan + IL_0078: ldtoken [mscorlib]System.TimeSpan + IL_007d: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0082: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0087: ldc.i4.0 + IL_0088: ldtoken method bool [mscorlib]System.TimeSpan::op_Equality(valuetype [mscorlib]System.TimeSpan, + valuetype [mscorlib]System.TimeSpan) + IL_008d: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0092: castclass [mscorlib]System.Reflection.MethodInfo + IL_0097: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Equal(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression, + bool, + class [mscorlib]System.Reflection.MethodInfo) + IL_009c: ldc.i4.0 + IL_009d: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_00a2: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_00a7: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_00ac: pop + IL_00ad: ret + } // end of method ExpressionTrees::DefaultValue + + .method public hidebysig instance void + EnumConstant() cil managed + { + // Code size 117 (0x75) + .maxstack 7 + .locals init (class [System.Core]System.Linq.Expressions.Expression[] V_0) + IL_0000: nop + IL_0001: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0006: ldtoken method instance void [mscorlib]System.Object::.ctor() + IL_000b: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0010: castclass [mscorlib]System.Reflection.ConstructorInfo + IL_0015: ldc.i4.0 + IL_0016: newarr [System.Core]System.Linq.Expressions.Expression + IL_001b: call class [System.Core]System.Linq.Expressions.NewExpression [System.Core]System.Linq.Expressions.Expression::New(class [mscorlib]System.Reflection.ConstructorInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_0020: ldtoken method instance bool [mscorlib]System.Object::Equals(object) + IL_0025: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_002a: castclass [mscorlib]System.Reflection.MethodInfo + IL_002f: ldc.i4.1 + IL_0030: newarr [System.Core]System.Linq.Expressions.Expression + IL_0035: stloc.0 + IL_0036: ldloc.0 + IL_0037: ldc.i4.0 + IL_0038: ldc.i4.0 + IL_0039: box [mscorlib]System.MidpointRounding + IL_003e: ldtoken [mscorlib]System.MidpointRounding + IL_0043: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0048: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_004d: ldtoken [mscorlib]System.Object + IL_0052: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0057: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_005c: stelem.ref + IL_005d: ldloc.0 + IL_005e: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_0063: ldc.i4.0 + IL_0064: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0069: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_006e: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0073: pop + IL_0074: ret + } // end of method ExpressionTrees::EnumConstant + + .method public hidebysig instance void + IndexerAccess() cil managed + { + // Code size 184 (0xb8) + .maxstack 7 + .locals init (class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass8' V_0, + class [System.Core]System.Linq.Expressions.Expression[] V_1) + IL_0000: newobj instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass8'::.ctor() + IL_0005: stloc.0 + IL_0006: nop + IL_0007: ldloc.0 + IL_0008: ldc.i4.1 + IL_0009: ldc.i4.s 20 + IL_000b: call class [mscorlib]System.Collections.Generic.IEnumerable`1 [System.Core]System.Linq.Enumerable::Range(int32, + int32) + IL_0010: ldsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate7' + IL_0015: brtrue.s IL_002a + + IL_0017: ldnull + IL_0018: ldftn string ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'b__6'(int32) + IL_001e: newobj instance void class [mscorlib]System.Func`2::.ctor(object, + native int) + IL_0023: stsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate7' + IL_0028: br.s IL_002a + + IL_002a: ldsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate7' + IL_002f: call class [mscorlib]System.Collections.Generic.Dictionary`2 [System.Core]System.Linq.Enumerable::ToDictionary(class [mscorlib]System.Collections.Generic.IEnumerable`1, + class [mscorlib]System.Func`2) + IL_0034: stfld class [mscorlib]System.Collections.Generic.Dictionary`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass8'::dict + IL_0039: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_003e: ldloc.0 + IL_003f: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object) + IL_0044: ldtoken field class [mscorlib]System.Collections.Generic.Dictionary`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass8'::dict + IL_0049: call class [mscorlib]System.Reflection.FieldInfo [mscorlib]System.Reflection.FieldInfo::GetFieldFromHandle(valuetype [mscorlib]System.RuntimeFieldHandle) + IL_004e: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Field(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.FieldInfo) + IL_0053: ldtoken method instance !1 class [mscorlib]System.Collections.Generic.Dictionary`2::get_Item(!0) + IL_0058: ldtoken class [mscorlib]System.Collections.Generic.Dictionary`2 + IL_005d: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle, + valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0062: castclass [mscorlib]System.Reflection.MethodInfo + IL_0067: ldc.i4.1 + IL_0068: newarr [System.Core]System.Linq.Expressions.Expression + IL_006d: stloc.1 + IL_006e: ldloc.1 + IL_006f: ldc.i4.0 + IL_0070: ldstr "3" + IL_0075: ldtoken [mscorlib]System.String + IL_007a: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_007f: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0084: stelem.ref + IL_0085: ldloc.1 + IL_0086: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_008b: ldc.i4.3 + IL_008c: box [mscorlib]System.Int32 + IL_0091: ldtoken [mscorlib]System.Int32 + IL_0096: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_009b: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_00a0: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Equal(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_00a5: ldc.i4.0 + IL_00a6: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_00ab: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_00b0: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_00b5: pop + IL_00b6: nop + IL_00b7: ret + } // end of method ExpressionTrees::IndexerAccess + + .method public hidebysig instance void + IsOperator() cil managed + { + // Code size 65 (0x41) + .maxstack 3 + IL_0000: nop + IL_0001: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0006: ldtoken method instance void [mscorlib]System.Object::.ctor() + IL_000b: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0010: castclass [mscorlib]System.Reflection.ConstructorInfo + IL_0015: ldc.i4.0 + IL_0016: newarr [System.Core]System.Linq.Expressions.Expression + IL_001b: call class [System.Core]System.Linq.Expressions.NewExpression [System.Core]System.Linq.Expressions.Expression::New(class [mscorlib]System.Reflection.ConstructorInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_0020: ldtoken [mscorlib]System.String + IL_0025: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_002a: call class [System.Core]System.Linq.Expressions.TypeBinaryExpression [System.Core]System.Linq.Expressions.Expression::TypeIs(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_002f: ldc.i4.0 + IL_0030: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0035: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_003a: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_003f: pop + IL_0040: ret + } // end of method ExpressionTrees::IsOperator + + .method public hidebysig instance void + ListInitializer() cil managed + { + // Code size 371 (0x173) + .maxstack 9 + .locals init (class [System.Core]System.Linq.Expressions.ElementInit[] V_0, + class [System.Core]System.Linq.Expressions.Expression[] V_1) + IL_0000: nop + IL_0001: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0006: ldtoken method instance void class [mscorlib]System.Collections.Generic.Dictionary`2::.ctor() + IL_000b: ldtoken class [mscorlib]System.Collections.Generic.Dictionary`2 + IL_0010: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle, + valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0015: castclass [mscorlib]System.Reflection.ConstructorInfo + IL_001a: ldc.i4.0 + IL_001b: newarr [System.Core]System.Linq.Expressions.Expression + IL_0020: call class [System.Core]System.Linq.Expressions.NewExpression [System.Core]System.Linq.Expressions.Expression::New(class [mscorlib]System.Reflection.ConstructorInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_0025: ldc.i4.3 + IL_0026: newarr [System.Core]System.Linq.Expressions.ElementInit + IL_002b: stloc.0 + IL_002c: ldloc.0 + IL_002d: ldc.i4.0 + IL_002e: ldtoken method instance void class [mscorlib]System.Collections.Generic.Dictionary`2::Add(!0, + !1) + IL_0033: ldtoken class [mscorlib]System.Collections.Generic.Dictionary`2 + IL_0038: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle, + valuetype [mscorlib]System.RuntimeTypeHandle) + IL_003d: castclass [mscorlib]System.Reflection.MethodInfo + IL_0042: ldc.i4.2 + IL_0043: newarr [System.Core]System.Linq.Expressions.Expression + IL_0048: stloc.1 + IL_0049: ldloc.1 + IL_004a: ldc.i4.0 + IL_004b: ldc.i4.1 + IL_004c: box [mscorlib]System.Int32 + IL_0051: ldtoken [mscorlib]System.Int32 + IL_0056: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_005b: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0060: stelem.ref + IL_0061: ldloc.1 + IL_0062: ldc.i4.1 + IL_0063: ldc.i4.1 + IL_0064: box [mscorlib]System.Int32 + IL_0069: ldtoken [mscorlib]System.Int32 + IL_006e: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0073: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0078: stelem.ref + IL_0079: ldloc.1 + IL_007a: call class [System.Core]System.Linq.Expressions.ElementInit [System.Core]System.Linq.Expressions.Expression::ElementInit(class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_007f: stelem.ref + IL_0080: ldloc.0 + IL_0081: ldc.i4.1 + IL_0082: ldtoken method instance void class [mscorlib]System.Collections.Generic.Dictionary`2::Add(!0, + !1) + IL_0087: ldtoken class [mscorlib]System.Collections.Generic.Dictionary`2 + IL_008c: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle, + valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0091: castclass [mscorlib]System.Reflection.MethodInfo + IL_0096: ldc.i4.2 + IL_0097: newarr [System.Core]System.Linq.Expressions.Expression + IL_009c: stloc.1 + IL_009d: ldloc.1 + IL_009e: ldc.i4.0 + IL_009f: ldc.i4.2 + IL_00a0: box [mscorlib]System.Int32 + IL_00a5: ldtoken [mscorlib]System.Int32 + IL_00aa: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00af: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_00b4: stelem.ref + IL_00b5: ldloc.1 + IL_00b6: ldc.i4.1 + IL_00b7: ldc.i4.2 + IL_00b8: box [mscorlib]System.Int32 + IL_00bd: ldtoken [mscorlib]System.Int32 + IL_00c2: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00c7: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_00cc: stelem.ref + IL_00cd: ldloc.1 + IL_00ce: call class [System.Core]System.Linq.Expressions.ElementInit [System.Core]System.Linq.Expressions.Expression::ElementInit(class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_00d3: stelem.ref + IL_00d4: ldloc.0 + IL_00d5: ldc.i4.2 + IL_00d6: ldtoken method instance void class [mscorlib]System.Collections.Generic.Dictionary`2::Add(!0, + !1) + IL_00db: ldtoken class [mscorlib]System.Collections.Generic.Dictionary`2 + IL_00e0: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle, + valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00e5: castclass [mscorlib]System.Reflection.MethodInfo + IL_00ea: ldc.i4.2 + IL_00eb: newarr [System.Core]System.Linq.Expressions.Expression + IL_00f0: stloc.1 + IL_00f1: ldloc.1 + IL_00f2: ldc.i4.0 + IL_00f3: ldc.i4.3 + IL_00f4: box [mscorlib]System.Int32 + IL_00f9: ldtoken [mscorlib]System.Int32 + IL_00fe: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0103: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0108: stelem.ref + IL_0109: ldloc.1 + IL_010a: ldc.i4.1 + IL_010b: ldc.i4.4 + IL_010c: box [mscorlib]System.Int32 + IL_0111: ldtoken [mscorlib]System.Int32 + IL_0116: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_011b: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0120: stelem.ref + IL_0121: ldloc.1 + IL_0122: call class [System.Core]System.Linq.Expressions.ElementInit [System.Core]System.Linq.Expressions.Expression::ElementInit(class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_0127: stelem.ref + IL_0128: ldloc.0 + IL_0129: call class [System.Core]System.Linq.Expressions.ListInitExpression [System.Core]System.Linq.Expressions.Expression::ListInit(class [System.Core]System.Linq.Expressions.NewExpression, + class [System.Core]System.Linq.Expressions.ElementInit[]) + IL_012e: ldtoken method instance int32 class [mscorlib]System.Collections.Generic.Dictionary`2::get_Count() + IL_0133: ldtoken class [mscorlib]System.Collections.Generic.Dictionary`2 + IL_0138: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle, + valuetype [mscorlib]System.RuntimeTypeHandle) + IL_013d: castclass [mscorlib]System.Reflection.MethodInfo + IL_0142: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Property(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo) + IL_0147: ldc.i4.3 + IL_0148: box [mscorlib]System.Int32 + IL_014d: ldtoken [mscorlib]System.Int32 + IL_0152: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0157: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_015c: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Equal(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0161: ldc.i4.0 + IL_0162: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0167: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_016c: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0171: pop + IL_0172: ret + } // end of method ExpressionTrees::ListInitializer + + .method public hidebysig instance void + ListInitializer2() cil managed + { + // Code size 326 (0x146) + .maxstack 9 + .locals init (class [System.Core]System.Linq.Expressions.Expression[] V_0, + class [System.Core]System.Linq.Expressions.ElementInit[] V_1) + IL_0000: nop + IL_0001: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0006: ldtoken method instance void class [mscorlib]System.Collections.Generic.List`1::.ctor(int32) + IL_000b: ldtoken class [mscorlib]System.Collections.Generic.List`1 + IL_0010: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle, + valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0015: castclass [mscorlib]System.Reflection.ConstructorInfo + IL_001a: ldc.i4.1 + IL_001b: newarr [System.Core]System.Linq.Expressions.Expression + IL_0020: stloc.0 + IL_0021: ldloc.0 + IL_0022: ldc.i4.0 + IL_0023: ldc.i4.s 50 + IL_0025: box [mscorlib]System.Int32 + IL_002a: ldtoken [mscorlib]System.Int32 + IL_002f: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0034: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0039: stelem.ref + IL_003a: ldloc.0 + IL_003b: call class [System.Core]System.Linq.Expressions.NewExpression [System.Core]System.Linq.Expressions.Expression::New(class [mscorlib]System.Reflection.ConstructorInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_0040: ldc.i4.3 + IL_0041: newarr [System.Core]System.Linq.Expressions.ElementInit + IL_0046: stloc.1 + IL_0047: ldloc.1 + IL_0048: ldc.i4.0 + IL_0049: ldtoken method instance void class [mscorlib]System.Collections.Generic.List`1::Add(!0) + IL_004e: ldtoken class [mscorlib]System.Collections.Generic.List`1 + IL_0053: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle, + valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0058: castclass [mscorlib]System.Reflection.MethodInfo + IL_005d: ldc.i4.1 + IL_005e: newarr [System.Core]System.Linq.Expressions.Expression + IL_0063: stloc.0 + IL_0064: ldloc.0 + IL_0065: ldc.i4.0 + IL_0066: ldc.i4.1 + IL_0067: box [mscorlib]System.Int32 + IL_006c: ldtoken [mscorlib]System.Int32 + IL_0071: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0076: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_007b: stelem.ref + IL_007c: ldloc.0 + IL_007d: call class [System.Core]System.Linq.Expressions.ElementInit [System.Core]System.Linq.Expressions.Expression::ElementInit(class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_0082: stelem.ref + IL_0083: ldloc.1 + IL_0084: ldc.i4.1 + IL_0085: ldtoken method instance void class [mscorlib]System.Collections.Generic.List`1::Add(!0) + IL_008a: ldtoken class [mscorlib]System.Collections.Generic.List`1 + IL_008f: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle, + valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0094: castclass [mscorlib]System.Reflection.MethodInfo + IL_0099: ldc.i4.1 + IL_009a: newarr [System.Core]System.Linq.Expressions.Expression + IL_009f: stloc.0 + IL_00a0: ldloc.0 + IL_00a1: ldc.i4.0 + IL_00a2: ldc.i4.2 + IL_00a3: box [mscorlib]System.Int32 + IL_00a8: ldtoken [mscorlib]System.Int32 + IL_00ad: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00b2: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_00b7: stelem.ref + IL_00b8: ldloc.0 + IL_00b9: call class [System.Core]System.Linq.Expressions.ElementInit [System.Core]System.Linq.Expressions.Expression::ElementInit(class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_00be: stelem.ref + IL_00bf: ldloc.1 + IL_00c0: ldc.i4.2 + IL_00c1: ldtoken method instance void class [mscorlib]System.Collections.Generic.List`1::Add(!0) + IL_00c6: ldtoken class [mscorlib]System.Collections.Generic.List`1 + IL_00cb: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle, + valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00d0: castclass [mscorlib]System.Reflection.MethodInfo + IL_00d5: ldc.i4.1 + IL_00d6: newarr [System.Core]System.Linq.Expressions.Expression + IL_00db: stloc.0 + IL_00dc: ldloc.0 + IL_00dd: ldc.i4.0 + IL_00de: ldc.i4.3 + IL_00df: box [mscorlib]System.Int32 + IL_00e4: ldtoken [mscorlib]System.Int32 + IL_00e9: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00ee: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_00f3: stelem.ref + IL_00f4: ldloc.0 + IL_00f5: call class [System.Core]System.Linq.Expressions.ElementInit [System.Core]System.Linq.Expressions.Expression::ElementInit(class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_00fa: stelem.ref + IL_00fb: ldloc.1 + IL_00fc: call class [System.Core]System.Linq.Expressions.ListInitExpression [System.Core]System.Linq.Expressions.Expression::ListInit(class [System.Core]System.Linq.Expressions.NewExpression, + class [System.Core]System.Linq.Expressions.ElementInit[]) + IL_0101: ldtoken method instance int32 class [mscorlib]System.Collections.Generic.List`1::get_Count() + IL_0106: ldtoken class [mscorlib]System.Collections.Generic.List`1 + IL_010b: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle, + valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0110: castclass [mscorlib]System.Reflection.MethodInfo + IL_0115: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Property(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo) + IL_011a: ldc.i4.3 + IL_011b: box [mscorlib]System.Int32 + IL_0120: ldtoken [mscorlib]System.Int32 + IL_0125: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_012a: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_012f: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Equal(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0134: ldc.i4.0 + IL_0135: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_013a: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_013f: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0144: pop + IL_0145: ret + } // end of method ExpressionTrees::ListInitializer2 + + .method public hidebysig instance void + ListInitializer3() cil managed + { + // Code size 299 (0x12b) + .maxstack 9 + .locals init (class [System.Core]System.Linq.Expressions.ElementInit[] V_0, + class [System.Core]System.Linq.Expressions.Expression[] V_1) + IL_0000: nop + IL_0001: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0006: ldtoken method instance void class [mscorlib]System.Collections.Generic.List`1::.ctor() + IL_000b: ldtoken class [mscorlib]System.Collections.Generic.List`1 + IL_0010: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle, + valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0015: castclass [mscorlib]System.Reflection.ConstructorInfo + IL_001a: ldc.i4.0 + IL_001b: newarr [System.Core]System.Linq.Expressions.Expression + IL_0020: call class [System.Core]System.Linq.Expressions.NewExpression [System.Core]System.Linq.Expressions.Expression::New(class [mscorlib]System.Reflection.ConstructorInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_0025: ldc.i4.3 + IL_0026: newarr [System.Core]System.Linq.Expressions.ElementInit + IL_002b: stloc.0 + IL_002c: ldloc.0 + IL_002d: ldc.i4.0 + IL_002e: ldtoken method instance void class [mscorlib]System.Collections.Generic.List`1::Add(!0) + IL_0033: ldtoken class [mscorlib]System.Collections.Generic.List`1 + IL_0038: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle, + valuetype [mscorlib]System.RuntimeTypeHandle) + IL_003d: castclass [mscorlib]System.Reflection.MethodInfo + IL_0042: ldc.i4.1 + IL_0043: newarr [System.Core]System.Linq.Expressions.Expression + IL_0048: stloc.1 + IL_0049: ldloc.1 + IL_004a: ldc.i4.0 + IL_004b: ldc.i4.1 + IL_004c: box [mscorlib]System.Int32 + IL_0051: ldtoken [mscorlib]System.Int32 + IL_0056: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_005b: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0060: stelem.ref + IL_0061: ldloc.1 + IL_0062: call class [System.Core]System.Linq.Expressions.ElementInit [System.Core]System.Linq.Expressions.Expression::ElementInit(class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_0067: stelem.ref + IL_0068: ldloc.0 + IL_0069: ldc.i4.1 + IL_006a: ldtoken method instance void class [mscorlib]System.Collections.Generic.List`1::Add(!0) + IL_006f: ldtoken class [mscorlib]System.Collections.Generic.List`1 + IL_0074: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle, + valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0079: castclass [mscorlib]System.Reflection.MethodInfo + IL_007e: ldc.i4.1 + IL_007f: newarr [System.Core]System.Linq.Expressions.Expression + IL_0084: stloc.1 + IL_0085: ldloc.1 + IL_0086: ldc.i4.0 + IL_0087: ldc.i4.2 + IL_0088: box [mscorlib]System.Int32 + IL_008d: ldtoken [mscorlib]System.Int32 + IL_0092: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0097: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_009c: stelem.ref + IL_009d: ldloc.1 + IL_009e: call class [System.Core]System.Linq.Expressions.ElementInit [System.Core]System.Linq.Expressions.Expression::ElementInit(class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_00a3: stelem.ref + IL_00a4: ldloc.0 + IL_00a5: ldc.i4.2 + IL_00a6: ldtoken method instance void class [mscorlib]System.Collections.Generic.List`1::Add(!0) + IL_00ab: ldtoken class [mscorlib]System.Collections.Generic.List`1 + IL_00b0: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle, + valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00b5: castclass [mscorlib]System.Reflection.MethodInfo + IL_00ba: ldc.i4.1 + IL_00bb: newarr [System.Core]System.Linq.Expressions.Expression + IL_00c0: stloc.1 + IL_00c1: ldloc.1 + IL_00c2: ldc.i4.0 + IL_00c3: ldc.i4.3 + IL_00c4: box [mscorlib]System.Int32 + IL_00c9: ldtoken [mscorlib]System.Int32 + IL_00ce: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00d3: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_00d8: stelem.ref + IL_00d9: ldloc.1 + IL_00da: call class [System.Core]System.Linq.Expressions.ElementInit [System.Core]System.Linq.Expressions.Expression::ElementInit(class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_00df: stelem.ref + IL_00e0: ldloc.0 + IL_00e1: call class [System.Core]System.Linq.Expressions.ListInitExpression [System.Core]System.Linq.Expressions.Expression::ListInit(class [System.Core]System.Linq.Expressions.NewExpression, + class [System.Core]System.Linq.Expressions.ElementInit[]) + IL_00e6: ldtoken method instance int32 class [mscorlib]System.Collections.Generic.List`1::get_Count() + IL_00eb: ldtoken class [mscorlib]System.Collections.Generic.List`1 + IL_00f0: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle, + valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00f5: castclass [mscorlib]System.Reflection.MethodInfo + IL_00fa: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Property(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo) + IL_00ff: ldc.i4.3 + IL_0100: box [mscorlib]System.Int32 + IL_0105: ldtoken [mscorlib]System.Int32 + IL_010a: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_010f: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0114: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Equal(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0119: ldc.i4.0 + IL_011a: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_011f: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0124: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0129: pop + IL_012a: ret + } // end of method ExpressionTrees::ListInitializer3 + + .method public hidebysig instance void + LiteralCharAndProperty() cil managed + { + // Code size 147 (0x93) + .maxstack 6 + .locals init (class [System.Core]System.Linq.Expressions.Expression[] V_0) + IL_0000: nop + IL_0001: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0006: ldtoken method instance void [mscorlib]System.String::.ctor(char, + int32) + IL_000b: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0010: castclass [mscorlib]System.Reflection.ConstructorInfo + IL_0015: ldc.i4.2 + IL_0016: newarr [System.Core]System.Linq.Expressions.Expression + IL_001b: stloc.0 + IL_001c: ldloc.0 + IL_001d: ldc.i4.0 + IL_001e: ldc.i4.s 32 + IL_0020: box [mscorlib]System.Char + IL_0025: ldtoken [mscorlib]System.Char + IL_002a: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_002f: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0034: stelem.ref + IL_0035: ldloc.0 + IL_0036: ldc.i4.1 + IL_0037: ldc.i4.3 + IL_0038: box [mscorlib]System.Int32 + IL_003d: ldtoken [mscorlib]System.Int32 + IL_0042: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0047: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_004c: stelem.ref + IL_004d: ldloc.0 + IL_004e: call class [System.Core]System.Linq.Expressions.NewExpression [System.Core]System.Linq.Expressions.Expression::New(class [mscorlib]System.Reflection.ConstructorInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_0053: ldtoken method instance int32 [mscorlib]System.String::get_Length() + IL_0058: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_005d: castclass [mscorlib]System.Reflection.MethodInfo + IL_0062: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Property(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo) + IL_0067: ldc.i4.1 + IL_0068: box [mscorlib]System.Int32 + IL_006d: ldtoken [mscorlib]System.Int32 + IL_0072: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0077: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_007c: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Equal(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0081: ldc.i4.0 + IL_0082: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0087: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_008c: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0091: pop + IL_0092: ret + } // end of method ExpressionTrees::LiteralCharAndProperty + + .method public hidebysig instance void + CharNoCast() cil managed + { + // Code size 138 (0x8a) + .maxstack 7 + .locals init (class [System.Core]System.Linq.Expressions.Expression[] V_0) + IL_0000: nop + IL_0001: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0006: ldstr "abc" + IL_000b: ldtoken [mscorlib]System.String + IL_0010: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0015: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_001a: ldtoken method instance char [mscorlib]System.String::get_Chars(int32) + IL_001f: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0024: castclass [mscorlib]System.Reflection.MethodInfo + IL_0029: ldc.i4.1 + IL_002a: newarr [System.Core]System.Linq.Expressions.Expression + IL_002f: stloc.0 + IL_0030: ldloc.0 + IL_0031: ldc.i4.0 + IL_0032: ldc.i4.1 + IL_0033: box [mscorlib]System.Int32 + IL_0038: ldtoken [mscorlib]System.Int32 + IL_003d: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0042: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0047: stelem.ref + IL_0048: ldloc.0 + IL_0049: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_004e: ldtoken [mscorlib]System.Int32 + IL_0053: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0058: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_005d: ldc.i4.s 98 + IL_005f: box [mscorlib]System.Int32 + IL_0064: ldtoken [mscorlib]System.Int32 + IL_0069: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_006e: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0073: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Equal(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0078: ldc.i4.0 + IL_0079: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_007e: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0083: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0088: pop + IL_0089: ret + } // end of method ExpressionTrees::CharNoCast + + .method public hidebysig instance void + StringsImplicitCast() cil managed + { + // Code size 378 (0x17a) + .maxstack 8 + .locals init (class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClassa' V_0) + IL_0000: newobj instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClassa'::.ctor() + IL_0005: stloc.0 + IL_0006: nop + IL_0007: ldloc.0 + IL_0008: ldc.i4.1 + IL_0009: stfld int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClassa'::i + IL_000e: ldloc.0 + IL_000f: ldstr "X" + IL_0014: stfld string ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClassa'::x + IL_0019: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_001e: ldstr "a\n\\b" + IL_0023: ldtoken [mscorlib]System.String + IL_0028: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_002d: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0032: ldloc.0 + IL_0033: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object) + IL_0038: ldtoken field string ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClassa'::x + IL_003d: call class [mscorlib]System.Reflection.FieldInfo [mscorlib]System.Reflection.FieldInfo::GetFieldFromHandle(valuetype [mscorlib]System.RuntimeFieldHandle) + IL_0042: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Field(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.FieldInfo) + IL_0047: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Coalesce(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_004c: ldloc.0 + IL_004d: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object) + IL_0052: ldtoken field string ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClassa'::x + IL_0057: call class [mscorlib]System.Reflection.FieldInfo [mscorlib]System.Reflection.FieldInfo::GetFieldFromHandle(valuetype [mscorlib]System.RuntimeFieldHandle) + IL_005c: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Field(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.FieldInfo) + IL_0061: ldtoken method string [mscorlib]System.String::Concat(string, + string) + IL_0066: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_006b: castclass [mscorlib]System.Reflection.MethodInfo + IL_0070: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Add(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo) + IL_0075: ldtoken method instance int32 [mscorlib]System.String::get_Length() + IL_007a: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_007f: castclass [mscorlib]System.Reflection.MethodInfo + IL_0084: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Property(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo) + IL_0089: ldc.i4.2 + IL_008a: box [mscorlib]System.Int32 + IL_008f: ldtoken [mscorlib]System.Int32 + IL_0094: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0099: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_009e: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Equal(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_00a3: ldc.i4.0 + IL_00a4: box [mscorlib]System.Boolean + IL_00a9: ldtoken [mscorlib]System.Boolean + IL_00ae: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00b3: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_00b8: ldc.i4.1 + IL_00b9: box [mscorlib]System.Boolean + IL_00be: ldtoken [mscorlib]System.Boolean + IL_00c3: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00c8: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_00cd: ldc.i4.1 + IL_00ce: newobj instance void [mscorlib]System.Decimal::.ctor(int32) + IL_00d3: box [mscorlib]System.Decimal + IL_00d8: ldtoken [mscorlib]System.Decimal + IL_00dd: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00e2: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_00e7: ldloc.0 + IL_00e8: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object) + IL_00ed: ldtoken field int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClassa'::i + IL_00f2: call class [mscorlib]System.Reflection.FieldInfo [mscorlib]System.Reflection.FieldInfo::GetFieldFromHandle(valuetype [mscorlib]System.RuntimeFieldHandle) + IL_00f7: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Field(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.FieldInfo) + IL_00fc: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Negate(class [System.Core]System.Linq.Expressions.Expression) + IL_0101: ldtoken [mscorlib]System.Decimal + IL_0106: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_010b: ldtoken method valuetype [mscorlib]System.Decimal [mscorlib]System.Decimal::op_Implicit(int32) + IL_0110: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0115: castclass [mscorlib]System.Reflection.MethodInfo + IL_011a: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type, + class [mscorlib]System.Reflection.MethodInfo) + IL_011f: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Add(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0124: ldc.i4.0 + IL_0125: newobj instance void [mscorlib]System.Decimal::.ctor(int32) + IL_012a: box [mscorlib]System.Decimal + IL_012f: ldtoken [mscorlib]System.Decimal + IL_0134: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0139: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_013e: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::GreaterThan(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0143: ldc.i4.0 + IL_0144: box [mscorlib]System.Boolean + IL_0149: ldtoken [mscorlib]System.Boolean + IL_014e: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0153: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0158: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::OrElse(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_015d: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::AndAlso(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0162: call class [System.Core]System.Linq.Expressions.ConditionalExpression [System.Core]System.Linq.Expressions.Expression::Condition(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0167: ldc.i4.0 + IL_0168: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_016d: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0172: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0177: pop + IL_0178: nop + IL_0179: ret + } // end of method ExpressionTrees::StringsImplicitCast + + .method public hidebysig instance void + NotImplicitCast() cil managed + { + // Code size 106 (0x6a) + .maxstack 4 + .locals init (class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClassc' V_0) + IL_0000: newobj instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClassc'::.ctor() + IL_0005: stloc.0 + IL_0006: nop + IL_0007: ldloc.0 + IL_0008: ldc.i4.s 42 + IL_000a: stfld uint8 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClassc'::z + IL_000f: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0014: ldloc.0 + IL_0015: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object) + IL_001a: ldtoken field uint8 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClassc'::z + IL_001f: call class [mscorlib]System.Reflection.FieldInfo [mscorlib]System.Reflection.FieldInfo::GetFieldFromHandle(valuetype [mscorlib]System.RuntimeFieldHandle) + IL_0024: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Field(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.FieldInfo) + IL_0029: ldtoken [mscorlib]System.Int32 + IL_002e: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0033: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_0038: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Not(class [System.Core]System.Linq.Expressions.Expression) + IL_003d: ldc.i4.0 + IL_003e: box [mscorlib]System.Int32 + IL_0043: ldtoken [mscorlib]System.Int32 + IL_0048: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_004d: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0052: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Equal(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0057: ldc.i4.0 + IL_0058: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_005d: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0062: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0067: pop + IL_0068: nop + IL_0069: ret + } // end of method ExpressionTrees::NotImplicitCast + + .method public hidebysig instance void + MembersBuiltin() cil managed + { + // Code size 406 (0x196) + .maxstack 7 + .locals init (class [System.Core]System.Linq.Expressions.Expression[] V_0) + IL_0000: nop + IL_0001: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0006: ldc.i4.s 123 + IL_0008: ldc.i4.0 + IL_0009: ldc.i4.0 + IL_000a: ldc.i4.0 + IL_000b: ldc.i4.2 + IL_000c: newobj instance void [mscorlib]System.Decimal::.ctor(int32, + int32, + int32, + bool, + uint8) + IL_0011: box [mscorlib]System.Decimal + IL_0016: ldtoken [mscorlib]System.Decimal + IL_001b: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0020: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0025: ldtoken method instance string [mscorlib]System.Decimal::ToString() + IL_002a: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_002f: castclass [mscorlib]System.Reflection.MethodInfo + IL_0034: ldc.i4.0 + IL_0035: newarr [System.Core]System.Linq.Expressions.Expression + IL_003a: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_003f: ldc.i4.0 + IL_0040: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0045: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_004a: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_004f: pop + IL_0050: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0055: ldc.i4 0x7fff + IL_005a: box [mscorlib]System.AttributeTargets + IL_005f: ldtoken [mscorlib]System.AttributeTargets + IL_0064: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0069: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_006e: ldtoken method instance bool [mscorlib]System.Enum::HasFlag(class [mscorlib]System.Enum) + IL_0073: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0078: castclass [mscorlib]System.Reflection.MethodInfo + IL_007d: ldc.i4.1 + IL_007e: newarr [System.Core]System.Linq.Expressions.Expression + IL_0083: stloc.0 + IL_0084: ldloc.0 + IL_0085: ldc.i4.0 + IL_0086: ldc.i4.1 + IL_0087: box [mscorlib]System.AttributeTargets + IL_008c: ldtoken [mscorlib]System.AttributeTargets + IL_0091: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0096: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_009b: ldtoken [mscorlib]System.Enum + IL_00a0: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00a5: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_00aa: stelem.ref + IL_00ab: ldloc.0 + IL_00ac: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_00b1: ldc.i4.0 + IL_00b2: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_00b7: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_00bc: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_00c1: pop + IL_00c2: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_00c7: ldstr "abc" + IL_00cc: ldtoken [mscorlib]System.String + IL_00d1: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00d6: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_00db: ldtoken method instance int32 [mscorlib]System.String::get_Length() + IL_00e0: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_00e5: castclass [mscorlib]System.Reflection.MethodInfo + IL_00ea: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Property(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo) + IL_00ef: ldc.i4.3 + IL_00f0: box [mscorlib]System.Int32 + IL_00f5: ldtoken [mscorlib]System.Int32 + IL_00fa: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00ff: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0104: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Equal(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0109: ldc.i4.0 + IL_010a: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_010f: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0114: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0119: pop + IL_011a: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_011f: ldc.i4.s 97 + IL_0121: box [mscorlib]System.Char + IL_0126: ldtoken [mscorlib]System.Char + IL_012b: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0130: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0135: ldtoken method instance int32 [mscorlib]System.Char::CompareTo(char) + IL_013a: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_013f: castclass [mscorlib]System.Reflection.MethodInfo + IL_0144: ldc.i4.1 + IL_0145: newarr [System.Core]System.Linq.Expressions.Expression + IL_014a: stloc.0 + IL_014b: ldloc.0 + IL_014c: ldc.i4.0 + IL_014d: ldc.i4.s 98 + IL_014f: box [mscorlib]System.Char + IL_0154: ldtoken [mscorlib]System.Char + IL_0159: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_015e: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0163: stelem.ref + IL_0164: ldloc.0 + IL_0165: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_016a: ldc.i4.0 + IL_016b: box [mscorlib]System.Int32 + IL_0170: ldtoken [mscorlib]System.Int32 + IL_0175: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_017a: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_017f: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::LessThan(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0184: ldc.i4.0 + IL_0185: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_018a: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_018f: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0194: pop + IL_0195: ret + } // end of method ExpressionTrees::MembersBuiltin + + .method public hidebysig instance void + MembersDefault() cil managed + { + // Code size 589 (0x24d) + .maxstack 7 + .locals init (valuetype [mscorlib]System.DateTime V_0, + class [System.Core]System.Linq.Expressions.Expression[] V_1) + IL_0000: nop + IL_0001: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0006: ldloca.s V_0 + IL_0008: initobj [mscorlib]System.DateTime + IL_000e: ldloc.0 + IL_000f: box [mscorlib]System.DateTime + IL_0014: ldtoken [mscorlib]System.DateTime + IL_0019: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_001e: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0023: ldtoken method instance int64 [mscorlib]System.DateTime::get_Ticks() + IL_0028: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_002d: castclass [mscorlib]System.Reflection.MethodInfo + IL_0032: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Property(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo) + IL_0037: ldc.i4.0 + IL_0038: conv.i8 + IL_0039: box [mscorlib]System.Int64 + IL_003e: ldtoken [mscorlib]System.Int64 + IL_0043: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0048: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_004d: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Equal(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0052: ldc.i4.0 + IL_0053: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0058: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_005d: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0062: pop + IL_0063: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0068: ldnull + IL_0069: box [mscorlib]System.Array + IL_006e: ldtoken [mscorlib]System.Array + IL_0073: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0078: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_007d: ldtoken method instance int32 [mscorlib]System.Array::get_Length() + IL_0082: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0087: castclass [mscorlib]System.Reflection.MethodInfo + IL_008c: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Property(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo) + IL_0091: ldc.i4.0 + IL_0092: box [mscorlib]System.Int32 + IL_0097: ldtoken [mscorlib]System.Int32 + IL_009c: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00a1: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_00a6: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Equal(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_00ab: ldc.i4.0 + IL_00ac: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_00b1: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_00b6: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_00bb: pop + IL_00bc: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_00c1: ldnull + IL_00c2: box [mscorlib]System.Type + IL_00c7: ldtoken [mscorlib]System.Type + IL_00cc: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00d1: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_00d6: ldtoken method instance bool [mscorlib]System.Type::get_IsLayoutSequential() + IL_00db: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_00e0: castclass [mscorlib]System.Reflection.MethodInfo + IL_00e5: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Property(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo) + IL_00ea: ldc.i4.0 + IL_00eb: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_00f0: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_00f5: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_00fa: pop + IL_00fb: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0100: ldnull + IL_0101: box class [mscorlib]System.Collections.Generic.List`1 + IL_0106: ldtoken class [mscorlib]System.Collections.Generic.List`1 + IL_010b: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0110: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0115: ldtoken method instance int32 class [mscorlib]System.Collections.Generic.List`1::get_Count() + IL_011a: ldtoken class [mscorlib]System.Collections.Generic.List`1 + IL_011f: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle, + valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0124: castclass [mscorlib]System.Reflection.MethodInfo + IL_0129: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Property(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo) + IL_012e: ldc.i4.0 + IL_012f: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0134: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0139: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_013e: pop + IL_013f: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0144: ldnull + IL_0145: box [mscorlib]System.Array + IL_014a: ldtoken [mscorlib]System.Array + IL_014f: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0154: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0159: ldtoken method instance object [mscorlib]System.Array::Clone() + IL_015e: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0163: castclass [mscorlib]System.Reflection.MethodInfo + IL_0168: ldc.i4.0 + IL_0169: newarr [System.Core]System.Linq.Expressions.Expression + IL_016e: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_0173: ldnull + IL_0174: box [mscorlib]System.Object + IL_0179: ldtoken [mscorlib]System.Object + IL_017e: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0183: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0188: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Equal(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_018d: ldc.i4.0 + IL_018e: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0193: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0198: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_019d: pop + IL_019e: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_01a3: ldnull + IL_01a4: box [mscorlib]System.Type + IL_01a9: ldtoken [mscorlib]System.Type + IL_01ae: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_01b3: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_01b8: ldtoken method instance bool [mscorlib]System.Type::IsInstanceOfType(object) + IL_01bd: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_01c2: castclass [mscorlib]System.Reflection.MethodInfo + IL_01c7: ldc.i4.1 + IL_01c8: newarr [System.Core]System.Linq.Expressions.Expression + IL_01cd: stloc.1 + IL_01ce: ldloc.1 + IL_01cf: ldc.i4.0 + IL_01d0: ldtoken method instance void [mscorlib]System.Object::.ctor() + IL_01d5: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_01da: castclass [mscorlib]System.Reflection.ConstructorInfo + IL_01df: ldc.i4.0 + IL_01e0: newarr [System.Core]System.Linq.Expressions.Expression + IL_01e5: call class [System.Core]System.Linq.Expressions.NewExpression [System.Core]System.Linq.Expressions.Expression::New(class [mscorlib]System.Reflection.ConstructorInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_01ea: stelem.ref + IL_01eb: ldloc.1 + IL_01ec: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_01f1: ldc.i4.0 + IL_01f2: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_01f7: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_01fc: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0201: pop + IL_0202: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0207: ldnull + IL_0208: box class [mscorlib]System.Collections.Generic.List`1 + IL_020d: ldtoken class [mscorlib]System.Collections.Generic.List`1 + IL_0212: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0217: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_021c: ldtoken method instance class [mscorlib]System.Collections.ObjectModel.ReadOnlyCollection`1 class [mscorlib]System.Collections.Generic.List`1::AsReadOnly() + IL_0221: ldtoken class [mscorlib]System.Collections.Generic.List`1 + IL_0226: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle, + valuetype [mscorlib]System.RuntimeTypeHandle) + IL_022b: castclass [mscorlib]System.Reflection.MethodInfo + IL_0230: ldc.i4.0 + IL_0231: newarr [System.Core]System.Linq.Expressions.Expression + IL_0236: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_023b: ldc.i4.0 + IL_023c: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0241: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0246: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode>(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_024b: pop + IL_024c: ret + } // end of method ExpressionTrees::MembersDefault + + .method public hidebysig instance void + DoAssert() cil managed + { + // Code size 399 (0x18f) + .maxstack 8 + .locals init (class [System.Core]System.Linq.Expressions.Expression[] V_0) + IL_0000: nop + IL_0001: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0006: ldarg.0 + IL_0007: box ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees + IL_000c: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees + IL_0011: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0016: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_001b: ldtoken field int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'field' + IL_0020: call class [mscorlib]System.Reflection.FieldInfo [mscorlib]System.Reflection.FieldInfo::GetFieldFromHandle(valuetype [mscorlib]System.RuntimeFieldHandle) + IL_0025: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Field(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.FieldInfo) + IL_002a: ldarg.0 + IL_002b: box ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees + IL_0030: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees + IL_0035: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_003a: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_003f: ldtoken method instance int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::C() + IL_0044: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0049: castclass [mscorlib]System.Reflection.MethodInfo + IL_004e: ldc.i4.0 + IL_004f: newarr [System.Core]System.Linq.Expressions.Expression + IL_0054: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_0059: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::NotEqual(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_005e: ldc.i4.0 + IL_005f: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0064: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0069: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_006e: pop + IL_006f: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0074: ldnull + IL_0075: ldtoken method bool [mscorlib]System.Object::ReferenceEquals(object, + object) + IL_007a: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_007f: castclass [mscorlib]System.Reflection.MethodInfo + IL_0084: ldc.i4.2 + IL_0085: newarr [System.Core]System.Linq.Expressions.Expression + IL_008a: stloc.0 + IL_008b: ldloc.0 + IL_008c: ldc.i4.0 + IL_008d: ldarg.0 + IL_008e: box ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees + IL_0093: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees + IL_0098: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_009d: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_00a2: stelem.ref + IL_00a3: ldloc.0 + IL_00a4: ldc.i4.1 + IL_00a5: ldtoken method instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::.ctor() + IL_00aa: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_00af: castclass [mscorlib]System.Reflection.ConstructorInfo + IL_00b4: ldc.i4.0 + IL_00b5: newarr [System.Core]System.Linq.Expressions.Expression + IL_00ba: call class [System.Core]System.Linq.Expressions.NewExpression [System.Core]System.Linq.Expressions.Expression::New(class [mscorlib]System.Reflection.ConstructorInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_00bf: stelem.ref + IL_00c0: ldloc.0 + IL_00c1: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_00c6: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Not(class [System.Core]System.Linq.Expressions.Expression) + IL_00cb: ldc.i4.0 + IL_00cc: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_00d1: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_00d6: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_00db: pop + IL_00dc: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_00e1: ldarg.0 + IL_00e2: box ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees + IL_00e7: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees + IL_00ec: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00f1: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_00f6: ldtoken method instance bool ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::MyEquals(class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees) + IL_00fb: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0100: castclass [mscorlib]System.Reflection.MethodInfo + IL_0105: ldc.i4.1 + IL_0106: newarr [System.Core]System.Linq.Expressions.Expression + IL_010b: stloc.0 + IL_010c: ldloc.0 + IL_010d: ldc.i4.0 + IL_010e: ldarg.0 + IL_010f: box ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees + IL_0114: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees + IL_0119: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_011e: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0123: stelem.ref + IL_0124: ldloc.0 + IL_0125: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_012a: ldarg.0 + IL_012b: box ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees + IL_0130: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees + IL_0135: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_013a: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_013f: ldtoken method instance bool ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::MyEquals(class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees) + IL_0144: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0149: castclass [mscorlib]System.Reflection.MethodInfo + IL_014e: ldc.i4.1 + IL_014f: newarr [System.Core]System.Linq.Expressions.Expression + IL_0154: stloc.0 + IL_0155: ldloc.0 + IL_0156: ldc.i4.0 + IL_0157: ldnull + IL_0158: box ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees + IL_015d: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees + IL_0162: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0167: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_016c: stelem.ref + IL_016d: ldloc.0 + IL_016e: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_0173: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Not(class [System.Core]System.Linq.Expressions.Expression) + IL_0178: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::AndAlso(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_017d: ldc.i4.0 + IL_017e: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0183: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0188: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_018d: pop + IL_018e: ret + } // end of method ExpressionTrees::DoAssert + + .method private hidebysig instance int32 + C() cil managed + { + // Code size 7 (0x7) + .maxstack 8 + IL_0000: nop + IL_0001: newobj instance void [mscorlib]System.NotImplementedException::.ctor() + IL_0006: throw + } // end of method ExpressionTrees::C + + .method private hidebysig instance bool + MyEquals(class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees other) cil managed + { + // Code size 7 (0x7) + .maxstack 8 + IL_0000: nop + IL_0001: newobj instance void [mscorlib]System.NotImplementedException::.ctor() + IL_0006: throw + } // end of method ExpressionTrees::MyEquals + + .method public hidebysig instance void + MethodGroupAsExtensionMethod() cil managed + { + // Code size 288 (0x120) + .maxstack 10 + .locals init (class [System.Core]System.Linq.Expressions.Expression[] V_0, + class [System.Core]System.Linq.Expressions.Expression[] V_1) + IL_0000: nop + IL_0001: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0006: ldtoken method bool [System.Core]System.Linq.Enumerable::Any(class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_000b: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0010: castclass [mscorlib]System.Reflection.MethodInfo + IL_0015: box [mscorlib]System.Reflection.MethodInfo + IL_001a: ldtoken [mscorlib]System.Reflection.MethodInfo + IL_001f: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0024: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0029: ldtoken method instance class [mscorlib]System.Delegate [mscorlib]System.Reflection.MethodInfo::CreateDelegate(class [mscorlib]System.Type, + object) + IL_002e: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0033: castclass [mscorlib]System.Reflection.MethodInfo + IL_0038: ldc.i4.2 + IL_0039: newarr [System.Core]System.Linq.Expressions.Expression + IL_003e: stloc.0 + IL_003f: ldloc.0 + IL_0040: ldc.i4.0 + IL_0041: ldtoken class [mscorlib]System.Func`1 + IL_0046: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_004b: box [mscorlib]System.Type + IL_0050: ldtoken [mscorlib]System.Type + IL_0055: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_005a: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_005f: stelem.ref + IL_0060: ldloc.0 + IL_0061: ldc.i4.1 + IL_0062: ldtoken [mscorlib]System.Int32 + IL_0067: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_006c: ldc.i4.4 + IL_006d: newarr [System.Core]System.Linq.Expressions.Expression + IL_0072: stloc.1 + IL_0073: ldloc.1 + IL_0074: ldc.i4.0 + IL_0075: ldc.i4 0x7d0 + IL_007a: box [mscorlib]System.Int32 + IL_007f: ldtoken [mscorlib]System.Int32 + IL_0084: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0089: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_008e: stelem.ref + IL_008f: ldloc.1 + IL_0090: ldc.i4.1 + IL_0091: ldc.i4 0x7d4 + IL_0096: box [mscorlib]System.Int32 + IL_009b: ldtoken [mscorlib]System.Int32 + IL_00a0: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00a5: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_00aa: stelem.ref + IL_00ab: ldloc.1 + IL_00ac: ldc.i4.2 + IL_00ad: ldc.i4 0x7d8 + IL_00b2: box [mscorlib]System.Int32 + IL_00b7: ldtoken [mscorlib]System.Int32 + IL_00bc: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00c1: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_00c6: stelem.ref + IL_00c7: ldloc.1 + IL_00c8: ldc.i4.3 + IL_00c9: ldc.i4 0x7dc + IL_00ce: box [mscorlib]System.Int32 + IL_00d3: ldtoken [mscorlib]System.Int32 + IL_00d8: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00dd: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_00e2: stelem.ref + IL_00e3: ldloc.1 + IL_00e4: call class [System.Core]System.Linq.Expressions.NewArrayExpression [System.Core]System.Linq.Expressions.Expression::NewArrayInit(class [mscorlib]System.Type, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_00e9: ldtoken class [mscorlib]System.Collections.Generic.IEnumerable`1 + IL_00ee: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00f3: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_00f8: stelem.ref + IL_00f9: ldloc.0 + IL_00fa: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_00ff: ldtoken class [mscorlib]System.Func`1 + IL_0104: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0109: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_010e: ldc.i4.0 + IL_010f: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0114: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0119: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode>(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_011e: pop + IL_011f: ret + } // end of method ExpressionTrees::MethodGroupAsExtensionMethod + + .method public hidebysig instance void + MethodGroupConstant() cil managed + { + // Code size 900 (0x384) + .maxstack 11 + .locals init (class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass10' V_0, + class [System.Core]System.Linq.Expressions.Expression[] V_1, + class [System.Core]System.Linq.Expressions.Expression[] V_2) + IL_0000: newobj instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass10'::.ctor() + IL_0005: stloc.0 + IL_0006: nop + IL_0007: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_000c: ldnull + IL_000d: ldtoken method bool [mscorlib]System.Array::TrueForAll(!!0[], + class [mscorlib]System.Predicate`1) + IL_0012: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0017: castclass [mscorlib]System.Reflection.MethodInfo + IL_001c: ldc.i4.2 + IL_001d: newarr [System.Core]System.Linq.Expressions.Expression + IL_0022: stloc.1 + IL_0023: ldloc.1 + IL_0024: ldc.i4.0 + IL_0025: ldtoken [mscorlib]System.Int32 + IL_002a: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_002f: ldc.i4.4 + IL_0030: newarr [System.Core]System.Linq.Expressions.Expression + IL_0035: stloc.2 + IL_0036: ldloc.2 + IL_0037: ldc.i4.0 + IL_0038: ldc.i4 0x7d0 + IL_003d: box [mscorlib]System.Int32 + IL_0042: ldtoken [mscorlib]System.Int32 + IL_0047: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_004c: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0051: stelem.ref + IL_0052: ldloc.2 + IL_0053: ldc.i4.1 + IL_0054: ldc.i4 0x7d4 + IL_0059: box [mscorlib]System.Int32 + IL_005e: ldtoken [mscorlib]System.Int32 + IL_0063: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0068: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_006d: stelem.ref + IL_006e: ldloc.2 + IL_006f: ldc.i4.2 + IL_0070: ldc.i4 0x7d8 + IL_0075: box [mscorlib]System.Int32 + IL_007a: ldtoken [mscorlib]System.Int32 + IL_007f: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0084: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0089: stelem.ref + IL_008a: ldloc.2 + IL_008b: ldc.i4.3 + IL_008c: ldc.i4 0x7dc + IL_0091: box [mscorlib]System.Int32 + IL_0096: ldtoken [mscorlib]System.Int32 + IL_009b: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00a0: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_00a5: stelem.ref + IL_00a6: ldloc.2 + IL_00a7: call class [System.Core]System.Linq.Expressions.NewArrayExpression [System.Core]System.Linq.Expressions.Expression::NewArrayInit(class [mscorlib]System.Type, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_00ac: stelem.ref + IL_00ad: ldloc.1 + IL_00ae: ldc.i4.1 + IL_00af: ldtoken method bool [mscorlib]System.DateTime::IsLeapYear(int32) + IL_00b4: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_00b9: castclass [mscorlib]System.Reflection.MethodInfo + IL_00be: box [mscorlib]System.Reflection.MethodInfo + IL_00c3: ldtoken [mscorlib]System.Reflection.MethodInfo + IL_00c8: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00cd: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_00d2: ldtoken method instance class [mscorlib]System.Delegate [mscorlib]System.Reflection.MethodInfo::CreateDelegate(class [mscorlib]System.Type, + object) + IL_00d7: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_00dc: castclass [mscorlib]System.Reflection.MethodInfo + IL_00e1: ldc.i4.2 + IL_00e2: newarr [System.Core]System.Linq.Expressions.Expression + IL_00e7: stloc.2 + IL_00e8: ldloc.2 + IL_00e9: ldc.i4.0 + IL_00ea: ldtoken class [mscorlib]System.Predicate`1 + IL_00ef: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00f4: box [mscorlib]System.Type + IL_00f9: ldtoken [mscorlib]System.Type + IL_00fe: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0103: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0108: stelem.ref + IL_0109: ldloc.2 + IL_010a: ldc.i4.1 + IL_010b: ldnull + IL_010c: ldtoken [mscorlib]System.Object + IL_0111: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0116: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_011b: stelem.ref + IL_011c: ldloc.2 + IL_011d: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_0122: ldtoken class [mscorlib]System.Predicate`1 + IL_0127: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_012c: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_0131: stelem.ref + IL_0132: ldloc.1 + IL_0133: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_0138: ldc.i4.0 + IL_0139: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_013e: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0143: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0148: pop + IL_0149: ldloc.0 + IL_014a: newobj instance void class [System.Core]System.Collections.Generic.HashSet`1::.ctor() + IL_014f: stfld class [System.Core]System.Collections.Generic.HashSet`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass10'::set + IL_0154: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0159: ldnull + IL_015a: ldtoken method bool [System.Core]System.Linq.Enumerable::All(class [mscorlib]System.Collections.Generic.IEnumerable`1, + class [mscorlib]System.Func`2) + IL_015f: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0164: castclass [mscorlib]System.Reflection.MethodInfo + IL_0169: ldc.i4.2 + IL_016a: newarr [System.Core]System.Linq.Expressions.Expression + IL_016f: stloc.1 + IL_0170: ldloc.1 + IL_0171: ldc.i4.0 + IL_0172: ldtoken [mscorlib]System.Int32 + IL_0177: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_017c: ldc.i4.4 + IL_017d: newarr [System.Core]System.Linq.Expressions.Expression + IL_0182: stloc.2 + IL_0183: ldloc.2 + IL_0184: ldc.i4.0 + IL_0185: ldc.i4 0x7d0 + IL_018a: box [mscorlib]System.Int32 + IL_018f: ldtoken [mscorlib]System.Int32 + IL_0194: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0199: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_019e: stelem.ref + IL_019f: ldloc.2 + IL_01a0: ldc.i4.1 + IL_01a1: ldc.i4 0x7d4 + IL_01a6: box [mscorlib]System.Int32 + IL_01ab: ldtoken [mscorlib]System.Int32 + IL_01b0: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_01b5: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_01ba: stelem.ref + IL_01bb: ldloc.2 + IL_01bc: ldc.i4.2 + IL_01bd: ldc.i4 0x7d8 + IL_01c2: box [mscorlib]System.Int32 + IL_01c7: ldtoken [mscorlib]System.Int32 + IL_01cc: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_01d1: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_01d6: stelem.ref + IL_01d7: ldloc.2 + IL_01d8: ldc.i4.3 + IL_01d9: ldc.i4 0x7dc + IL_01de: box [mscorlib]System.Int32 + IL_01e3: ldtoken [mscorlib]System.Int32 + IL_01e8: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_01ed: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_01f2: stelem.ref + IL_01f3: ldloc.2 + IL_01f4: call class [System.Core]System.Linq.Expressions.NewArrayExpression [System.Core]System.Linq.Expressions.Expression::NewArrayInit(class [mscorlib]System.Type, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_01f9: stelem.ref + IL_01fa: ldloc.1 + IL_01fb: ldc.i4.1 + IL_01fc: ldtoken method instance bool class [System.Core]System.Collections.Generic.HashSet`1::Add(!0) + IL_0201: ldtoken class [System.Core]System.Collections.Generic.HashSet`1 + IL_0206: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle, + valuetype [mscorlib]System.RuntimeTypeHandle) + IL_020b: castclass [mscorlib]System.Reflection.MethodInfo + IL_0210: box [mscorlib]System.Reflection.MethodInfo + IL_0215: ldtoken [mscorlib]System.Reflection.MethodInfo + IL_021a: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_021f: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0224: ldtoken method instance class [mscorlib]System.Delegate [mscorlib]System.Reflection.MethodInfo::CreateDelegate(class [mscorlib]System.Type, + object) + IL_0229: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_022e: castclass [mscorlib]System.Reflection.MethodInfo + IL_0233: ldc.i4.2 + IL_0234: newarr [System.Core]System.Linq.Expressions.Expression + IL_0239: stloc.2 + IL_023a: ldloc.2 + IL_023b: ldc.i4.0 + IL_023c: ldtoken class [mscorlib]System.Func`2 + IL_0241: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0246: box [mscorlib]System.Type + IL_024b: ldtoken [mscorlib]System.Type + IL_0250: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0255: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_025a: stelem.ref + IL_025b: ldloc.2 + IL_025c: ldc.i4.1 + IL_025d: ldloc.0 + IL_025e: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object) + IL_0263: ldtoken field class [System.Core]System.Collections.Generic.HashSet`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass10'::set + IL_0268: call class [mscorlib]System.Reflection.FieldInfo [mscorlib]System.Reflection.FieldInfo::GetFieldFromHandle(valuetype [mscorlib]System.RuntimeFieldHandle) + IL_026d: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Field(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.FieldInfo) + IL_0272: stelem.ref + IL_0273: ldloc.2 + IL_0274: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_0279: ldtoken class [mscorlib]System.Func`2 + IL_027e: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0283: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_0288: stelem.ref + IL_0289: ldloc.1 + IL_028a: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_028f: ldc.i4.0 + IL_0290: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0295: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_029a: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_029f: pop + IL_02a0: ldloc.0 + IL_02a1: ldsfld class [mscorlib]System.Func`2,bool> ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegatef' + IL_02a6: brtrue.s IL_02bb + + IL_02a8: ldnull + IL_02a9: ldftn bool ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'b__e'(class [mscorlib]System.Func`3) + IL_02af: newobj instance void class [mscorlib]System.Func`2,bool>::.ctor(object, + native int) + IL_02b4: stsfld class [mscorlib]System.Func`2,bool> ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegatef' + IL_02b9: br.s IL_02bb + + IL_02bb: ldsfld class [mscorlib]System.Func`2,bool> ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegatef' + IL_02c0: stfld class [mscorlib]System.Func`2,bool> ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass10'::sink + IL_02c5: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_02ca: ldloc.0 + IL_02cb: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object) + IL_02d0: ldtoken field class [mscorlib]System.Func`2,bool> ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass10'::sink + IL_02d5: call class [mscorlib]System.Reflection.FieldInfo [mscorlib]System.Reflection.FieldInfo::GetFieldFromHandle(valuetype [mscorlib]System.RuntimeFieldHandle) + IL_02da: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Field(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.FieldInfo) + IL_02df: ldc.i4.1 + IL_02e0: newarr [System.Core]System.Linq.Expressions.Expression + IL_02e5: stloc.1 + IL_02e6: ldloc.1 + IL_02e7: ldc.i4.0 + IL_02e8: ldtoken method bool [mscorlib]System.Object::Equals(object, + object) + IL_02ed: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_02f2: castclass [mscorlib]System.Reflection.MethodInfo + IL_02f7: box [mscorlib]System.Reflection.MethodInfo + IL_02fc: ldtoken [mscorlib]System.Reflection.MethodInfo + IL_0301: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0306: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_030b: ldtoken method instance class [mscorlib]System.Delegate [mscorlib]System.Reflection.MethodInfo::CreateDelegate(class [mscorlib]System.Type, + object) + IL_0310: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0315: castclass [mscorlib]System.Reflection.MethodInfo + IL_031a: ldc.i4.2 + IL_031b: newarr [System.Core]System.Linq.Expressions.Expression + IL_0320: stloc.2 + IL_0321: ldloc.2 + IL_0322: ldc.i4.0 + IL_0323: ldtoken class [mscorlib]System.Func`3 + IL_0328: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_032d: box [mscorlib]System.Type + IL_0332: ldtoken [mscorlib]System.Type + IL_0337: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_033c: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0341: stelem.ref + IL_0342: ldloc.2 + IL_0343: ldc.i4.1 + IL_0344: ldnull + IL_0345: ldtoken [mscorlib]System.Object + IL_034a: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_034f: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0354: stelem.ref + IL_0355: ldloc.2 + IL_0356: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_035b: ldtoken class [mscorlib]System.Func`3 + IL_0360: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0365: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_036a: stelem.ref + IL_036b: ldloc.1 + IL_036c: call class [System.Core]System.Linq.Expressions.InvocationExpression [System.Core]System.Linq.Expressions.Expression::Invoke(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_0371: ldc.i4.0 + IL_0372: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0377: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_037c: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0381: pop + IL_0382: nop + IL_0383: ret + } // end of method ExpressionTrees::MethodGroupConstant + + .method public hidebysig instance void + MultipleCasts() cil managed + { + // Code size 101 (0x65) + .maxstack 4 + IL_0000: nop + IL_0001: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0006: ldc.i4.1 + IL_0007: box [mscorlib]System.Int32 + IL_000c: ldtoken [mscorlib]System.Int32 + IL_0011: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0016: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_001b: ldc.i4.1 + IL_001c: box [mscorlib]System.Int32 + IL_0021: ldtoken [mscorlib]System.Int32 + IL_0026: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_002b: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0030: ldtoken [mscorlib]System.Object + IL_0035: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_003a: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_003f: ldtoken [mscorlib]System.Int32 + IL_0044: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0049: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_004e: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Equal(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0053: ldc.i4.0 + IL_0054: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0059: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_005e: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0063: pop + IL_0064: ret + } // end of method ExpressionTrees::MultipleCasts + + .method public hidebysig instance void + MultipleDots() cil managed + { + // Code size 143 (0x8f) + .maxstack 4 + IL_0000: nop + IL_0001: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0006: ldc.i4.3 + IL_0007: box [mscorlib]System.Int32 + IL_000c: ldtoken [mscorlib]System.Int32 + IL_0011: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0016: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_001b: ldtoken method instance string [mscorlib]System.Int32::ToString() + IL_0020: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0025: castclass [mscorlib]System.Reflection.MethodInfo + IL_002a: ldc.i4.0 + IL_002b: newarr [System.Core]System.Linq.Expressions.Expression + IL_0030: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_0035: ldtoken method instance string [mscorlib]System.Object::ToString() + IL_003a: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_003f: castclass [mscorlib]System.Reflection.MethodInfo + IL_0044: ldc.i4.0 + IL_0045: newarr [System.Core]System.Linq.Expressions.Expression + IL_004a: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_004f: ldtoken method instance int32 [mscorlib]System.String::get_Length() + IL_0054: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0059: castclass [mscorlib]System.Reflection.MethodInfo + IL_005e: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Property(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo) + IL_0063: ldc.i4.0 + IL_0064: box [mscorlib]System.Int32 + IL_0069: ldtoken [mscorlib]System.Int32 + IL_006e: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0073: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0078: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::GreaterThan(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_007d: ldc.i4.0 + IL_007e: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0083: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0088: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_008d: pop + IL_008e: ret + } // end of method ExpressionTrees::MultipleDots + + .method public hidebysig instance void + NestedLambda() cil managed + { + // Code size 562 (0x232) + .maxstack 10 + .locals init (class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass14' V_0, + class [System.Core]System.Linq.Expressions.Expression[] V_1, + class [System.Core]System.Linq.Expressions.Expression[] V_2, + class [System.Core]System.Linq.Expressions.ParameterExpression V_3, + class [System.Core]System.Linq.Expressions.ParameterExpression[] V_4, + class [System.Core]System.Linq.Expressions.ParameterExpression V_5) + IL_0000: newobj instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass14'::.ctor() + IL_0005: stloc.0 + IL_0006: nop + IL_0007: ldloc.0 + IL_0008: ldsfld class [mscorlib]System.Func`2,int32> ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate13' + IL_000d: brtrue.s IL_0022 + + IL_000f: ldnull + IL_0010: ldftn int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'b__12'(class [mscorlib]System.Func`1) + IL_0016: newobj instance void class [mscorlib]System.Func`2,int32>::.ctor(object, + native int) + IL_001b: stsfld class [mscorlib]System.Func`2,int32> ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate13' + IL_0020: br.s IL_0022 + + IL_0022: ldsfld class [mscorlib]System.Func`2,int32> ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate13' + IL_0027: stfld class [mscorlib]System.Func`2,int32> ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass14'::'call' + IL_002c: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0031: ldloc.0 + IL_0032: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object) + IL_0037: ldtoken field class [mscorlib]System.Func`2,int32> ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass14'::'call' + IL_003c: call class [mscorlib]System.Reflection.FieldInfo [mscorlib]System.Reflection.FieldInfo::GetFieldFromHandle(valuetype [mscorlib]System.RuntimeFieldHandle) + IL_0041: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Field(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.FieldInfo) + IL_0046: ldc.i4.1 + IL_0047: newarr [System.Core]System.Linq.Expressions.Expression + IL_004c: stloc.1 + IL_004d: ldloc.1 + IL_004e: ldc.i4.0 + IL_004f: ldc.i4.s 42 + IL_0051: box [mscorlib]System.Int32 + IL_0056: ldtoken [mscorlib]System.Int32 + IL_005b: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0060: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0065: ldc.i4.0 + IL_0066: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_006b: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0070: stelem.ref + IL_0071: ldloc.1 + IL_0072: call class [System.Core]System.Linq.Expressions.InvocationExpression [System.Core]System.Linq.Expressions.Expression::Invoke(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_0077: ldc.i4.0 + IL_0078: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_007d: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0082: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0087: pop + IL_0088: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_008d: ldnull + IL_008e: ldtoken method class [mscorlib]System.Collections.Generic.IEnumerable`1 [System.Core]System.Linq.Enumerable::Select(class [mscorlib]System.Collections.Generic.IEnumerable`1, + class [mscorlib]System.Func`2) + IL_0093: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0098: castclass [mscorlib]System.Reflection.MethodInfo + IL_009d: ldc.i4.2 + IL_009e: newarr [System.Core]System.Linq.Expressions.Expression + IL_00a3: stloc.1 + IL_00a4: ldloc.1 + IL_00a5: ldc.i4.0 + IL_00a6: ldtoken [mscorlib]System.Int32 + IL_00ab: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00b0: ldc.i4.2 + IL_00b1: newarr [System.Core]System.Linq.Expressions.Expression + IL_00b6: stloc.2 + IL_00b7: ldloc.2 + IL_00b8: ldc.i4.0 + IL_00b9: ldc.i4.s 37 + IL_00bb: box [mscorlib]System.Int32 + IL_00c0: ldtoken [mscorlib]System.Int32 + IL_00c5: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00ca: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_00cf: stelem.ref + IL_00d0: ldloc.2 + IL_00d1: ldc.i4.1 + IL_00d2: ldc.i4.s 42 + IL_00d4: box [mscorlib]System.Int32 + IL_00d9: ldtoken [mscorlib]System.Int32 + IL_00de: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00e3: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_00e8: stelem.ref + IL_00e9: ldloc.2 + IL_00ea: call class [System.Core]System.Linq.Expressions.NewArrayExpression [System.Core]System.Linq.Expressions.Expression::NewArrayInit(class [mscorlib]System.Type, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_00ef: stelem.ref + IL_00f0: ldloc.1 + IL_00f1: ldc.i4.1 + IL_00f2: ldtoken [mscorlib]System.Int32 + IL_00f7: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00fc: ldstr "x" + IL_0101: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0106: stloc.3 + IL_0107: ldloc.3 + IL_0108: ldc.i4.2 + IL_0109: box [mscorlib]System.Int32 + IL_010e: ldtoken [mscorlib]System.Int32 + IL_0113: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0118: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_011d: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Multiply(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0122: ldc.i4.1 + IL_0123: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0128: stloc.s V_4 + IL_012a: ldloc.s V_4 + IL_012c: ldc.i4.0 + IL_012d: ldloc.3 + IL_012e: stelem.ref + IL_012f: ldloc.s V_4 + IL_0131: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0136: stelem.ref + IL_0137: ldloc.1 + IL_0138: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_013d: ldc.i4.0 + IL_013e: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0143: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0148: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode>(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_014d: pop + IL_014e: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0153: ldnull + IL_0154: ldtoken method class [mscorlib]System.Collections.Generic.IEnumerable`1 [System.Core]System.Linq.Enumerable::Select(class [mscorlib]System.Collections.Generic.IEnumerable`1, + class [mscorlib]System.Func`3) + IL_0159: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_015e: castclass [mscorlib]System.Reflection.MethodInfo + IL_0163: ldc.i4.2 + IL_0164: newarr [System.Core]System.Linq.Expressions.Expression + IL_0169: stloc.1 + IL_016a: ldloc.1 + IL_016b: ldc.i4.0 + IL_016c: ldtoken [mscorlib]System.Int32 + IL_0171: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0176: ldc.i4.2 + IL_0177: newarr [System.Core]System.Linq.Expressions.Expression + IL_017c: stloc.2 + IL_017d: ldloc.2 + IL_017e: ldc.i4.0 + IL_017f: ldc.i4.s 37 + IL_0181: box [mscorlib]System.Int32 + IL_0186: ldtoken [mscorlib]System.Int32 + IL_018b: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0190: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0195: stelem.ref + IL_0196: ldloc.2 + IL_0197: ldc.i4.1 + IL_0198: ldc.i4.s 42 + IL_019a: box [mscorlib]System.Int32 + IL_019f: ldtoken [mscorlib]System.Int32 + IL_01a4: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_01a9: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_01ae: stelem.ref + IL_01af: ldloc.2 + IL_01b0: call class [System.Core]System.Linq.Expressions.NewArrayExpression [System.Core]System.Linq.Expressions.Expression::NewArrayInit(class [mscorlib]System.Type, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_01b5: stelem.ref + IL_01b6: ldloc.1 + IL_01b7: ldc.i4.1 + IL_01b8: ldtoken [mscorlib]System.Int32 + IL_01bd: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_01c2: ldstr "x" + IL_01c7: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_01cc: stloc.3 + IL_01cd: ldtoken [mscorlib]System.Int32 + IL_01d2: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_01d7: ldstr "i" + IL_01dc: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_01e1: stloc.s V_5 + IL_01e3: ldloc.3 + IL_01e4: ldc.i4.2 + IL_01e5: box [mscorlib]System.Int32 + IL_01ea: ldtoken [mscorlib]System.Int32 + IL_01ef: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_01f4: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_01f9: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Multiply(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_01fe: ldc.i4.2 + IL_01ff: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0204: stloc.s V_4 + IL_0206: ldloc.s V_4 + IL_0208: ldc.i4.0 + IL_0209: ldloc.3 + IL_020a: stelem.ref + IL_020b: ldloc.s V_4 + IL_020d: ldc.i4.1 + IL_020e: ldloc.s V_5 + IL_0210: stelem.ref + IL_0211: ldloc.s V_4 + IL_0213: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0218: stelem.ref + IL_0219: ldloc.1 + IL_021a: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_021f: ldc.i4.0 + IL_0220: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0225: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_022a: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode>(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_022f: pop + IL_0230: nop + IL_0231: ret + } // end of method ExpressionTrees::NestedLambda + + .method public hidebysig instance void + CurriedLambda() cil managed + { + // Code size 140 (0x8c) + .maxstack 5 + .locals init (class [System.Core]System.Linq.Expressions.ParameterExpression V_0, + class [System.Core]System.Linq.Expressions.ParameterExpression V_1, + class [System.Core]System.Linq.Expressions.ParameterExpression V_2, + class [System.Core]System.Linq.Expressions.ParameterExpression[] V_3) + IL_0000: nop + IL_0001: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0006: ldtoken [mscorlib]System.Int32 + IL_000b: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0010: ldstr "a" + IL_0015: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_001a: stloc.0 + IL_001b: ldtoken [mscorlib]System.Int32 + IL_0020: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0025: ldstr "b" + IL_002a: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_002f: stloc.1 + IL_0030: ldtoken [mscorlib]System.Int32 + IL_0035: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_003a: ldstr "c" + IL_003f: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0044: stloc.2 + IL_0045: ldloc.0 + IL_0046: ldloc.1 + IL_0047: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Add(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_004c: ldloc.2 + IL_004d: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Add(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0052: ldc.i4.1 + IL_0053: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0058: stloc.3 + IL_0059: ldloc.3 + IL_005a: ldc.i4.0 + IL_005b: ldloc.2 + IL_005c: stelem.ref + IL_005d: ldloc.3 + IL_005e: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0063: ldc.i4.1 + IL_0064: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0069: stloc.3 + IL_006a: ldloc.3 + IL_006b: ldc.i4.0 + IL_006c: ldloc.1 + IL_006d: stelem.ref + IL_006e: ldloc.3 + IL_006f: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0074: ldc.i4.1 + IL_0075: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_007a: stloc.3 + IL_007b: ldloc.3 + IL_007c: ldc.i4.0 + IL_007d: ldloc.0 + IL_007e: stelem.ref + IL_007f: ldloc.3 + IL_0080: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>>>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0085: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode>>(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_008a: pop + IL_008b: ret + } // end of method ExpressionTrees::CurriedLambda + + .method private hidebysig instance bool + Fizz(class [mscorlib]System.Func`2 a) cil managed + { + // Code size 14 (0xe) + .maxstack 2 + .locals init (bool V_0) + IL_0000: nop + IL_0001: ldarg.1 + IL_0002: ldc.i4.s 42 + IL_0004: callvirt instance !1 class [mscorlib]System.Func`2::Invoke(!0) + IL_0009: stloc.0 + IL_000a: br.s IL_000c + + IL_000c: ldloc.0 + IL_000d: ret + } // end of method ExpressionTrees::Fizz + + .method private hidebysig instance bool + Buzz(class [mscorlib]System.Func`2 a) cil managed + { + // Code size 14 (0xe) + .maxstack 2 + .locals init (bool V_0) + IL_0000: nop + IL_0001: ldarg.1 + IL_0002: ldc.i4.s 42 + IL_0004: callvirt instance !1 class [mscorlib]System.Func`2::Invoke(!0) + IL_0009: stloc.0 + IL_000a: br.s IL_000c + + IL_000c: ldloc.0 + IL_000d: ret + } // end of method ExpressionTrees::Buzz + + .method private hidebysig instance bool + Fizz(class [mscorlib]System.Func`2 a) cil managed + { + // Code size 17 (0x11) + .maxstack 2 + .locals init (bool V_0) + IL_0000: nop + IL_0001: ldarg.1 + IL_0002: ldstr "42" + IL_0007: callvirt instance !1 class [mscorlib]System.Func`2::Invoke(!0) + IL_000c: stloc.0 + IL_000d: br.s IL_000f + + IL_000f: ldloc.0 + IL_0010: ret + } // end of method ExpressionTrees::Fizz + + .method private hidebysig instance bool + Fizz(class [mscorlib]System.Func`2 a) cil managed + { + // Code size 13 (0xd) + .maxstack 2 + .locals init (bool V_0) + IL_0000: nop + IL_0001: ldarg.1 + IL_0002: ldnull + IL_0003: callvirt instance !1 class [mscorlib]System.Func`2::Invoke(!0) + IL_0008: stloc.0 + IL_0009: br.s IL_000b + + IL_000b: ldloc.0 + IL_000c: ret + } // end of method ExpressionTrees::Fizz + + .method public hidebysig instance void + NestedLambda2() cil managed + { + // Code size 1254 (0x4e6) + .maxstack 12 + .locals init (class [System.Core]System.Linq.Expressions.Expression[] V_0, + class [System.Core]System.Linq.Expressions.ParameterExpression V_1, + class [System.Core]System.Linq.Expressions.ParameterExpression[] V_2, + class [System.Core]System.Linq.Expressions.Expression[] V_3) + IL_0000: nop + IL_0001: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0006: ldarg.0 + IL_0007: box ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees + IL_000c: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees + IL_0011: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0016: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_001b: ldtoken method instance bool ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Fizz(class [mscorlib]System.Func`2) + IL_0020: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0025: castclass [mscorlib]System.Reflection.MethodInfo + IL_002a: ldc.i4.1 + IL_002b: newarr [System.Core]System.Linq.Expressions.Expression + IL_0030: stloc.0 + IL_0031: ldloc.0 + IL_0032: ldc.i4.0 + IL_0033: ldtoken [mscorlib]System.String + IL_0038: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_003d: ldstr "x" + IL_0042: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0047: stloc.1 + IL_0048: ldloc.1 + IL_0049: ldstr "a" + IL_004e: ldtoken [mscorlib]System.String + IL_0053: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0058: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_005d: ldc.i4.0 + IL_005e: ldtoken method bool [mscorlib]System.String::op_Equality(string, + string) + IL_0063: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0068: castclass [mscorlib]System.Reflection.MethodInfo + IL_006d: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Equal(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression, + bool, + class [mscorlib]System.Reflection.MethodInfo) + IL_0072: ldc.i4.1 + IL_0073: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0078: stloc.2 + IL_0079: ldloc.2 + IL_007a: ldc.i4.0 + IL_007b: ldloc.1 + IL_007c: stelem.ref + IL_007d: ldloc.2 + IL_007e: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0083: stelem.ref + IL_0084: ldloc.0 + IL_0085: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_008a: ldc.i4.0 + IL_008b: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0090: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0095: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_009a: pop + IL_009b: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_00a0: ldarg.0 + IL_00a1: box ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees + IL_00a6: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees + IL_00ab: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00b0: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_00b5: ldtoken method instance bool ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Fizz(class [mscorlib]System.Func`2) + IL_00ba: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_00bf: castclass [mscorlib]System.Reflection.MethodInfo + IL_00c4: ldc.i4.1 + IL_00c5: newarr [System.Core]System.Linq.Expressions.Expression + IL_00ca: stloc.0 + IL_00cb: ldloc.0 + IL_00cc: ldc.i4.0 + IL_00cd: ldtoken [mscorlib]System.String + IL_00d2: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00d7: ldstr "x" + IL_00dc: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_00e1: stloc.1 + IL_00e2: ldloc.1 + IL_00e3: ldstr "a" + IL_00e8: ldtoken [mscorlib]System.String + IL_00ed: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00f2: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_00f7: ldc.i4.0 + IL_00f8: ldtoken method bool [mscorlib]System.String::op_Inequality(string, + string) + IL_00fd: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0102: castclass [mscorlib]System.Reflection.MethodInfo + IL_0107: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::NotEqual(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression, + bool, + class [mscorlib]System.Reflection.MethodInfo) + IL_010c: ldc.i4.1 + IL_010d: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0112: stloc.2 + IL_0113: ldloc.2 + IL_0114: ldc.i4.0 + IL_0115: ldloc.1 + IL_0116: stelem.ref + IL_0117: ldloc.2 + IL_0118: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_011d: stelem.ref + IL_011e: ldloc.0 + IL_011f: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_0124: ldc.i4.0 + IL_0125: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_012a: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_012f: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0134: pop + IL_0135: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_013a: ldarg.0 + IL_013b: box ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees + IL_0140: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees + IL_0145: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_014a: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_014f: ldtoken method instance bool ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Fizz(class [mscorlib]System.Func`2) + IL_0154: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0159: castclass [mscorlib]System.Reflection.MethodInfo + IL_015e: ldc.i4.1 + IL_015f: newarr [System.Core]System.Linq.Expressions.Expression + IL_0164: stloc.0 + IL_0165: ldloc.0 + IL_0166: ldc.i4.0 + IL_0167: ldtoken [mscorlib]System.Action + IL_016c: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0171: ldstr "x" + IL_0176: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_017b: stloc.1 + IL_017c: ldloc.1 + IL_017d: ldtoken method instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::NestedLambda2() + IL_0182: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0187: castclass [mscorlib]System.Reflection.MethodInfo + IL_018c: box [mscorlib]System.Reflection.MethodInfo + IL_0191: ldtoken [mscorlib]System.Reflection.MethodInfo + IL_0196: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_019b: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_01a0: ldtoken method instance class [mscorlib]System.Delegate [mscorlib]System.Reflection.MethodInfo::CreateDelegate(class [mscorlib]System.Type, + object) + IL_01a5: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_01aa: castclass [mscorlib]System.Reflection.MethodInfo + IL_01af: ldc.i4.2 + IL_01b0: newarr [System.Core]System.Linq.Expressions.Expression + IL_01b5: stloc.3 + IL_01b6: ldloc.3 + IL_01b7: ldc.i4.0 + IL_01b8: ldtoken [mscorlib]System.Action + IL_01bd: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_01c2: box [mscorlib]System.Type + IL_01c7: ldtoken [mscorlib]System.Type + IL_01cc: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_01d1: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_01d6: stelem.ref + IL_01d7: ldloc.3 + IL_01d8: ldc.i4.1 + IL_01d9: ldarg.0 + IL_01da: box ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees + IL_01df: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees + IL_01e4: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_01e9: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_01ee: stelem.ref + IL_01ef: ldloc.3 + IL_01f0: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_01f5: ldtoken [mscorlib]System.Action + IL_01fa: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_01ff: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_0204: ldc.i4.0 + IL_0205: ldtoken method bool [mscorlib]System.Delegate::op_Equality(class [mscorlib]System.Delegate, + class [mscorlib]System.Delegate) + IL_020a: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_020f: castclass [mscorlib]System.Reflection.MethodInfo + IL_0214: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Equal(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression, + bool, + class [mscorlib]System.Reflection.MethodInfo) + IL_0219: ldc.i4.1 + IL_021a: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_021f: stloc.2 + IL_0220: ldloc.2 + IL_0221: ldc.i4.0 + IL_0222: ldloc.1 + IL_0223: stelem.ref + IL_0224: ldloc.2 + IL_0225: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_022a: stelem.ref + IL_022b: ldloc.0 + IL_022c: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_0231: ldc.i4.0 + IL_0232: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0237: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_023c: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0241: pop + IL_0242: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0247: ldarg.0 + IL_0248: box ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees + IL_024d: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees + IL_0252: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0257: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_025c: ldtoken method instance bool ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Fizz(class [mscorlib]System.Func`2) + IL_0261: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0266: castclass [mscorlib]System.Reflection.MethodInfo + IL_026b: ldc.i4.1 + IL_026c: newarr [System.Core]System.Linq.Expressions.Expression + IL_0271: stloc.0 + IL_0272: ldloc.0 + IL_0273: ldc.i4.0 + IL_0274: ldtoken [mscorlib]System.Action + IL_0279: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_027e: ldstr "x" + IL_0283: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0288: stloc.1 + IL_0289: ldloc.1 + IL_028a: ldtoken method instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::NestedLambda2() + IL_028f: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0294: castclass [mscorlib]System.Reflection.MethodInfo + IL_0299: box [mscorlib]System.Reflection.MethodInfo + IL_029e: ldtoken [mscorlib]System.Reflection.MethodInfo + IL_02a3: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_02a8: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_02ad: ldtoken method instance class [mscorlib]System.Delegate [mscorlib]System.Reflection.MethodInfo::CreateDelegate(class [mscorlib]System.Type, + object) + IL_02b2: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_02b7: castclass [mscorlib]System.Reflection.MethodInfo + IL_02bc: ldc.i4.2 + IL_02bd: newarr [System.Core]System.Linq.Expressions.Expression + IL_02c2: stloc.3 + IL_02c3: ldloc.3 + IL_02c4: ldc.i4.0 + IL_02c5: ldtoken [mscorlib]System.Action + IL_02ca: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_02cf: box [mscorlib]System.Type + IL_02d4: ldtoken [mscorlib]System.Type + IL_02d9: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_02de: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_02e3: stelem.ref + IL_02e4: ldloc.3 + IL_02e5: ldc.i4.1 + IL_02e6: ldarg.0 + IL_02e7: box ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees + IL_02ec: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees + IL_02f1: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_02f6: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_02fb: stelem.ref + IL_02fc: ldloc.3 + IL_02fd: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_0302: ldtoken [mscorlib]System.Action + IL_0307: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_030c: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_0311: ldc.i4.0 + IL_0312: ldtoken method bool [mscorlib]System.Delegate::op_Inequality(class [mscorlib]System.Delegate, + class [mscorlib]System.Delegate) + IL_0317: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_031c: castclass [mscorlib]System.Reflection.MethodInfo + IL_0321: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::NotEqual(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression, + bool, + class [mscorlib]System.Reflection.MethodInfo) + IL_0326: ldc.i4.1 + IL_0327: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_032c: stloc.2 + IL_032d: ldloc.2 + IL_032e: ldc.i4.0 + IL_032f: ldloc.1 + IL_0330: stelem.ref + IL_0331: ldloc.2 + IL_0332: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0337: stelem.ref + IL_0338: ldloc.0 + IL_0339: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_033e: ldc.i4.0 + IL_033f: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0344: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0349: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_034e: pop + IL_034f: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0354: ldarg.0 + IL_0355: box ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees + IL_035a: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees + IL_035f: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0364: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0369: ldtoken method instance bool ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Fizz(class [mscorlib]System.Func`2) + IL_036e: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0373: castclass [mscorlib]System.Reflection.MethodInfo + IL_0378: ldc.i4.1 + IL_0379: newarr [System.Core]System.Linq.Expressions.Expression + IL_037e: stloc.0 + IL_037f: ldloc.0 + IL_0380: ldc.i4.0 + IL_0381: ldtoken [mscorlib]System.Int32 + IL_0386: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_038b: ldstr "x" + IL_0390: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0395: stloc.1 + IL_0396: ldloc.1 + IL_0397: ldc.i4.s 37 + IL_0399: box [mscorlib]System.Int32 + IL_039e: ldtoken [mscorlib]System.Int32 + IL_03a3: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_03a8: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_03ad: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Equal(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_03b2: ldc.i4.1 + IL_03b3: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_03b8: stloc.2 + IL_03b9: ldloc.2 + IL_03ba: ldc.i4.0 + IL_03bb: ldloc.1 + IL_03bc: stelem.ref + IL_03bd: ldloc.2 + IL_03be: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_03c3: stelem.ref + IL_03c4: ldloc.0 + IL_03c5: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_03ca: ldc.i4.0 + IL_03cb: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_03d0: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_03d5: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_03da: pop + IL_03db: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_03e0: ldarg.0 + IL_03e1: box ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees + IL_03e6: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees + IL_03eb: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_03f0: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_03f5: ldtoken method instance bool ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Fizz(class [mscorlib]System.Func`2) + IL_03fa: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_03ff: castclass [mscorlib]System.Reflection.MethodInfo + IL_0404: ldc.i4.1 + IL_0405: newarr [System.Core]System.Linq.Expressions.Expression + IL_040a: stloc.0 + IL_040b: ldloc.0 + IL_040c: ldc.i4.0 + IL_040d: ldtoken [mscorlib]System.Int32 + IL_0412: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0417: ldstr "x" + IL_041c: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0421: stloc.1 + IL_0422: ldc.i4.1 + IL_0423: box [mscorlib]System.Boolean + IL_0428: ldtoken [mscorlib]System.Boolean + IL_042d: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0432: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0437: ldc.i4.1 + IL_0438: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_043d: stloc.2 + IL_043e: ldloc.2 + IL_043f: ldc.i4.0 + IL_0440: ldloc.1 + IL_0441: stelem.ref + IL_0442: ldloc.2 + IL_0443: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0448: stelem.ref + IL_0449: ldloc.0 + IL_044a: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_044f: ldc.i4.0 + IL_0450: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0455: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_045a: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_045f: pop + IL_0460: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0465: ldarg.0 + IL_0466: box ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees + IL_046b: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees + IL_0470: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0475: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_047a: ldtoken method instance bool ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Buzz(class [mscorlib]System.Func`2) + IL_047f: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0484: castclass [mscorlib]System.Reflection.MethodInfo + IL_0489: ldc.i4.1 + IL_048a: newarr [System.Core]System.Linq.Expressions.Expression + IL_048f: stloc.0 + IL_0490: ldloc.0 + IL_0491: ldc.i4.0 + IL_0492: ldtoken [mscorlib]System.Int32 + IL_0497: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_049c: ldstr "x" + IL_04a1: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_04a6: stloc.1 + IL_04a7: ldc.i4.1 + IL_04a8: box [mscorlib]System.Boolean + IL_04ad: ldtoken [mscorlib]System.Boolean + IL_04b2: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_04b7: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_04bc: ldc.i4.1 + IL_04bd: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_04c2: stloc.2 + IL_04c3: ldloc.2 + IL_04c4: ldc.i4.0 + IL_04c5: ldloc.1 + IL_04c6: stelem.ref + IL_04c7: ldloc.2 + IL_04c8: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_04cd: stelem.ref + IL_04ce: ldloc.0 + IL_04cf: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_04d4: ldc.i4.0 + IL_04d5: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_04da: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_04df: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_04e4: pop + IL_04e5: ret + } // end of method ExpressionTrees::NestedLambda2 + + .method public hidebysig instance void + NewArrayAndExtensionMethod() cil managed + { + // Code size 297 (0x129) + .maxstack 10 + .locals init (class [System.Core]System.Linq.Expressions.Expression[] V_0, + class [System.Core]System.Linq.Expressions.Expression[] V_1) + IL_0000: nop + IL_0001: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0006: ldnull + IL_0007: ldtoken method bool [System.Core]System.Linq.Enumerable::SequenceEqual(class [mscorlib]System.Collections.Generic.IEnumerable`1, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_000c: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0011: castclass [mscorlib]System.Reflection.MethodInfo + IL_0016: ldc.i4.2 + IL_0017: newarr [System.Core]System.Linq.Expressions.Expression + IL_001c: stloc.0 + IL_001d: ldloc.0 + IL_001e: ldc.i4.0 + IL_001f: ldtoken [mscorlib]System.Double + IL_0024: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0029: ldc.i4.3 + IL_002a: newarr [System.Core]System.Linq.Expressions.Expression + IL_002f: stloc.1 + IL_0030: ldloc.1 + IL_0031: ldc.i4.0 + IL_0032: ldc.r8 1. + IL_003b: box [mscorlib]System.Double + IL_0040: ldtoken [mscorlib]System.Double + IL_0045: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_004a: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_004f: stelem.ref + IL_0050: ldloc.1 + IL_0051: ldc.i4.1 + IL_0052: ldc.r8 2.0099999999999998 + IL_005b: box [mscorlib]System.Double + IL_0060: ldtoken [mscorlib]System.Double + IL_0065: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_006a: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_006f: stelem.ref + IL_0070: ldloc.1 + IL_0071: ldc.i4.2 + IL_0072: ldc.r8 3.5 + IL_007b: box [mscorlib]System.Double + IL_0080: ldtoken [mscorlib]System.Double + IL_0085: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_008a: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_008f: stelem.ref + IL_0090: ldloc.1 + IL_0091: call class [System.Core]System.Linq.Expressions.NewArrayExpression [System.Core]System.Linq.Expressions.Expression::NewArrayInit(class [mscorlib]System.Type, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_0096: stelem.ref + IL_0097: ldloc.0 + IL_0098: ldc.i4.1 + IL_0099: ldtoken [mscorlib]System.Double + IL_009e: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00a3: ldc.i4.3 + IL_00a4: newarr [System.Core]System.Linq.Expressions.Expression + IL_00a9: stloc.1 + IL_00aa: ldloc.1 + IL_00ab: ldc.i4.0 + IL_00ac: ldc.r8 1. + IL_00b5: box [mscorlib]System.Double + IL_00ba: ldtoken [mscorlib]System.Double + IL_00bf: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00c4: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_00c9: stelem.ref + IL_00ca: ldloc.1 + IL_00cb: ldc.i4.1 + IL_00cc: ldc.r8 2.0099999999999998 + IL_00d5: box [mscorlib]System.Double + IL_00da: ldtoken [mscorlib]System.Double + IL_00df: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00e4: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_00e9: stelem.ref + IL_00ea: ldloc.1 + IL_00eb: ldc.i4.2 + IL_00ec: ldc.r8 3.5 + IL_00f5: box [mscorlib]System.Double + IL_00fa: ldtoken [mscorlib]System.Double + IL_00ff: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0104: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0109: stelem.ref + IL_010a: ldloc.1 + IL_010b: call class [System.Core]System.Linq.Expressions.NewArrayExpression [System.Core]System.Linq.Expressions.Expression::NewArrayInit(class [mscorlib]System.Type, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_0110: stelem.ref + IL_0111: ldloc.0 + IL_0112: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_0117: ldc.i4.0 + IL_0118: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_011d: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0122: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0127: pop + IL_0128: ret + } // end of method ExpressionTrees::NewArrayAndExtensionMethod + + .method public hidebysig instance void + NewMultiDimArray() cil managed + { + // Code size 141 (0x8d) + .maxstack 6 + .locals init (class [System.Core]System.Linq.Expressions.Expression[] V_0) + IL_0000: nop + IL_0001: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0006: ldtoken [mscorlib]System.Int32 + IL_000b: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0010: ldc.i4.2 + IL_0011: newarr [System.Core]System.Linq.Expressions.Expression + IL_0016: stloc.0 + IL_0017: ldloc.0 + IL_0018: ldc.i4.0 + IL_0019: ldc.i4.3 + IL_001a: box [mscorlib]System.Int32 + IL_001f: ldtoken [mscorlib]System.Int32 + IL_0024: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0029: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_002e: stelem.ref + IL_002f: ldloc.0 + IL_0030: ldc.i4.1 + IL_0031: ldc.i4.4 + IL_0032: box [mscorlib]System.Int32 + IL_0037: ldtoken [mscorlib]System.Int32 + IL_003c: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0041: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0046: stelem.ref + IL_0047: ldloc.0 + IL_0048: call class [System.Core]System.Linq.Expressions.NewArrayExpression [System.Core]System.Linq.Expressions.Expression::NewArrayBounds(class [mscorlib]System.Type, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_004d: ldtoken method instance int32 [mscorlib]System.Array::get_Length() + IL_0052: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0057: castclass [mscorlib]System.Reflection.MethodInfo + IL_005c: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Property(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo) + IL_0061: ldc.i4.1 + IL_0062: box [mscorlib]System.Int32 + IL_0067: ldtoken [mscorlib]System.Int32 + IL_006c: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0071: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0076: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Equal(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_007b: ldc.i4.0 + IL_007c: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0081: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0086: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_008b: pop + IL_008c: ret + } // end of method ExpressionTrees::NewMultiDimArray + + .method public hidebysig instance void + NewObject() cil managed + { + // Code size 81 (0x51) + .maxstack 4 + IL_0000: nop + IL_0001: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0006: ldtoken method instance void [mscorlib]System.Object::.ctor() + IL_000b: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0010: castclass [mscorlib]System.Reflection.ConstructorInfo + IL_0015: ldc.i4.0 + IL_0016: newarr [System.Core]System.Linq.Expressions.Expression + IL_001b: call class [System.Core]System.Linq.Expressions.NewExpression [System.Core]System.Linq.Expressions.Expression::New(class [mscorlib]System.Reflection.ConstructorInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_0020: ldtoken method instance void [mscorlib]System.Object::.ctor() + IL_0025: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_002a: castclass [mscorlib]System.Reflection.ConstructorInfo + IL_002f: ldc.i4.0 + IL_0030: newarr [System.Core]System.Linq.Expressions.Expression + IL_0035: call class [System.Core]System.Linq.Expressions.NewExpression [System.Core]System.Linq.Expressions.Expression::New(class [mscorlib]System.Reflection.ConstructorInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_003a: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::NotEqual(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_003f: ldc.i4.0 + IL_0040: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0045: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_004a: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_004f: pop + IL_0050: ret + } // end of method ExpressionTrees::NewObject + + .method public hidebysig instance void + NotOperator() cil managed + { + // Code size 242 (0xf2) + .maxstack 4 + .locals init (class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass16' V_0) + IL_0000: newobj instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass16'::.ctor() + IL_0005: stloc.0 + IL_0006: nop + IL_0007: ldloc.0 + IL_0008: ldc.i4.1 + IL_0009: stfld bool ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass16'::x + IL_000e: ldloc.0 + IL_000f: ldc.i4.3 + IL_0010: stfld int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass16'::y + IL_0015: ldloc.0 + IL_0016: ldc.i4.s 42 + IL_0018: stfld uint8 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass16'::z + IL_001d: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0022: ldloc.0 + IL_0023: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object) + IL_0028: ldtoken field uint8 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass16'::z + IL_002d: call class [mscorlib]System.Reflection.FieldInfo [mscorlib]System.Reflection.FieldInfo::GetFieldFromHandle(valuetype [mscorlib]System.RuntimeFieldHandle) + IL_0032: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Field(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.FieldInfo) + IL_0037: ldtoken [mscorlib]System.Int32 + IL_003c: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0041: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_0046: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Not(class [System.Core]System.Linq.Expressions.Expression) + IL_004b: ldc.i4.0 + IL_004c: box [mscorlib]System.Int32 + IL_0051: ldtoken [mscorlib]System.Int32 + IL_0056: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_005b: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0060: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Equal(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0065: ldc.i4.0 + IL_0066: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_006b: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0070: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0075: pop + IL_0076: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_007b: ldloc.0 + IL_007c: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object) + IL_0081: ldtoken field int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass16'::y + IL_0086: call class [mscorlib]System.Reflection.FieldInfo [mscorlib]System.Reflection.FieldInfo::GetFieldFromHandle(valuetype [mscorlib]System.RuntimeFieldHandle) + IL_008b: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Field(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.FieldInfo) + IL_0090: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Not(class [System.Core]System.Linq.Expressions.Expression) + IL_0095: ldc.i4.0 + IL_0096: box [mscorlib]System.Int32 + IL_009b: ldtoken [mscorlib]System.Int32 + IL_00a0: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00a5: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_00aa: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Equal(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_00af: ldc.i4.0 + IL_00b0: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_00b5: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_00ba: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_00bf: pop + IL_00c0: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_00c5: ldloc.0 + IL_00c6: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object) + IL_00cb: ldtoken field bool ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass16'::x + IL_00d0: call class [mscorlib]System.Reflection.FieldInfo [mscorlib]System.Reflection.FieldInfo::GetFieldFromHandle(valuetype [mscorlib]System.RuntimeFieldHandle) + IL_00d5: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Field(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.FieldInfo) + IL_00da: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Not(class [System.Core]System.Linq.Expressions.Expression) + IL_00df: ldc.i4.0 + IL_00e0: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_00e5: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_00ea: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_00ef: pop + IL_00f0: nop + IL_00f1: ret + } // end of method ExpressionTrees::NotOperator + + .method public hidebysig instance void + ObjectInitializers() cil managed + { + // Code size 279 (0x117) + .maxstack 7 + .locals init (class [System.Xml]System.Xml.XmlReaderSettings V_0, + class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass19' V_1, + class [System.Core]System.Linq.Expressions.MemberBinding[] V_2, + class [System.Core]System.Linq.Expressions.Expression[] V_3) + IL_0000: newobj instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass19'::.ctor() + IL_0005: stloc.1 + IL_0006: nop + IL_0007: ldloc.1 + IL_0008: newobj instance void [System.Xml]System.Xml.XmlReaderSettings::.ctor() + IL_000d: stloc.0 + IL_000e: ldloc.0 + IL_000f: ldc.i4.0 + IL_0010: callvirt instance void [System.Xml]System.Xml.XmlReaderSettings::set_CloseInput(bool) + IL_0015: nop + IL_0016: ldloc.0 + IL_0017: ldc.i4.0 + IL_0018: callvirt instance void [System.Xml]System.Xml.XmlReaderSettings::set_CheckCharacters(bool) + IL_001d: nop + IL_001e: ldloc.0 + IL_001f: stfld class [System.Xml]System.Xml.XmlReaderSettings ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass19'::s + IL_0024: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0029: ldtoken method instance void [System.Xml]System.Xml.XmlReaderSettings::.ctor() + IL_002e: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0033: castclass [mscorlib]System.Reflection.ConstructorInfo + IL_0038: ldc.i4.0 + IL_0039: newarr [System.Core]System.Linq.Expressions.Expression + IL_003e: call class [System.Core]System.Linq.Expressions.NewExpression [System.Core]System.Linq.Expressions.Expression::New(class [mscorlib]System.Reflection.ConstructorInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_0043: ldc.i4.2 + IL_0044: newarr [System.Core]System.Linq.Expressions.MemberBinding + IL_0049: stloc.2 + IL_004a: ldloc.2 + IL_004b: ldc.i4.0 + IL_004c: ldtoken method instance void [System.Xml]System.Xml.XmlReaderSettings::set_CloseInput(bool) + IL_0051: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0056: castclass [mscorlib]System.Reflection.MethodInfo + IL_005b: ldloc.1 + IL_005c: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object) + IL_0061: ldtoken field class [System.Xml]System.Xml.XmlReaderSettings ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass19'::s + IL_0066: call class [mscorlib]System.Reflection.FieldInfo [mscorlib]System.Reflection.FieldInfo::GetFieldFromHandle(valuetype [mscorlib]System.RuntimeFieldHandle) + IL_006b: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Field(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.FieldInfo) + IL_0070: ldtoken method instance bool [System.Xml]System.Xml.XmlReaderSettings::get_CloseInput() + IL_0075: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_007a: castclass [mscorlib]System.Reflection.MethodInfo + IL_007f: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Property(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo) + IL_0084: call class [System.Core]System.Linq.Expressions.MemberAssignment [System.Core]System.Linq.Expressions.Expression::Bind(class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression) + IL_0089: stelem.ref + IL_008a: ldloc.2 + IL_008b: ldc.i4.1 + IL_008c: ldtoken method instance void [System.Xml]System.Xml.XmlReaderSettings::set_CheckCharacters(bool) + IL_0091: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0096: castclass [mscorlib]System.Reflection.MethodInfo + IL_009b: ldloc.1 + IL_009c: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object) + IL_00a1: ldtoken field class [System.Xml]System.Xml.XmlReaderSettings ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass19'::s + IL_00a6: call class [mscorlib]System.Reflection.FieldInfo [mscorlib]System.Reflection.FieldInfo::GetFieldFromHandle(valuetype [mscorlib]System.RuntimeFieldHandle) + IL_00ab: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Field(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.FieldInfo) + IL_00b0: ldtoken method instance bool [System.Xml]System.Xml.XmlReaderSettings::get_CheckCharacters() + IL_00b5: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_00ba: castclass [mscorlib]System.Reflection.MethodInfo + IL_00bf: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Property(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo) + IL_00c4: call class [System.Core]System.Linq.Expressions.MemberAssignment [System.Core]System.Linq.Expressions.Expression::Bind(class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression) + IL_00c9: stelem.ref + IL_00ca: ldloc.2 + IL_00cb: call class [System.Core]System.Linq.Expressions.MemberInitExpression [System.Core]System.Linq.Expressions.Expression::MemberInit(class [System.Core]System.Linq.Expressions.NewExpression, + class [System.Core]System.Linq.Expressions.MemberBinding[]) + IL_00d0: ldtoken method instance bool [mscorlib]System.Object::Equals(object) + IL_00d5: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_00da: castclass [mscorlib]System.Reflection.MethodInfo + IL_00df: ldc.i4.1 + IL_00e0: newarr [System.Core]System.Linq.Expressions.Expression + IL_00e5: stloc.3 + IL_00e6: ldloc.3 + IL_00e7: ldc.i4.0 + IL_00e8: ldloc.1 + IL_00e9: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object) + IL_00ee: ldtoken field class [System.Xml]System.Xml.XmlReaderSettings ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass19'::s + IL_00f3: call class [mscorlib]System.Reflection.FieldInfo [mscorlib]System.Reflection.FieldInfo::GetFieldFromHandle(valuetype [mscorlib]System.RuntimeFieldHandle) + IL_00f8: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Field(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.FieldInfo) + IL_00fd: stelem.ref + IL_00fe: ldloc.3 + IL_00ff: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_0104: ldc.i4.0 + IL_0105: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_010a: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_010f: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0114: pop + IL_0115: nop + IL_0116: ret + } // end of method ExpressionTrees::ObjectInitializers + + .method public hidebysig instance void + Quoted() cil managed + { + // Code size 181 (0xb5) + .maxstack 5 + .locals init (class [System.Core]System.Linq.Expressions.ParameterExpression V_0, + class [System.Core]System.Linq.Expressions.ParameterExpression V_1, + class [System.Core]System.Linq.Expressions.ParameterExpression[] V_2) + IL_0000: nop + IL_0001: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0006: ldtoken [mscorlib]System.Int32 + IL_000b: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0010: ldstr "n" + IL_0015: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_001a: stloc.0 + IL_001b: ldtoken [mscorlib]System.String + IL_0020: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0025: ldstr "s" + IL_002a: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_002f: stloc.1 + IL_0030: ldloc.1 + IL_0031: ldloc.0 + IL_0032: ldtoken method instance string [mscorlib]System.Int32::ToString() + IL_0037: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_003c: castclass [mscorlib]System.Reflection.MethodInfo + IL_0041: ldc.i4.0 + IL_0042: newarr [System.Core]System.Linq.Expressions.Expression + IL_0047: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_004c: ldtoken method string [mscorlib]System.String::Concat(string, + string) + IL_0051: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0056: castclass [mscorlib]System.Reflection.MethodInfo + IL_005b: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Add(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo) + IL_0060: ldc.i4.2 + IL_0061: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0066: stloc.2 + IL_0067: ldloc.2 + IL_0068: ldc.i4.0 + IL_0069: ldloc.0 + IL_006a: stelem.ref + IL_006b: ldloc.2 + IL_006c: ldc.i4.1 + IL_006d: ldloc.1 + IL_006e: stelem.ref + IL_006f: ldloc.2 + IL_0070: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0075: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Quote(class [System.Core]System.Linq.Expressions.Expression) + IL_007a: ldtoken class [System.Core]System.Linq.Expressions.Expression`1> + IL_007f: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0084: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_0089: ldnull + IL_008a: box [mscorlib]System.Object + IL_008f: ldtoken [mscorlib]System.Object + IL_0094: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0099: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_009e: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::NotEqual(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_00a3: ldc.i4.0 + IL_00a4: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_00a9: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_00ae: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_00b3: pop + IL_00b4: ret + } // end of method ExpressionTrees::Quoted + + .method public hidebysig instance void + Quoted2() cil managed + { + // Code size 175 (0xaf) + .maxstack 8 + .locals init (class [System.Core]System.Linq.Expressions.Expression[] V_0) + IL_0000: nop + IL_0001: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0006: ldnull + IL_0007: ldtoken method object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_000c: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0011: castclass [mscorlib]System.Reflection.MethodInfo + IL_0016: ldc.i4.2 + IL_0017: newarr [System.Core]System.Linq.Expressions.Expression + IL_001c: stloc.0 + IL_001d: ldloc.0 + IL_001e: ldc.i4.0 + IL_001f: ldnull + IL_0020: ldtoken method object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0025: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_002a: castclass [mscorlib]System.Reflection.MethodInfo + IL_002f: ldc.i4.0 + IL_0030: newarr [System.Core]System.Linq.Expressions.Expression + IL_0035: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_003a: stelem.ref + IL_003b: ldloc.0 + IL_003c: ldc.i4.1 + IL_003d: ldc.i4.1 + IL_003e: box [mscorlib]System.Boolean + IL_0043: ldtoken [mscorlib]System.Boolean + IL_0048: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_004d: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0052: ldc.i4.0 + IL_0053: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0058: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_005d: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Quote(class [System.Core]System.Linq.Expressions.Expression) + IL_0062: stelem.ref + IL_0063: ldloc.0 + IL_0064: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_0069: ldtoken method instance bool [mscorlib]System.Object::Equals(object) + IL_006e: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0073: castclass [mscorlib]System.Reflection.MethodInfo + IL_0078: ldc.i4.1 + IL_0079: newarr [System.Core]System.Linq.Expressions.Expression + IL_007e: stloc.0 + IL_007f: ldloc.0 + IL_0080: ldc.i4.0 + IL_0081: ldnull + IL_0082: box [mscorlib]System.Object + IL_0087: ldtoken [mscorlib]System.Object + IL_008c: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0091: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0096: stelem.ref + IL_0097: ldloc.0 + IL_0098: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_009d: ldc.i4.0 + IL_009e: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_00a3: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_00a8: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_00ad: pop + IL_00ae: ret + } // end of method ExpressionTrees::Quoted2 + + .method public hidebysig instance void + QuotedWithAnonymous() cil managed + { + // Code size 371 (0x173) + .maxstack 18 + .locals init (class [System.Core]System.Linq.Expressions.Expression[] V_0, + class [System.Core]System.Linq.Expressions.Expression[] V_1, + class [System.Core]System.Linq.Expressions.Expression[] V_2, + class [System.Core]System.Linq.Expressions.Expression[] V_3, + class [mscorlib]System.Reflection.MethodInfo[] V_4, + class [System.Core]System.Linq.Expressions.ParameterExpression V_5, + class [System.Core]System.Linq.Expressions.ParameterExpression[] V_6) + IL_0000: nop + IL_0001: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0006: ldnull + IL_0007: ldtoken method !!0 [System.Core]System.Linq.Enumerable::Single(class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_000c: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0011: castclass [mscorlib]System.Reflection.MethodInfo + IL_0016: ldc.i4.1 + IL_0017: newarr [System.Core]System.Linq.Expressions.Expression + IL_001c: stloc.0 + IL_001d: ldloc.0 + IL_001e: ldc.i4.0 + IL_001f: ldnull + IL_0020: ldtoken method class [mscorlib]System.Collections.Generic.IEnumerable`1 [System.Core]System.Linq.Enumerable::Selectf__AnonymousType1`2',string>(class [mscorlib]System.Collections.Generic.IEnumerable`1, + class [mscorlib]System.Func`2) + IL_0025: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_002a: castclass [mscorlib]System.Reflection.MethodInfo + IL_002f: ldc.i4.2 + IL_0030: newarr [System.Core]System.Linq.Expressions.Expression + IL_0035: stloc.1 + IL_0036: ldloc.1 + IL_0037: ldc.i4.0 + IL_0038: ldtoken class '<>f__AnonymousType1`2' + IL_003d: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0042: ldc.i4.1 + IL_0043: newarr [System.Core]System.Linq.Expressions.Expression + IL_0048: stloc.2 + IL_0049: ldloc.2 + IL_004a: ldc.i4.0 + IL_004b: ldtoken method instance void class '<>f__AnonymousType1`2'::.ctor(!0, + !1) + IL_0050: ldtoken class '<>f__AnonymousType1`2' + IL_0055: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle, + valuetype [mscorlib]System.RuntimeTypeHandle) + IL_005a: castclass [mscorlib]System.Reflection.ConstructorInfo + IL_005f: ldc.i4.2 + IL_0060: newarr [System.Core]System.Linq.Expressions.Expression + IL_0065: stloc.3 + IL_0066: ldloc.3 + IL_0067: ldc.i4.0 + IL_0068: ldstr "a" + IL_006d: ldtoken [mscorlib]System.String + IL_0072: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0077: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_007c: stelem.ref + IL_007d: ldloc.3 + IL_007e: ldc.i4.1 + IL_007f: ldstr "b" + IL_0084: ldtoken [mscorlib]System.String + IL_0089: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_008e: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0093: stelem.ref + IL_0094: ldloc.3 + IL_0095: ldc.i4.2 + IL_0096: newarr [mscorlib]System.Reflection.MethodInfo + IL_009b: stloc.s V_4 + IL_009d: ldloc.s V_4 + IL_009f: ldc.i4.0 + IL_00a0: ldtoken method instance !0 class '<>f__AnonymousType1`2'::get_X() + IL_00a5: ldtoken class '<>f__AnonymousType1`2' + IL_00aa: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle, + valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00af: castclass [mscorlib]System.Reflection.MethodInfo + IL_00b4: stelem.ref + IL_00b5: ldloc.s V_4 + IL_00b7: ldc.i4.1 + IL_00b8: ldtoken method instance !1 class '<>f__AnonymousType1`2'::get_Y() + IL_00bd: ldtoken class '<>f__AnonymousType1`2' + IL_00c2: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle, + valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00c7: castclass [mscorlib]System.Reflection.MethodInfo + IL_00cc: stelem.ref + IL_00cd: ldloc.s V_4 + IL_00cf: call class [System.Core]System.Linq.Expressions.NewExpression [System.Core]System.Linq.Expressions.Expression::New(class [mscorlib]System.Reflection.ConstructorInfo, + class [mscorlib]System.Collections.Generic.IEnumerable`1, + class [mscorlib]System.Reflection.MemberInfo[]) + IL_00d4: stelem.ref + IL_00d5: ldloc.2 + IL_00d6: call class [System.Core]System.Linq.Expressions.NewArrayExpression [System.Core]System.Linq.Expressions.Expression::NewArrayInit(class [mscorlib]System.Type, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_00db: stelem.ref + IL_00dc: ldloc.1 + IL_00dd: ldc.i4.1 + IL_00de: ldtoken class '<>f__AnonymousType1`2' + IL_00e3: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00e8: ldstr "o" + IL_00ed: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_00f2: stloc.s V_5 + IL_00f4: ldloc.s V_5 + IL_00f6: ldtoken method instance !0 class '<>f__AnonymousType1`2'::get_X() + IL_00fb: ldtoken class '<>f__AnonymousType1`2' + IL_0100: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle, + valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0105: castclass [mscorlib]System.Reflection.MethodInfo + IL_010a: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Property(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo) + IL_010f: ldloc.s V_5 + IL_0111: ldtoken method instance !1 class '<>f__AnonymousType1`2'::get_Y() + IL_0116: ldtoken class '<>f__AnonymousType1`2' + IL_011b: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle, + valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0120: castclass [mscorlib]System.Reflection.MethodInfo + IL_0125: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Property(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo) + IL_012a: ldtoken method string [mscorlib]System.String::Concat(string, + string) + IL_012f: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0134: castclass [mscorlib]System.Reflection.MethodInfo + IL_0139: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Add(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo) + IL_013e: ldc.i4.1 + IL_013f: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0144: stloc.s V_6 + IL_0146: ldloc.s V_6 + IL_0148: ldc.i4.0 + IL_0149: ldloc.s V_5 + IL_014b: stelem.ref + IL_014c: ldloc.s V_6 + IL_014e: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambdaf__AnonymousType1`2',string>>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0153: stelem.ref + IL_0154: ldloc.1 + IL_0155: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_015a: stelem.ref + IL_015b: ldloc.0 + IL_015c: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_0161: ldc.i4.0 + IL_0162: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0167: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_016c: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0171: pop + IL_0172: ret + } // end of method ExpressionTrees::QuotedWithAnonymous + + .method public hidebysig instance void + StaticCall() cil managed + { + // Code size 131 (0x83) + .maxstack 7 + .locals init (class [System.Core]System.Linq.Expressions.Expression[] V_0) + IL_0000: nop + IL_0001: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0006: ldnull + IL_0007: ldtoken method bool [mscorlib]System.Object::Equals(object, + object) + IL_000c: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0011: castclass [mscorlib]System.Reflection.MethodInfo + IL_0016: ldc.i4.2 + IL_0017: newarr [System.Core]System.Linq.Expressions.Expression + IL_001c: stloc.0 + IL_001d: ldloc.0 + IL_001e: ldc.i4.0 + IL_001f: ldc.i4.3 + IL_0020: box [mscorlib]System.Int32 + IL_0025: ldtoken [mscorlib]System.Int32 + IL_002a: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_002f: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0034: ldtoken [mscorlib]System.Object + IL_0039: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_003e: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_0043: stelem.ref + IL_0044: ldloc.0 + IL_0045: ldc.i4.1 + IL_0046: ldc.i4.0 + IL_0047: box [mscorlib]System.Int32 + IL_004c: ldtoken [mscorlib]System.Int32 + IL_0051: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0056: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_005b: ldtoken [mscorlib]System.Object + IL_0060: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0065: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_006a: stelem.ref + IL_006b: ldloc.0 + IL_006c: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_0071: ldc.i4.0 + IL_0072: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0077: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_007c: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0081: pop + IL_0082: ret + } // end of method ExpressionTrees::StaticCall + + .method public hidebysig instance void + ThisCall() cil managed + { + // Code size 117 (0x75) + .maxstack 7 + .locals init (class [System.Core]System.Linq.Expressions.Expression[] V_0) + IL_0000: nop + IL_0001: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0006: ldarg.0 + IL_0007: box ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees + IL_000c: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees + IL_0011: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0016: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_001b: ldtoken method instance bool [mscorlib]System.Object::Equals(object) + IL_0020: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0025: castclass [mscorlib]System.Reflection.MethodInfo + IL_002a: ldc.i4.1 + IL_002b: newarr [System.Core]System.Linq.Expressions.Expression + IL_0030: stloc.0 + IL_0031: ldloc.0 + IL_0032: ldc.i4.0 + IL_0033: ldc.i4.3 + IL_0034: box [mscorlib]System.Int32 + IL_0039: ldtoken [mscorlib]System.Int32 + IL_003e: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0043: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0048: ldtoken [mscorlib]System.Object + IL_004d: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0052: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_0057: stelem.ref + IL_0058: ldloc.0 + IL_0059: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_005e: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Not(class [System.Core]System.Linq.Expressions.Expression) + IL_0063: ldc.i4.0 + IL_0064: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0069: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_006e: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0073: pop + IL_0074: ret + } // end of method ExpressionTrees::ThisCall + + .method public hidebysig instance void + ThisExplicit() cil managed + { + // Code size 116 (0x74) + .maxstack 7 + .locals init (class [System.Core]System.Linq.Expressions.Expression[] V_0) + IL_0000: nop + IL_0001: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0006: ldnull + IL_0007: ldtoken method bool [mscorlib]System.Object::Equals(object, + object) + IL_000c: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0011: castclass [mscorlib]System.Reflection.MethodInfo + IL_0016: ldc.i4.2 + IL_0017: newarr [System.Core]System.Linq.Expressions.Expression + IL_001c: stloc.0 + IL_001d: ldloc.0 + IL_001e: ldc.i4.0 + IL_001f: ldarg.0 + IL_0020: box ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees + IL_0025: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees + IL_002a: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_002f: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0034: stelem.ref + IL_0035: ldloc.0 + IL_0036: ldc.i4.1 + IL_0037: ldc.i4.3 + IL_0038: box [mscorlib]System.Int32 + IL_003d: ldtoken [mscorlib]System.Int32 + IL_0042: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0047: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_004c: ldtoken [mscorlib]System.Object + IL_0051: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0056: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_005b: stelem.ref + IL_005c: ldloc.0 + IL_005d: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_0062: ldc.i4.0 + IL_0063: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0068: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_006d: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0072: pop + IL_0073: ret + } // end of method ExpressionTrees::ThisExplicit + + .method public hidebysig instance void + TypedConstant() cil managed + { + // Code size 113 (0x71) + .maxstack 6 + .locals init (class [System.Core]System.Linq.Expressions.Expression[] V_0) + IL_0000: nop + IL_0001: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0006: ldtoken [mscorlib]System.Type + IL_000b: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0010: ldc.i4.2 + IL_0011: newarr [System.Core]System.Linq.Expressions.Expression + IL_0016: stloc.0 + IL_0017: ldloc.0 + IL_0018: ldc.i4.0 + IL_0019: ldtoken [mscorlib]System.Int32 + IL_001e: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0023: box [mscorlib]System.Type + IL_0028: ldtoken [mscorlib]System.Type + IL_002d: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0032: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0037: stelem.ref + IL_0038: ldloc.0 + IL_0039: ldc.i4.1 + IL_003a: ldtoken [mscorlib]System.String + IL_003f: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0044: box [mscorlib]System.Type + IL_0049: ldtoken [mscorlib]System.Type + IL_004e: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0053: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0058: stelem.ref + IL_0059: ldloc.0 + IL_005a: call class [System.Core]System.Linq.Expressions.NewArrayExpression [System.Core]System.Linq.Expressions.Expression::NewArrayInit(class [mscorlib]System.Type, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_005f: ldc.i4.0 + IL_0060: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0065: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_006a: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_006f: pop + IL_0070: ret + } // end of method ExpressionTrees::TypedConstant + + .method public hidebysig instance void + StaticCallImplicitCast() cil managed + { + // Code size 131 (0x83) + .maxstack 7 + .locals init (class [System.Core]System.Linq.Expressions.Expression[] V_0) + IL_0000: nop + IL_0001: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0006: ldnull + IL_0007: ldtoken method bool [mscorlib]System.Object::Equals(object, + object) + IL_000c: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0011: castclass [mscorlib]System.Reflection.MethodInfo + IL_0016: ldc.i4.2 + IL_0017: newarr [System.Core]System.Linq.Expressions.Expression + IL_001c: stloc.0 + IL_001d: ldloc.0 + IL_001e: ldc.i4.0 + IL_001f: ldc.i4.3 + IL_0020: box [mscorlib]System.Int32 + IL_0025: ldtoken [mscorlib]System.Int32 + IL_002a: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_002f: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0034: ldtoken [mscorlib]System.Object + IL_0039: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_003e: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_0043: stelem.ref + IL_0044: ldloc.0 + IL_0045: ldc.i4.1 + IL_0046: ldc.i4.0 + IL_0047: box [mscorlib]System.Int32 + IL_004c: ldtoken [mscorlib]System.Int32 + IL_0051: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0056: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_005b: ldtoken [mscorlib]System.Object + IL_0060: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0065: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_006a: stelem.ref + IL_006b: ldloc.0 + IL_006c: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_0071: ldc.i4.0 + IL_0072: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0077: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_007c: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0081: pop + IL_0082: ret + } // end of method ExpressionTrees::StaticCallImplicitCast + + .method public hidebysig instance void + StaticMembers() cil managed + { + // Code size 235 (0xeb) + .maxstack 9 + .locals init (class [System.Core]System.Linq.Expressions.Expression[] V_0) + IL_0000: nop + IL_0001: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0006: ldnull + IL_0007: ldtoken method valuetype [mscorlib]System.DateTime [mscorlib]System.DateTime::get_Now() + IL_000c: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0011: castclass [mscorlib]System.Reflection.MethodInfo + IL_0016: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Property(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo) + IL_001b: ldnull + IL_001c: ldtoken method valuetype [mscorlib]System.DateTime [mscorlib]System.DateTime::get_Now() + IL_0021: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0026: castclass [mscorlib]System.Reflection.MethodInfo + IL_002b: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Property(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo) + IL_0030: ldnull + IL_0031: ldtoken method valuetype [mscorlib]System.TimeSpan [mscorlib]System.TimeSpan::FromMilliseconds(float64) + IL_0036: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_003b: castclass [mscorlib]System.Reflection.MethodInfo + IL_0040: ldc.i4.1 + IL_0041: newarr [System.Core]System.Linq.Expressions.Expression + IL_0046: stloc.0 + IL_0047: ldloc.0 + IL_0048: ldc.i4.0 + IL_0049: ldc.r8 10.000999999999999 + IL_0052: box [mscorlib]System.Double + IL_0057: ldtoken [mscorlib]System.Double + IL_005c: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0061: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0066: stelem.ref + IL_0067: ldloc.0 + IL_0068: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_006d: ldtoken method valuetype [mscorlib]System.DateTime [mscorlib]System.DateTime::op_Addition(valuetype [mscorlib]System.DateTime, + valuetype [mscorlib]System.TimeSpan) + IL_0072: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0077: castclass [mscorlib]System.Reflection.MethodInfo + IL_007c: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Add(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo) + IL_0081: ldc.i4.0 + IL_0082: ldtoken method bool [mscorlib]System.DateTime::op_GreaterThan(valuetype [mscorlib]System.DateTime, + valuetype [mscorlib]System.DateTime) + IL_0087: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_008c: castclass [mscorlib]System.Reflection.MethodInfo + IL_0091: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::GreaterThan(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression, + bool, + class [mscorlib]System.Reflection.MethodInfo) + IL_0096: ldtoken method instance string [mscorlib]System.Boolean::ToString() + IL_009b: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_00a0: castclass [mscorlib]System.Reflection.MethodInfo + IL_00a5: ldc.i4.0 + IL_00a6: newarr [System.Core]System.Linq.Expressions.Expression + IL_00ab: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_00b0: ldstr "False" + IL_00b5: ldtoken [mscorlib]System.String + IL_00ba: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00bf: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_00c4: ldc.i4.0 + IL_00c5: ldtoken method bool [mscorlib]System.String::op_Equality(string, + string) + IL_00ca: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_00cf: castclass [mscorlib]System.Reflection.MethodInfo + IL_00d4: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Equal(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression, + bool, + class [mscorlib]System.Reflection.MethodInfo) + IL_00d9: ldc.i4.0 + IL_00da: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_00df: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_00e4: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_00e9: pop + IL_00ea: ret + } // end of method ExpressionTrees::StaticMembers + + .method public hidebysig instance void + Strings() cil managed + { + // Code size 378 (0x17a) + .maxstack 8 + .locals init (class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass1b' V_0) + IL_0000: newobj instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass1b'::.ctor() + IL_0005: stloc.0 + IL_0006: nop + IL_0007: ldloc.0 + IL_0008: ldc.i4.1 + IL_0009: stfld int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass1b'::i + IL_000e: ldloc.0 + IL_000f: ldstr "X" + IL_0014: stfld string ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass1b'::x + IL_0019: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_001e: ldstr "a\n\\b" + IL_0023: ldtoken [mscorlib]System.String + IL_0028: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_002d: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0032: ldloc.0 + IL_0033: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object) + IL_0038: ldtoken field string ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass1b'::x + IL_003d: call class [mscorlib]System.Reflection.FieldInfo [mscorlib]System.Reflection.FieldInfo::GetFieldFromHandle(valuetype [mscorlib]System.RuntimeFieldHandle) + IL_0042: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Field(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.FieldInfo) + IL_0047: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Coalesce(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_004c: ldloc.0 + IL_004d: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object) + IL_0052: ldtoken field string ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass1b'::x + IL_0057: call class [mscorlib]System.Reflection.FieldInfo [mscorlib]System.Reflection.FieldInfo::GetFieldFromHandle(valuetype [mscorlib]System.RuntimeFieldHandle) + IL_005c: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Field(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.FieldInfo) + IL_0061: ldtoken method string [mscorlib]System.String::Concat(string, + string) + IL_0066: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_006b: castclass [mscorlib]System.Reflection.MethodInfo + IL_0070: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Add(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo) + IL_0075: ldtoken method instance int32 [mscorlib]System.String::get_Length() + IL_007a: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_007f: castclass [mscorlib]System.Reflection.MethodInfo + IL_0084: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Property(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo) + IL_0089: ldc.i4.2 + IL_008a: box [mscorlib]System.Int32 + IL_008f: ldtoken [mscorlib]System.Int32 + IL_0094: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0099: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_009e: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Equal(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_00a3: ldc.i4.0 + IL_00a4: box [mscorlib]System.Boolean + IL_00a9: ldtoken [mscorlib]System.Boolean + IL_00ae: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00b3: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_00b8: ldc.i4.1 + IL_00b9: box [mscorlib]System.Boolean + IL_00be: ldtoken [mscorlib]System.Boolean + IL_00c3: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00c8: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_00cd: ldc.i4.1 + IL_00ce: newobj instance void [mscorlib]System.Decimal::.ctor(int32) + IL_00d3: box [mscorlib]System.Decimal + IL_00d8: ldtoken [mscorlib]System.Decimal + IL_00dd: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00e2: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_00e7: ldloc.0 + IL_00e8: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object) + IL_00ed: ldtoken field int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass1b'::i + IL_00f2: call class [mscorlib]System.Reflection.FieldInfo [mscorlib]System.Reflection.FieldInfo::GetFieldFromHandle(valuetype [mscorlib]System.RuntimeFieldHandle) + IL_00f7: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Field(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.FieldInfo) + IL_00fc: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Negate(class [System.Core]System.Linq.Expressions.Expression) + IL_0101: ldtoken [mscorlib]System.Decimal + IL_0106: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_010b: ldtoken method valuetype [mscorlib]System.Decimal [mscorlib]System.Decimal::op_Implicit(int32) + IL_0110: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0115: castclass [mscorlib]System.Reflection.MethodInfo + IL_011a: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type, + class [mscorlib]System.Reflection.MethodInfo) + IL_011f: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Add(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0124: ldc.i4.0 + IL_0125: newobj instance void [mscorlib]System.Decimal::.ctor(int32) + IL_012a: box [mscorlib]System.Decimal + IL_012f: ldtoken [mscorlib]System.Decimal + IL_0134: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0139: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_013e: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::GreaterThan(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0143: ldc.i4.0 + IL_0144: box [mscorlib]System.Boolean + IL_0149: ldtoken [mscorlib]System.Boolean + IL_014e: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0153: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0158: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::OrElse(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_015d: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::AndAlso(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0162: call class [System.Core]System.Linq.Expressions.ConditionalExpression [System.Core]System.Linq.Expressions.Expression::Condition(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0167: ldc.i4.0 + IL_0168: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_016d: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0172: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0177: pop + IL_0178: nop + IL_0179: ret + } // end of method ExpressionTrees::Strings + + .method public hidebysig instance void + GenericClassInstance() cil managed + { + // Code size 151 (0x97) + .maxstack 5 + IL_0000: nop + IL_0001: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0006: ldtoken method instance void class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/GenericClass`1::.ctor() + IL_000b: ldtoken class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/GenericClass`1 + IL_0010: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle, + valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0015: castclass [mscorlib]System.Reflection.ConstructorInfo + IL_001a: ldc.i4.0 + IL_001b: newarr [System.Core]System.Linq.Expressions.Expression + IL_0020: call class [System.Core]System.Linq.Expressions.NewExpression [System.Core]System.Linq.Expressions.Expression::New(class [mscorlib]System.Reflection.ConstructorInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_0025: ldtoken field !0 class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/GenericClass`1::InstanceField + IL_002a: ldtoken class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/GenericClass`1 + IL_002f: call class [mscorlib]System.Reflection.FieldInfo [mscorlib]System.Reflection.FieldInfo::GetFieldFromHandle(valuetype [mscorlib]System.RuntimeFieldHandle, + valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0034: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Field(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.FieldInfo) + IL_0039: ldtoken [mscorlib]System.Double + IL_003e: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0043: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_0048: ldtoken method instance void class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/GenericClass`1::.ctor() + IL_004d: ldtoken class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/GenericClass`1 + IL_0052: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle, + valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0057: castclass [mscorlib]System.Reflection.ConstructorInfo + IL_005c: ldc.i4.0 + IL_005d: newarr [System.Core]System.Linq.Expressions.Expression + IL_0062: call class [System.Core]System.Linq.Expressions.NewExpression [System.Core]System.Linq.Expressions.Expression::New(class [mscorlib]System.Reflection.ConstructorInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_0067: ldtoken method instance !0 class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/GenericClass`1::get_InstanceProperty() + IL_006c: ldtoken class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/GenericClass`1 + IL_0071: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle, + valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0076: castclass [mscorlib]System.Reflection.MethodInfo + IL_007b: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Property(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo) + IL_0080: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Add(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0085: ldc.i4.0 + IL_0086: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_008b: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0090: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0095: pop + IL_0096: ret + } // end of method ExpressionTrees::GenericClassInstance + + .method public hidebysig instance void + GenericClassStatic() cil managed + { + // Code size 91 (0x5b) + .maxstack 5 + IL_0000: nop + IL_0001: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0006: ldnull + IL_0007: ldtoken field !0 class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/GenericClass`1::StaticField + IL_000c: ldtoken class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/GenericClass`1 + IL_0011: call class [mscorlib]System.Reflection.FieldInfo [mscorlib]System.Reflection.FieldInfo::GetFieldFromHandle(valuetype [mscorlib]System.RuntimeFieldHandle, + valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0016: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Field(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.FieldInfo) + IL_001b: ldtoken [mscorlib]System.Double + IL_0020: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0025: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_002a: ldnull + IL_002b: ldtoken method !0 class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/GenericClass`1::get_StaticProperty() + IL_0030: ldtoken class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/GenericClass`1 + IL_0035: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle, + valuetype [mscorlib]System.RuntimeTypeHandle) + IL_003a: castclass [mscorlib]System.Reflection.MethodInfo + IL_003f: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Property(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo) + IL_0044: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Add(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0049: ldc.i4.0 + IL_004a: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_004f: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0054: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0059: pop + IL_005a: ret + } // end of method ExpressionTrees::GenericClassStatic + + .method public hidebysig instance void + InvokeGenericMethod() cil managed + { + // Code size 56 (0x38) + .maxstack 8 + IL_0000: nop + IL_0001: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0006: ldnull + IL_0007: ldtoken method bool class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/GenericClass`1::GenericMethod() + IL_000c: ldtoken class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/GenericClass`1 + IL_0011: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle, + valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0016: castclass [mscorlib]System.Reflection.MethodInfo + IL_001b: ldc.i4.0 + IL_001c: newarr [System.Core]System.Linq.Expressions.Expression + IL_0021: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_0026: ldc.i4.0 + IL_0027: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_002c: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0031: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0036: pop + IL_0037: ret + } // end of method ExpressionTrees::InvokeGenericMethod + + .method private hidebysig static void Test(!!T delegateExpression, + class [System.Core]System.Linq.Expressions.Expression`1 expressionTree) cil managed + { + // Code size 2 (0x2) + .maxstack 8 + IL_0000: nop + IL_0001: ret + } // end of method ExpressionTrees::Test + + .method public hidebysig static void ArrayIndexer() cil managed + { + // Code size 623 (0x26f) + .maxstack 6 + .locals init (class [System.Core]System.Linq.Expressions.ParameterExpression V_0, + class [System.Core]System.Linq.Expressions.ParameterExpression[] V_1, + class [System.Core]System.Linq.Expressions.ParameterExpression V_2, + class [System.Core]System.Linq.Expressions.Expression[] V_3) + IL_0000: nop + IL_0001: ldsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate22' + IL_0006: brtrue.s IL_001b + + IL_0008: ldnull + IL_0009: ldftn int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'b__1d'(int32[]) + IL_000f: newobj instance void class [mscorlib]System.Func`2::.ctor(object, + native int) + IL_0014: stsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate22' + IL_0019: br.s IL_001b + + IL_001b: ldsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate22' + IL_0020: ldtoken int32[] + IL_0025: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_002a: ldstr "array" + IL_002f: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0034: stloc.0 + IL_0035: ldloc.0 + IL_0036: ldc.i4.0 + IL_0037: box [mscorlib]System.Int32 + IL_003c: ldtoken [mscorlib]System.Int32 + IL_0041: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0046: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_004b: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::ArrayIndex(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0050: ldc.i4.1 + IL_0051: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0056: stloc.1 + IL_0057: ldloc.1 + IL_0058: ldc.i4.0 + IL_0059: ldloc.0 + IL_005a: stelem.ref + IL_005b: ldloc.1 + IL_005c: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0061: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_0066: nop + IL_0067: ldsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate23' + IL_006c: brtrue.s IL_0081 + + IL_006e: ldnull + IL_006f: ldftn int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'b__1e'(int32[], + int32) + IL_0075: newobj instance void class [mscorlib]System.Func`3::.ctor(object, + native int) + IL_007a: stsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate23' + IL_007f: br.s IL_0081 + + IL_0081: ldsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate23' + IL_0086: ldtoken int32[] + IL_008b: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0090: ldstr "array" + IL_0095: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_009a: stloc.0 + IL_009b: ldtoken [mscorlib]System.Int32 + IL_00a0: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00a5: ldstr "index" + IL_00aa: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_00af: stloc.2 + IL_00b0: ldloc.0 + IL_00b1: ldloc.2 + IL_00b2: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::ArrayIndex(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_00b7: ldc.i4.2 + IL_00b8: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_00bd: stloc.1 + IL_00be: ldloc.1 + IL_00bf: ldc.i4.0 + IL_00c0: ldloc.0 + IL_00c1: stelem.ref + IL_00c2: ldloc.1 + IL_00c3: ldc.i4.1 + IL_00c4: ldloc.2 + IL_00c5: stelem.ref + IL_00c6: ldloc.1 + IL_00c7: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_00cc: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_00d1: nop + IL_00d2: ldsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate24' + IL_00d7: brtrue.s IL_00ec + + IL_00d9: ldnull + IL_00da: ldftn int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'b__1f'(int32[0...,0...]) + IL_00e0: newobj instance void class [mscorlib]System.Func`2::.ctor(object, + native int) + IL_00e5: stsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate24' + IL_00ea: br.s IL_00ec + + IL_00ec: ldsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate24' + IL_00f1: ldtoken int32[0...,0...] + IL_00f6: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00fb: ldstr "array" + IL_0100: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0105: stloc.0 + IL_0106: ldloc.0 + IL_0107: ldc.i4.2 + IL_0108: newarr [System.Core]System.Linq.Expressions.Expression + IL_010d: stloc.3 + IL_010e: ldloc.3 + IL_010f: ldc.i4.0 + IL_0110: ldc.i4.0 + IL_0111: box [mscorlib]System.Int32 + IL_0116: ldtoken [mscorlib]System.Int32 + IL_011b: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0120: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0125: stelem.ref + IL_0126: ldloc.3 + IL_0127: ldc.i4.1 + IL_0128: ldc.i4.5 + IL_0129: box [mscorlib]System.Int32 + IL_012e: ldtoken [mscorlib]System.Int32 + IL_0133: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0138: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_013d: stelem.ref + IL_013e: ldloc.3 + IL_013f: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::ArrayIndex(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_0144: ldc.i4.1 + IL_0145: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_014a: stloc.1 + IL_014b: ldloc.1 + IL_014c: ldc.i4.0 + IL_014d: ldloc.0 + IL_014e: stelem.ref + IL_014f: ldloc.1 + IL_0150: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0155: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_015a: nop + IL_015b: ldsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate25' + IL_0160: brtrue.s IL_0175 + + IL_0162: ldnull + IL_0163: ldftn int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'b__20'(int32[0...,0...], + int32) + IL_0169: newobj instance void class [mscorlib]System.Func`3::.ctor(object, + native int) + IL_016e: stsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate25' + IL_0173: br.s IL_0175 + + IL_0175: ldsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate25' + IL_017a: ldtoken int32[0...,0...] + IL_017f: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0184: ldstr "array" + IL_0189: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_018e: stloc.0 + IL_018f: ldtoken [mscorlib]System.Int32 + IL_0194: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0199: ldstr "index" + IL_019e: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_01a3: stloc.2 + IL_01a4: ldloc.0 + IL_01a5: ldc.i4.2 + IL_01a6: newarr [System.Core]System.Linq.Expressions.Expression + IL_01ab: stloc.3 + IL_01ac: ldloc.3 + IL_01ad: ldc.i4.0 + IL_01ae: ldloc.2 + IL_01af: stelem.ref + IL_01b0: ldloc.3 + IL_01b1: ldc.i4.1 + IL_01b2: ldc.i4.7 + IL_01b3: box [mscorlib]System.Int32 + IL_01b8: ldtoken [mscorlib]System.Int32 + IL_01bd: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_01c2: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_01c7: stelem.ref + IL_01c8: ldloc.3 + IL_01c9: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::ArrayIndex(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_01ce: ldc.i4.2 + IL_01cf: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_01d4: stloc.1 + IL_01d5: ldloc.1 + IL_01d6: ldc.i4.0 + IL_01d7: ldloc.0 + IL_01d8: stelem.ref + IL_01d9: ldloc.1 + IL_01da: ldc.i4.1 + IL_01db: ldloc.2 + IL_01dc: stelem.ref + IL_01dd: ldloc.1 + IL_01de: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_01e3: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_01e8: nop + IL_01e9: ldsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate26' + IL_01ee: brtrue.s IL_0203 + + IL_01f0: ldnull + IL_01f1: ldftn int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'b__21'(int32[][], + int32) + IL_01f7: newobj instance void class [mscorlib]System.Func`3::.ctor(object, + native int) + IL_01fc: stsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate26' + IL_0201: br.s IL_0203 + + IL_0203: ldsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate26' + IL_0208: ldtoken int32[][] + IL_020d: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0212: ldstr "array" + IL_0217: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_021c: stloc.0 + IL_021d: ldtoken [mscorlib]System.Int32 + IL_0222: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0227: ldstr "index" + IL_022c: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0231: stloc.2 + IL_0232: ldloc.0 + IL_0233: ldloc.2 + IL_0234: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::ArrayIndex(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0239: ldc.i4.7 + IL_023a: box [mscorlib]System.Int32 + IL_023f: ldtoken [mscorlib]System.Int32 + IL_0244: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0249: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_024e: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::ArrayIndex(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0253: ldc.i4.2 + IL_0254: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0259: stloc.1 + IL_025a: ldloc.1 + IL_025b: ldc.i4.0 + IL_025c: ldloc.0 + IL_025d: stelem.ref + IL_025e: ldloc.1 + IL_025f: ldc.i4.1 + IL_0260: ldloc.2 + IL_0261: stelem.ref + IL_0262: ldloc.1 + IL_0263: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0268: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_026d: nop + IL_026e: ret + } // end of method ExpressionTrees::ArrayIndexer + + .method public hidebysig static void ArrayLength() cil managed + { + // Code size 172 (0xac) + .maxstack 5 + .locals init (class [System.Core]System.Linq.Expressions.ParameterExpression V_0, + class [System.Core]System.Linq.Expressions.ParameterExpression[] V_1) + IL_0000: nop + IL_0001: ldsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate29' + IL_0006: brtrue.s IL_001b + + IL_0008: ldnull + IL_0009: ldftn int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'b__27'(int32[]) + IL_000f: newobj instance void class [mscorlib]System.Func`2::.ctor(object, + native int) + IL_0014: stsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate29' + IL_0019: br.s IL_001b + + IL_001b: ldsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate29' + IL_0020: ldtoken int32[] + IL_0025: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_002a: ldstr "array" + IL_002f: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0034: stloc.0 + IL_0035: ldloc.0 + IL_0036: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::ArrayLength(class [System.Core]System.Linq.Expressions.Expression) + IL_003b: ldc.i4.1 + IL_003c: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0041: stloc.1 + IL_0042: ldloc.1 + IL_0043: ldc.i4.0 + IL_0044: ldloc.0 + IL_0045: stelem.ref + IL_0046: ldloc.1 + IL_0047: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_004c: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_0051: nop + IL_0052: ldsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate2a' + IL_0057: brtrue.s IL_006c + + IL_0059: ldnull + IL_005a: ldftn int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'b__28'() + IL_0060: newobj instance void class [mscorlib]System.Func`1::.ctor(object, + native int) + IL_0065: stsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate2a' + IL_006a: br.s IL_006c + + IL_006c: ldsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate2a' + IL_0071: ldnull + IL_0072: box [mscorlib]System.Array + IL_0077: ldtoken [mscorlib]System.Array + IL_007c: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0081: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0086: ldtoken method instance int32 [mscorlib]System.Array::get_Length() + IL_008b: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0090: castclass [mscorlib]System.Reflection.MethodInfo + IL_0095: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Property(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo) + IL_009a: ldc.i4.0 + IL_009b: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_00a0: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_00a5: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_00aa: nop + IL_00ab: ret + } // end of method ExpressionTrees::ArrayLength + + .method public hidebysig static void NewObj() cil managed + { + // Code size 613 (0x265) + .maxstack 6 + .locals init (class [System.Core]System.Linq.Expressions.Expression[] V_0) + IL_0000: nop + IL_0001: ldsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate32' + IL_0006: brtrue.s IL_001b + + IL_0008: ldnull + IL_0009: ldftn object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'b__2b'() + IL_000f: newobj instance void class [mscorlib]System.Func`1::.ctor(object, + native int) + IL_0014: stsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate32' + IL_0019: br.s IL_001b + + IL_001b: ldsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate32' + IL_0020: ldtoken method instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.SimpleType::.ctor() + IL_0025: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_002a: castclass [mscorlib]System.Reflection.ConstructorInfo + IL_002f: ldc.i4.0 + IL_0030: newarr [System.Core]System.Linq.Expressions.Expression + IL_0035: call class [System.Core]System.Linq.Expressions.NewExpression [System.Core]System.Linq.Expressions.Expression::New(class [mscorlib]System.Reflection.ConstructorInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_003a: ldc.i4.0 + IL_003b: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0040: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0045: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_004a: nop + IL_004b: ldsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate33' + IL_0050: brtrue.s IL_0065 + + IL_0052: ldnull + IL_0053: ldftn object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'b__2c'() + IL_0059: newobj instance void class [mscorlib]System.Func`1::.ctor(object, + native int) + IL_005e: stsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate33' + IL_0063: br.s IL_0065 + + IL_0065: ldsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate33' + IL_006a: ldtoken method instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.SimpleTypeWithCtor::.ctor(int32) + IL_006f: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0074: castclass [mscorlib]System.Reflection.ConstructorInfo + IL_0079: ldc.i4.1 + IL_007a: newarr [System.Core]System.Linq.Expressions.Expression + IL_007f: stloc.0 + IL_0080: ldloc.0 + IL_0081: ldc.i4.0 + IL_0082: ldc.i4.5 + IL_0083: box [mscorlib]System.Int32 + IL_0088: ldtoken [mscorlib]System.Int32 + IL_008d: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0092: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0097: stelem.ref + IL_0098: ldloc.0 + IL_0099: call class [System.Core]System.Linq.Expressions.NewExpression [System.Core]System.Linq.Expressions.Expression::New(class [mscorlib]System.Reflection.ConstructorInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_009e: ldc.i4.0 + IL_009f: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_00a4: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_00a9: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_00ae: nop + IL_00af: ldsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate34' + IL_00b4: brtrue.s IL_00c9 + + IL_00b6: ldnull + IL_00b7: ldftn object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'b__2d'() + IL_00bd: newobj instance void class [mscorlib]System.Func`1::.ctor(object, + native int) + IL_00c2: stsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate34' + IL_00c7: br.s IL_00c9 + + IL_00c9: ldsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate34' + IL_00ce: ldtoken method instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.SimpleTypeWithMultipleCtors::.ctor() + IL_00d3: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_00d8: castclass [mscorlib]System.Reflection.ConstructorInfo + IL_00dd: ldc.i4.0 + IL_00de: newarr [System.Core]System.Linq.Expressions.Expression + IL_00e3: call class [System.Core]System.Linq.Expressions.NewExpression [System.Core]System.Linq.Expressions.Expression::New(class [mscorlib]System.Reflection.ConstructorInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_00e8: ldc.i4.0 + IL_00e9: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_00ee: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_00f3: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_00f8: nop + IL_00f9: ldsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate35' + IL_00fe: brtrue.s IL_0113 + + IL_0100: ldnull + IL_0101: ldftn object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'b__2e'() + IL_0107: newobj instance void class [mscorlib]System.Func`1::.ctor(object, + native int) + IL_010c: stsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate35' + IL_0111: br.s IL_0113 + + IL_0113: ldsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate35' + IL_0118: ldtoken method instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.SimpleTypeWithMultipleCtors::.ctor(int32) + IL_011d: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0122: castclass [mscorlib]System.Reflection.ConstructorInfo + IL_0127: ldc.i4.1 + IL_0128: newarr [System.Core]System.Linq.Expressions.Expression + IL_012d: stloc.0 + IL_012e: ldloc.0 + IL_012f: ldc.i4.0 + IL_0130: ldc.i4.5 + IL_0131: box [mscorlib]System.Int32 + IL_0136: ldtoken [mscorlib]System.Int32 + IL_013b: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0140: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0145: stelem.ref + IL_0146: ldloc.0 + IL_0147: call class [System.Core]System.Linq.Expressions.NewExpression [System.Core]System.Linq.Expressions.Expression::New(class [mscorlib]System.Reflection.ConstructorInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_014c: ldc.i4.0 + IL_014d: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0152: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0157: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_015c: nop + IL_015d: ldsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate36' + IL_0162: brtrue.s IL_0177 + + IL_0164: ldnull + IL_0165: ldftn object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'b__2f'() + IL_016b: newobj instance void class [mscorlib]System.Func`1::.ctor(object, + native int) + IL_0170: stsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate36' + IL_0175: br.s IL_0177 + + IL_0177: ldsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate36' + IL_017c: ldtoken method instance void class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/GenericClass`1::.ctor() + IL_0181: ldtoken class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/GenericClass`1 + IL_0186: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle, + valuetype [mscorlib]System.RuntimeTypeHandle) + IL_018b: castclass [mscorlib]System.Reflection.ConstructorInfo + IL_0190: ldc.i4.0 + IL_0191: newarr [System.Core]System.Linq.Expressions.Expression + IL_0196: call class [System.Core]System.Linq.Expressions.NewExpression [System.Core]System.Linq.Expressions.Expression::New(class [mscorlib]System.Reflection.ConstructorInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_019b: ldc.i4.0 + IL_019c: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_01a1: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_01a6: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_01ab: nop + IL_01ac: ldsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate37' + IL_01b1: brtrue.s IL_01c6 + + IL_01b3: ldnull + IL_01b4: ldftn object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'b__30'() + IL_01ba: newobj instance void class [mscorlib]System.Func`1::.ctor(object, + native int) + IL_01bf: stsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate37' + IL_01c4: br.s IL_01c6 + + IL_01c6: ldsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate37' + IL_01cb: ldtoken method instance void class ICSharpCode.Decompiler.Tests.TestCases.Pretty.GenericClassWithCtor`1::.ctor() + IL_01d0: ldtoken class ICSharpCode.Decompiler.Tests.TestCases.Pretty.GenericClassWithCtor`1 + IL_01d5: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle, + valuetype [mscorlib]System.RuntimeTypeHandle) + IL_01da: castclass [mscorlib]System.Reflection.ConstructorInfo + IL_01df: ldc.i4.0 + IL_01e0: newarr [System.Core]System.Linq.Expressions.Expression + IL_01e5: call class [System.Core]System.Linq.Expressions.NewExpression [System.Core]System.Linq.Expressions.Expression::New(class [mscorlib]System.Reflection.ConstructorInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_01ea: ldc.i4.0 + IL_01eb: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_01f0: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_01f5: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_01fa: nop + IL_01fb: ldsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate38' + IL_0200: brtrue.s IL_0215 + + IL_0202: ldnull + IL_0203: ldftn object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'b__31'() + IL_0209: newobj instance void class [mscorlib]System.Func`1::.ctor(object, + native int) + IL_020e: stsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate38' + IL_0213: br.s IL_0215 + + IL_0215: ldsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate38' + IL_021a: ldtoken method instance void class ICSharpCode.Decompiler.Tests.TestCases.Pretty.GenericClassWithMultipleCtors`1::.ctor(int32) + IL_021f: ldtoken class ICSharpCode.Decompiler.Tests.TestCases.Pretty.GenericClassWithMultipleCtors`1 + IL_0224: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle, + valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0229: castclass [mscorlib]System.Reflection.ConstructorInfo + IL_022e: ldc.i4.1 + IL_022f: newarr [System.Core]System.Linq.Expressions.Expression + IL_0234: stloc.0 + IL_0235: ldloc.0 + IL_0236: ldc.i4.0 + IL_0237: ldc.i4.5 + IL_0238: box [mscorlib]System.Int32 + IL_023d: ldtoken [mscorlib]System.Int32 + IL_0242: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0247: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_024c: stelem.ref + IL_024d: ldloc.0 + IL_024e: call class [System.Core]System.Linq.Expressions.NewExpression [System.Core]System.Linq.Expressions.Expression::New(class [mscorlib]System.Reflection.ConstructorInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_0253: ldc.i4.0 + IL_0254: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0259: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_025e: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_0263: nop + IL_0264: ret + } // end of method ExpressionTrees::NewObj + + .method public hidebysig static void TypeOfExpr() cil managed + { + // Code size 392 (0x188) + .maxstack 3 + IL_0000: nop + IL_0001: ldsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate3e' + IL_0006: brtrue.s IL_001b + + IL_0008: ldnull + IL_0009: ldftn class [mscorlib]System.Type ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'b__39'() + IL_000f: newobj instance void class [mscorlib]System.Func`1::.ctor(object, + native int) + IL_0014: stsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate3e' + IL_0019: br.s IL_001b + + IL_001b: ldsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate3e' + IL_0020: ldtoken [mscorlib]System.Int32 + IL_0025: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_002a: box [mscorlib]System.Type + IL_002f: ldtoken [mscorlib]System.Type + IL_0034: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0039: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_003e: ldc.i4.0 + IL_003f: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0044: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0049: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_004e: nop + IL_004f: ldsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate3f' + IL_0054: brtrue.s IL_0069 + + IL_0056: ldnull + IL_0057: ldftn class [mscorlib]System.Type ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'b__3a'() + IL_005d: newobj instance void class [mscorlib]System.Func`1::.ctor(object, + native int) + IL_0062: stsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate3f' + IL_0067: br.s IL_0069 + + IL_0069: ldsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate3f' + IL_006e: ldtoken [mscorlib]System.Object + IL_0073: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0078: box [mscorlib]System.Type + IL_007d: ldtoken [mscorlib]System.Type + IL_0082: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0087: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_008c: ldc.i4.0 + IL_008d: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0092: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0097: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_009c: nop + IL_009d: ldsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate40' + IL_00a2: brtrue.s IL_00b7 + + IL_00a4: ldnull + IL_00a5: ldftn class [mscorlib]System.Type ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'b__3b'() + IL_00ab: newobj instance void class [mscorlib]System.Func`1::.ctor(object, + native int) + IL_00b0: stsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate40' + IL_00b5: br.s IL_00b7 + + IL_00b7: ldsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate40' + IL_00bc: ldtoken [mscorlib]System.Collections.Generic.List`1 + IL_00c1: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00c6: box [mscorlib]System.Type + IL_00cb: ldtoken [mscorlib]System.Type + IL_00d0: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00d5: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_00da: ldc.i4.0 + IL_00db: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_00e0: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_00e5: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_00ea: nop + IL_00eb: ldsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate41' + IL_00f0: brtrue.s IL_0105 + + IL_00f2: ldnull + IL_00f3: ldftn class [mscorlib]System.Type ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'b__3c'() + IL_00f9: newobj instance void class [mscorlib]System.Func`1::.ctor(object, + native int) + IL_00fe: stsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate41' + IL_0103: br.s IL_0105 + + IL_0105: ldsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate41' + IL_010a: ldtoken class [mscorlib]System.Collections.Generic.List`1 + IL_010f: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0114: box [mscorlib]System.Type + IL_0119: ldtoken [mscorlib]System.Type + IL_011e: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0123: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0128: ldc.i4.0 + IL_0129: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_012e: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0133: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_0138: nop + IL_0139: ldsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate42' + IL_013e: brtrue.s IL_0153 + + IL_0140: ldnull + IL_0141: ldftn class [mscorlib]System.Type ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'b__3d'() + IL_0147: newobj instance void class [mscorlib]System.Func`1::.ctor(object, + native int) + IL_014c: stsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate42' + IL_0151: br.s IL_0153 + + IL_0153: ldsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate42' + IL_0158: ldtoken int32* + IL_015d: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0162: box [mscorlib]System.Type + IL_0167: ldtoken [mscorlib]System.Type + IL_016c: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0171: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0176: ldc.i4.0 + IL_0177: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_017c: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0181: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_0186: nop + IL_0187: ret + } // end of method ExpressionTrees::TypeOfExpr + + .method public hidebysig static void AsTypeExpr() cil managed + { + // Code size 184 (0xb8) + .maxstack 5 + .locals init (class [System.Core]System.Linq.Expressions.ParameterExpression V_0, + class [System.Core]System.Linq.Expressions.ParameterExpression[] V_1) + IL_0000: nop + IL_0001: ldsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate45' + IL_0006: brtrue.s IL_001b + + IL_0008: ldnull + IL_0009: ldftn class ICSharpCode.Decompiler.Tests.TestCases.Pretty.MyClass ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'b__43'(object) + IL_000f: newobj instance void class [mscorlib]System.Func`2::.ctor(object, + native int) + IL_0014: stsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate45' + IL_0019: br.s IL_001b + + IL_001b: ldsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate45' + IL_0020: ldtoken [mscorlib]System.Object + IL_0025: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_002a: ldstr "obj" + IL_002f: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0034: stloc.0 + IL_0035: ldloc.0 + IL_0036: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.MyClass + IL_003b: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0040: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::TypeAs(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_0045: ldc.i4.1 + IL_0046: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_004b: stloc.1 + IL_004c: ldloc.1 + IL_004d: ldc.i4.0 + IL_004e: ldloc.0 + IL_004f: stelem.ref + IL_0050: ldloc.1 + IL_0051: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0056: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_005b: nop + IL_005c: ldsfld class [mscorlib]System.Func`2> ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate46' + IL_0061: brtrue.s IL_0076 + + IL_0063: ldnull + IL_0064: ldftn class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/GenericClass`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'b__44'(object) + IL_006a: newobj instance void class [mscorlib]System.Func`2>::.ctor(object, + native int) + IL_006f: stsfld class [mscorlib]System.Func`2> ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate46' + IL_0074: br.s IL_0076 + + IL_0076: ldsfld class [mscorlib]System.Func`2> ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate46' + IL_007b: ldtoken [mscorlib]System.Object + IL_0080: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0085: ldstr "obj" + IL_008a: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_008f: stloc.0 + IL_0090: ldloc.0 + IL_0091: ldtoken class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/GenericClass`1 + IL_0096: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_009b: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::TypeAs(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_00a0: ldc.i4.1 + IL_00a1: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_00a6: stloc.1 + IL_00a7: ldloc.1 + IL_00a8: ldc.i4.0 + IL_00a9: ldloc.0 + IL_00aa: stelem.ref + IL_00ab: ldloc.1 + IL_00ac: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_00b1: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_00b6: nop + IL_00b7: ret + } // end of method ExpressionTrees::AsTypeExpr + + .method public hidebysig static void IsTypeExpr() cil managed + { + // Code size 93 (0x5d) + .maxstack 5 + .locals init (class [System.Core]System.Linq.Expressions.ParameterExpression V_0, + class [System.Core]System.Linq.Expressions.ParameterExpression[] V_1) + IL_0000: nop + IL_0001: ldsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate48' + IL_0006: brtrue.s IL_001b + + IL_0008: ldnull + IL_0009: ldftn bool ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'b__47'(object) + IL_000f: newobj instance void class [mscorlib]System.Func`2::.ctor(object, + native int) + IL_0014: stsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate48' + IL_0019: br.s IL_001b + + IL_001b: ldsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate48' + IL_0020: ldtoken [mscorlib]System.Object + IL_0025: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_002a: ldstr "obj" + IL_002f: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0034: stloc.0 + IL_0035: ldloc.0 + IL_0036: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.MyClass + IL_003b: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0040: call class [System.Core]System.Linq.Expressions.TypeBinaryExpression [System.Core]System.Linq.Expressions.Expression::TypeIs(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_0045: ldc.i4.1 + IL_0046: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_004b: stloc.1 + IL_004c: ldloc.1 + IL_004d: ldc.i4.0 + IL_004e: ldloc.0 + IL_004f: stelem.ref + IL_0050: ldloc.1 + IL_0051: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0056: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_005b: nop + IL_005c: ret + } // end of method ExpressionTrees::IsTypeExpr + + .method public hidebysig static void UnaryLogicalOperators() cil managed + { + // Code size 83 (0x53) + .maxstack 5 + .locals init (class [System.Core]System.Linq.Expressions.ParameterExpression V_0, + class [System.Core]System.Linq.Expressions.ParameterExpression[] V_1) + IL_0000: nop + IL_0001: ldsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate4a' + IL_0006: brtrue.s IL_001b + + IL_0008: ldnull + IL_0009: ldftn bool ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'b__49'(bool) + IL_000f: newobj instance void class [mscorlib]System.Func`2::.ctor(object, + native int) + IL_0014: stsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate4a' + IL_0019: br.s IL_001b + + IL_001b: ldsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate4a' + IL_0020: ldtoken [mscorlib]System.Boolean + IL_0025: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_002a: ldstr "a" + IL_002f: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0034: stloc.0 + IL_0035: ldloc.0 + IL_0036: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Not(class [System.Core]System.Linq.Expressions.Expression) + IL_003b: ldc.i4.1 + IL_003c: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0041: stloc.1 + IL_0042: ldloc.1 + IL_0043: ldc.i4.0 + IL_0044: ldloc.0 + IL_0045: stelem.ref + IL_0046: ldloc.1 + IL_0047: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_004c: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_0051: nop + IL_0052: ret + } // end of method ExpressionTrees::UnaryLogicalOperators + + .method public hidebysig static void ConditionalOperator() cil managed + { + // Code size 173 (0xad) + .maxstack 5 + .locals init (class [System.Core]System.Linq.Expressions.ParameterExpression V_0, + class [System.Core]System.Linq.Expressions.ParameterExpression[] V_1) + IL_0000: nop + IL_0001: ldnull + IL_0002: ldtoken [mscorlib]System.Boolean + IL_0007: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_000c: ldstr "a" + IL_0011: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0016: stloc.0 + IL_0017: ldloc.0 + IL_0018: ldc.i4.5 + IL_0019: box [mscorlib]System.Int32 + IL_001e: ldtoken [mscorlib]System.Int32 + IL_0023: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0028: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_002d: ldc.i4.s 10 + IL_002f: box [mscorlib]System.Int32 + IL_0034: ldtoken [mscorlib]System.Int32 + IL_0039: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_003e: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0043: call class [System.Core]System.Linq.Expressions.ConditionalExpression [System.Core]System.Linq.Expressions.Expression::Condition(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0048: ldc.i4.1 + IL_0049: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_004e: stloc.1 + IL_004f: ldloc.1 + IL_0050: ldc.i4.0 + IL_0051: ldloc.0 + IL_0052: stelem.ref + IL_0053: ldloc.1 + IL_0054: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0059: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_005e: pop + IL_005f: ldnull + IL_0060: ldtoken [mscorlib]System.Object + IL_0065: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_006a: ldstr "a" + IL_006f: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0074: stloc.0 + IL_0075: ldloc.0 + IL_0076: ldtoken method instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.MyClass::.ctor() + IL_007b: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0080: castclass [mscorlib]System.Reflection.ConstructorInfo + IL_0085: ldc.i4.0 + IL_0086: newarr [System.Core]System.Linq.Expressions.Expression + IL_008b: call class [System.Core]System.Linq.Expressions.NewExpression [System.Core]System.Linq.Expressions.Expression::New(class [mscorlib]System.Reflection.ConstructorInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_0090: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Coalesce(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0095: ldc.i4.1 + IL_0096: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_009b: stloc.1 + IL_009c: ldloc.1 + IL_009d: ldc.i4.0 + IL_009e: ldloc.0 + IL_009f: stelem.ref + IL_00a0: ldloc.1 + IL_00a1: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_00a6: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_00ab: pop + IL_00ac: ret + } // end of method ExpressionTrees::ConditionalOperator + + .method public hidebysig static void BinaryLogicalOperators() cil managed + { + // Code size 1639 (0x667) + .maxstack 5 + .locals init (class [System.Core]System.Linq.Expressions.ParameterExpression V_0, + class [System.Core]System.Linq.Expressions.ParameterExpression V_1, + class [System.Core]System.Linq.Expressions.ParameterExpression[] V_2) + IL_0000: nop + IL_0001: ldnull + IL_0002: ldtoken [mscorlib]System.Int32 + IL_0007: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_000c: ldstr "a" + IL_0011: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0016: stloc.0 + IL_0017: ldtoken [mscorlib]System.Int32 + IL_001c: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0021: ldstr "b" + IL_0026: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_002b: stloc.1 + IL_002c: ldloc.0 + IL_002d: ldloc.1 + IL_002e: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Equal(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0033: ldc.i4.2 + IL_0034: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0039: stloc.2 + IL_003a: ldloc.2 + IL_003b: ldc.i4.0 + IL_003c: ldloc.0 + IL_003d: stelem.ref + IL_003e: ldloc.2 + IL_003f: ldc.i4.1 + IL_0040: ldloc.1 + IL_0041: stelem.ref + IL_0042: ldloc.2 + IL_0043: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0048: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_004d: pop + IL_004e: ldnull + IL_004f: ldtoken [mscorlib]System.Int32 + IL_0054: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0059: ldstr "a" + IL_005e: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0063: stloc.0 + IL_0064: ldtoken [mscorlib]System.Int32 + IL_0069: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_006e: ldstr "b" + IL_0073: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0078: stloc.1 + IL_0079: ldloc.0 + IL_007a: ldloc.1 + IL_007b: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::NotEqual(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0080: ldc.i4.2 + IL_0081: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0086: stloc.2 + IL_0087: ldloc.2 + IL_0088: ldc.i4.0 + IL_0089: ldloc.0 + IL_008a: stelem.ref + IL_008b: ldloc.2 + IL_008c: ldc.i4.1 + IL_008d: ldloc.1 + IL_008e: stelem.ref + IL_008f: ldloc.2 + IL_0090: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0095: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_009a: pop + IL_009b: ldnull + IL_009c: ldtoken [mscorlib]System.Int32 + IL_00a1: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00a6: ldstr "a" + IL_00ab: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_00b0: stloc.0 + IL_00b1: ldtoken [mscorlib]System.Int32 + IL_00b6: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00bb: ldstr "b" + IL_00c0: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_00c5: stloc.1 + IL_00c6: ldloc.0 + IL_00c7: ldloc.1 + IL_00c8: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::LessThan(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_00cd: ldc.i4.2 + IL_00ce: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_00d3: stloc.2 + IL_00d4: ldloc.2 + IL_00d5: ldc.i4.0 + IL_00d6: ldloc.0 + IL_00d7: stelem.ref + IL_00d8: ldloc.2 + IL_00d9: ldc.i4.1 + IL_00da: ldloc.1 + IL_00db: stelem.ref + IL_00dc: ldloc.2 + IL_00dd: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_00e2: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_00e7: pop + IL_00e8: ldnull + IL_00e9: ldtoken [mscorlib]System.Int32 + IL_00ee: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00f3: ldstr "a" + IL_00f8: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_00fd: stloc.0 + IL_00fe: ldtoken [mscorlib]System.Int32 + IL_0103: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0108: ldstr "b" + IL_010d: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0112: stloc.1 + IL_0113: ldloc.0 + IL_0114: ldloc.1 + IL_0115: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::LessThanOrEqual(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_011a: ldc.i4.2 + IL_011b: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0120: stloc.2 + IL_0121: ldloc.2 + IL_0122: ldc.i4.0 + IL_0123: ldloc.0 + IL_0124: stelem.ref + IL_0125: ldloc.2 + IL_0126: ldc.i4.1 + IL_0127: ldloc.1 + IL_0128: stelem.ref + IL_0129: ldloc.2 + IL_012a: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_012f: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0134: pop + IL_0135: ldnull + IL_0136: ldtoken [mscorlib]System.Int32 + IL_013b: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0140: ldstr "a" + IL_0145: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_014a: stloc.0 + IL_014b: ldtoken [mscorlib]System.Int32 + IL_0150: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0155: ldstr "b" + IL_015a: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_015f: stloc.1 + IL_0160: ldloc.0 + IL_0161: ldloc.1 + IL_0162: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::GreaterThan(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0167: ldc.i4.2 + IL_0168: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_016d: stloc.2 + IL_016e: ldloc.2 + IL_016f: ldc.i4.0 + IL_0170: ldloc.0 + IL_0171: stelem.ref + IL_0172: ldloc.2 + IL_0173: ldc.i4.1 + IL_0174: ldloc.1 + IL_0175: stelem.ref + IL_0176: ldloc.2 + IL_0177: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_017c: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0181: pop + IL_0182: ldnull + IL_0183: ldtoken [mscorlib]System.Int32 + IL_0188: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_018d: ldstr "a" + IL_0192: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0197: stloc.0 + IL_0198: ldtoken [mscorlib]System.Int32 + IL_019d: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_01a2: ldstr "b" + IL_01a7: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_01ac: stloc.1 + IL_01ad: ldloc.0 + IL_01ae: ldloc.1 + IL_01af: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::GreaterThanOrEqual(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_01b4: ldc.i4.2 + IL_01b5: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_01ba: stloc.2 + IL_01bb: ldloc.2 + IL_01bc: ldc.i4.0 + IL_01bd: ldloc.0 + IL_01be: stelem.ref + IL_01bf: ldloc.2 + IL_01c0: ldc.i4.1 + IL_01c1: ldloc.1 + IL_01c2: stelem.ref + IL_01c3: ldloc.2 + IL_01c4: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_01c9: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_01ce: pop + IL_01cf: ldnull + IL_01d0: ldtoken [mscorlib]System.Int32 + IL_01d5: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_01da: ldstr "a" + IL_01df: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_01e4: stloc.0 + IL_01e5: ldtoken [mscorlib]System.Int32 + IL_01ea: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_01ef: ldstr "b" + IL_01f4: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_01f9: stloc.1 + IL_01fa: ldloc.0 + IL_01fb: ldc.i4.1 + IL_01fc: box [mscorlib]System.Int32 + IL_0201: ldtoken [mscorlib]System.Int32 + IL_0206: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_020b: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0210: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Equal(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0215: ldloc.1 + IL_0216: ldc.i4.2 + IL_0217: box [mscorlib]System.Int32 + IL_021c: ldtoken [mscorlib]System.Int32 + IL_0221: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0226: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_022b: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Equal(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0230: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::AndAlso(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0235: ldc.i4.2 + IL_0236: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_023b: stloc.2 + IL_023c: ldloc.2 + IL_023d: ldc.i4.0 + IL_023e: ldloc.0 + IL_023f: stelem.ref + IL_0240: ldloc.2 + IL_0241: ldc.i4.1 + IL_0242: ldloc.1 + IL_0243: stelem.ref + IL_0244: ldloc.2 + IL_0245: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_024a: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_024f: pop + IL_0250: ldnull + IL_0251: ldtoken [mscorlib]System.Int32 + IL_0256: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_025b: ldstr "a" + IL_0260: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0265: stloc.0 + IL_0266: ldtoken [mscorlib]System.Int32 + IL_026b: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0270: ldstr "b" + IL_0275: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_027a: stloc.1 + IL_027b: ldloc.0 + IL_027c: ldc.i4.1 + IL_027d: box [mscorlib]System.Int32 + IL_0282: ldtoken [mscorlib]System.Int32 + IL_0287: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_028c: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0291: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Equal(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0296: ldloc.1 + IL_0297: ldc.i4.2 + IL_0298: box [mscorlib]System.Int32 + IL_029d: ldtoken [mscorlib]System.Int32 + IL_02a2: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_02a7: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_02ac: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Equal(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_02b1: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::OrElse(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_02b6: ldc.i4.2 + IL_02b7: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_02bc: stloc.2 + IL_02bd: ldloc.2 + IL_02be: ldc.i4.0 + IL_02bf: ldloc.0 + IL_02c0: stelem.ref + IL_02c1: ldloc.2 + IL_02c2: ldc.i4.1 + IL_02c3: ldloc.1 + IL_02c4: stelem.ref + IL_02c5: ldloc.2 + IL_02c6: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_02cb: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_02d0: pop + IL_02d1: ldnull + IL_02d2: ldtoken [mscorlib]System.Int32 + IL_02d7: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_02dc: ldstr "a" + IL_02e1: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_02e6: stloc.0 + IL_02e7: ldtoken [mscorlib]System.Int16 + IL_02ec: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_02f1: ldstr "b" + IL_02f6: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_02fb: stloc.1 + IL_02fc: ldloc.0 + IL_02fd: ldloc.1 + IL_02fe: ldtoken [mscorlib]System.Int32 + IL_0303: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0308: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_030d: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Equal(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0312: ldc.i4.2 + IL_0313: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0318: stloc.2 + IL_0319: ldloc.2 + IL_031a: ldc.i4.0 + IL_031b: ldloc.0 + IL_031c: stelem.ref + IL_031d: ldloc.2 + IL_031e: ldc.i4.1 + IL_031f: ldloc.1 + IL_0320: stelem.ref + IL_0321: ldloc.2 + IL_0322: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0327: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_032c: pop + IL_032d: ldnull + IL_032e: ldtoken [mscorlib]System.UInt16 + IL_0333: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0338: ldstr "a" + IL_033d: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0342: stloc.0 + IL_0343: ldtoken [mscorlib]System.Int32 + IL_0348: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_034d: ldstr "b" + IL_0352: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0357: stloc.1 + IL_0358: ldloc.0 + IL_0359: ldtoken [mscorlib]System.Int32 + IL_035e: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0363: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_0368: ldloc.1 + IL_0369: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::NotEqual(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_036e: ldc.i4.2 + IL_036f: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0374: stloc.2 + IL_0375: ldloc.2 + IL_0376: ldc.i4.0 + IL_0377: ldloc.0 + IL_0378: stelem.ref + IL_0379: ldloc.2 + IL_037a: ldc.i4.1 + IL_037b: ldloc.1 + IL_037c: stelem.ref + IL_037d: ldloc.2 + IL_037e: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0383: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0388: pop + IL_0389: ldnull + IL_038a: ldtoken [mscorlib]System.Int32 + IL_038f: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0394: ldstr "a" + IL_0399: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_039e: stloc.0 + IL_039f: ldtoken [mscorlib]System.Int64 + IL_03a4: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_03a9: ldstr "b" + IL_03ae: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_03b3: stloc.1 + IL_03b4: ldloc.0 + IL_03b5: ldtoken [mscorlib]System.Int64 + IL_03ba: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_03bf: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_03c4: ldloc.1 + IL_03c5: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::LessThan(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_03ca: ldc.i4.2 + IL_03cb: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_03d0: stloc.2 + IL_03d1: ldloc.2 + IL_03d2: ldc.i4.0 + IL_03d3: ldloc.0 + IL_03d4: stelem.ref + IL_03d5: ldloc.2 + IL_03d6: ldc.i4.1 + IL_03d7: ldloc.1 + IL_03d8: stelem.ref + IL_03d9: ldloc.2 + IL_03da: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_03df: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_03e4: pop + IL_03e5: ldnull + IL_03e6: ldtoken [mscorlib]System.UInt64 + IL_03eb: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_03f0: ldstr "a" + IL_03f5: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_03fa: stloc.0 + IL_03fb: ldtoken [mscorlib]System.UInt32 + IL_0400: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0405: ldstr "b" + IL_040a: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_040f: stloc.1 + IL_0410: ldloc.0 + IL_0411: ldloc.1 + IL_0412: ldtoken [mscorlib]System.UInt64 + IL_0417: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_041c: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_0421: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::LessThanOrEqual(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0426: ldc.i4.2 + IL_0427: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_042c: stloc.2 + IL_042d: ldloc.2 + IL_042e: ldc.i4.0 + IL_042f: ldloc.0 + IL_0430: stelem.ref + IL_0431: ldloc.2 + IL_0432: ldc.i4.1 + IL_0433: ldloc.1 + IL_0434: stelem.ref + IL_0435: ldloc.2 + IL_0436: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_043b: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0440: pop + IL_0441: ldnull + IL_0442: ldtoken [mscorlib]System.Int32 + IL_0447: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_044c: ldstr "a" + IL_0451: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0456: stloc.0 + IL_0457: ldtoken [mscorlib]System.UInt32 + IL_045c: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0461: ldstr "b" + IL_0466: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_046b: stloc.1 + IL_046c: ldloc.0 + IL_046d: ldtoken [mscorlib]System.Int64 + IL_0472: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0477: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_047c: ldloc.1 + IL_047d: ldtoken [mscorlib]System.Int64 + IL_0482: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0487: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_048c: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::LessThanOrEqual(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0491: ldc.i4.2 + IL_0492: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0497: stloc.2 + IL_0498: ldloc.2 + IL_0499: ldc.i4.0 + IL_049a: ldloc.0 + IL_049b: stelem.ref + IL_049c: ldloc.2 + IL_049d: ldc.i4.1 + IL_049e: ldloc.1 + IL_049f: stelem.ref + IL_04a0: ldloc.2 + IL_04a1: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_04a6: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_04ab: pop + IL_04ac: ldnull + IL_04ad: ldtoken [mscorlib]System.Int32 + IL_04b2: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_04b7: ldstr "a" + IL_04bc: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_04c1: stloc.0 + IL_04c2: ldtoken [mscorlib]System.Int64 + IL_04c7: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_04cc: ldstr "b" + IL_04d1: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_04d6: stloc.1 + IL_04d7: ldloc.0 + IL_04d8: ldtoken [mscorlib]System.Int64 + IL_04dd: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_04e2: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_04e7: ldloc.1 + IL_04e8: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::GreaterThan(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_04ed: ldc.i4.2 + IL_04ee: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_04f3: stloc.2 + IL_04f4: ldloc.2 + IL_04f5: ldc.i4.0 + IL_04f6: ldloc.0 + IL_04f7: stelem.ref + IL_04f8: ldloc.2 + IL_04f9: ldc.i4.1 + IL_04fa: ldloc.1 + IL_04fb: stelem.ref + IL_04fc: ldloc.2 + IL_04fd: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0502: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0507: pop + IL_0508: ldnull + IL_0509: ldtoken [mscorlib]System.Int16 + IL_050e: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0513: ldstr "a" + IL_0518: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_051d: stloc.0 + IL_051e: ldtoken [mscorlib]System.Int64 + IL_0523: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0528: ldstr "b" + IL_052d: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0532: stloc.1 + IL_0533: ldloc.0 + IL_0534: ldtoken [mscorlib]System.Int64 + IL_0539: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_053e: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_0543: ldloc.1 + IL_0544: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::GreaterThanOrEqual(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0549: ldc.i4.2 + IL_054a: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_054f: stloc.2 + IL_0550: ldloc.2 + IL_0551: ldc.i4.0 + IL_0552: ldloc.0 + IL_0553: stelem.ref + IL_0554: ldloc.2 + IL_0555: ldc.i4.1 + IL_0556: ldloc.1 + IL_0557: stelem.ref + IL_0558: ldloc.2 + IL_0559: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_055e: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0563: pop + IL_0564: ldnull + IL_0565: ldtoken [mscorlib]System.Int32 + IL_056a: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_056f: ldstr "a" + IL_0574: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0579: stloc.0 + IL_057a: ldtoken [mscorlib]System.Int32 + IL_057f: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0584: ldstr "b" + IL_0589: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_058e: stloc.1 + IL_058f: ldloc.0 + IL_0590: ldc.i4.1 + IL_0591: box [mscorlib]System.Int32 + IL_0596: ldtoken [mscorlib]System.Int32 + IL_059b: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_05a0: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_05a5: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Equal(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_05aa: ldloc.1 + IL_05ab: ldc.i4.2 + IL_05ac: box [mscorlib]System.Int32 + IL_05b1: ldtoken [mscorlib]System.Int32 + IL_05b6: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_05bb: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_05c0: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Equal(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_05c5: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::AndAlso(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_05ca: ldc.i4.2 + IL_05cb: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_05d0: stloc.2 + IL_05d1: ldloc.2 + IL_05d2: ldc.i4.0 + IL_05d3: ldloc.0 + IL_05d4: stelem.ref + IL_05d5: ldloc.2 + IL_05d6: ldc.i4.1 + IL_05d7: ldloc.1 + IL_05d8: stelem.ref + IL_05d9: ldloc.2 + IL_05da: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_05df: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_05e4: pop + IL_05e5: ldnull + IL_05e6: ldtoken [mscorlib]System.Int32 + IL_05eb: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_05f0: ldstr "a" + IL_05f5: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_05fa: stloc.0 + IL_05fb: ldtoken [mscorlib]System.Int32 + IL_0600: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0605: ldstr "b" + IL_060a: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_060f: stloc.1 + IL_0610: ldloc.0 + IL_0611: ldc.i4.1 + IL_0612: box [mscorlib]System.Int32 + IL_0617: ldtoken [mscorlib]System.Int32 + IL_061c: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0621: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0626: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Equal(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_062b: ldloc.1 + IL_062c: ldc.i4.2 + IL_062d: box [mscorlib]System.Int32 + IL_0632: ldtoken [mscorlib]System.Int32 + IL_0637: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_063c: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0641: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Equal(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0646: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::OrElse(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_064b: ldc.i4.2 + IL_064c: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0651: stloc.2 + IL_0652: ldloc.2 + IL_0653: ldc.i4.0 + IL_0654: ldloc.0 + IL_0655: stelem.ref + IL_0656: ldloc.2 + IL_0657: ldc.i4.1 + IL_0658: ldloc.1 + IL_0659: stelem.ref + IL_065a: ldloc.2 + IL_065b: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0660: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0665: pop + IL_0666: ret + } // end of method ExpressionTrees::BinaryLogicalOperators + + .method public hidebysig static void UnaryArithmeticOperators() cil managed + { + // Code size 159 (0x9f) + .maxstack 5 + .locals init (class [System.Core]System.Linq.Expressions.ParameterExpression V_0, + class [System.Core]System.Linq.Expressions.ParameterExpression[] V_1) + IL_0000: nop + IL_0001: ldsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate4d' + IL_0006: brtrue.s IL_001b + + IL_0008: ldnull + IL_0009: ldftn int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'b__4b'(int32) + IL_000f: newobj instance void class [mscorlib]System.Func`2::.ctor(object, + native int) + IL_0014: stsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate4d' + IL_0019: br.s IL_001b + + IL_001b: ldsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate4d' + IL_0020: ldtoken [mscorlib]System.Int32 + IL_0025: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_002a: ldstr "a" + IL_002f: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0034: stloc.0 + IL_0035: ldloc.0 + IL_0036: ldc.i4.1 + IL_0037: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_003c: stloc.1 + IL_003d: ldloc.1 + IL_003e: ldc.i4.0 + IL_003f: ldloc.0 + IL_0040: stelem.ref + IL_0041: ldloc.1 + IL_0042: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0047: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_004c: nop + IL_004d: ldsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate4e' + IL_0052: brtrue.s IL_0067 + + IL_0054: ldnull + IL_0055: ldftn int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'b__4c'(int32) + IL_005b: newobj instance void class [mscorlib]System.Func`2::.ctor(object, + native int) + IL_0060: stsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate4e' + IL_0065: br.s IL_0067 + + IL_0067: ldsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate4e' + IL_006c: ldtoken [mscorlib]System.Int32 + IL_0071: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0076: ldstr "a" + IL_007b: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0080: stloc.0 + IL_0081: ldloc.0 + IL_0082: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Negate(class [System.Core]System.Linq.Expressions.Expression) + IL_0087: ldc.i4.1 + IL_0088: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_008d: stloc.1 + IL_008e: ldloc.1 + IL_008f: ldc.i4.0 + IL_0090: ldloc.0 + IL_0091: stelem.ref + IL_0092: ldloc.1 + IL_0093: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0098: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_009d: nop + IL_009e: ret + } // end of method ExpressionTrees::UnaryArithmeticOperators + + .method public hidebysig static void BinaryArithmeticOperators() cil managed + { + // Code size 1757 (0x6dd) + .maxstack 5 + .locals init (class [System.Core]System.Linq.Expressions.ParameterExpression V_0, + class [System.Core]System.Linq.Expressions.ParameterExpression V_1, + class [System.Core]System.Linq.Expressions.ParameterExpression[] V_2) + IL_0000: nop + IL_0001: ldsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate5e' + IL_0006: brtrue.s IL_001b + + IL_0008: ldnull + IL_0009: ldftn int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'b__4f'(int32, + int32) + IL_000f: newobj instance void class [mscorlib]System.Func`3::.ctor(object, + native int) + IL_0014: stsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate5e' + IL_0019: br.s IL_001b + + IL_001b: ldsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate5e' + IL_0020: ldtoken [mscorlib]System.Int32 + IL_0025: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_002a: ldstr "a" + IL_002f: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0034: stloc.0 + IL_0035: ldtoken [mscorlib]System.Int32 + IL_003a: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_003f: ldstr "b" + IL_0044: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0049: stloc.1 + IL_004a: ldloc.0 + IL_004b: ldloc.1 + IL_004c: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Add(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0051: ldc.i4.2 + IL_0052: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0057: stloc.2 + IL_0058: ldloc.2 + IL_0059: ldc.i4.0 + IL_005a: ldloc.0 + IL_005b: stelem.ref + IL_005c: ldloc.2 + IL_005d: ldc.i4.1 + IL_005e: ldloc.1 + IL_005f: stelem.ref + IL_0060: ldloc.2 + IL_0061: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0066: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_006b: nop + IL_006c: ldsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate5f' + IL_0071: brtrue.s IL_0086 + + IL_0073: ldnull + IL_0074: ldftn int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'b__50'(int32, + int32) + IL_007a: newobj instance void class [mscorlib]System.Func`3::.ctor(object, + native int) + IL_007f: stsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate5f' + IL_0084: br.s IL_0086 + + IL_0086: ldsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate5f' + IL_008b: ldtoken [mscorlib]System.Int32 + IL_0090: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0095: ldstr "a" + IL_009a: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_009f: stloc.0 + IL_00a0: ldtoken [mscorlib]System.Int32 + IL_00a5: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00aa: ldstr "b" + IL_00af: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_00b4: stloc.1 + IL_00b5: ldloc.0 + IL_00b6: ldloc.1 + IL_00b7: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Subtract(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_00bc: ldc.i4.2 + IL_00bd: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_00c2: stloc.2 + IL_00c3: ldloc.2 + IL_00c4: ldc.i4.0 + IL_00c5: ldloc.0 + IL_00c6: stelem.ref + IL_00c7: ldloc.2 + IL_00c8: ldc.i4.1 + IL_00c9: ldloc.1 + IL_00ca: stelem.ref + IL_00cb: ldloc.2 + IL_00cc: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_00d1: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_00d6: nop + IL_00d7: ldsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate60' + IL_00dc: brtrue.s IL_00f1 + + IL_00de: ldnull + IL_00df: ldftn int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'b__51'(int32, + int32) + IL_00e5: newobj instance void class [mscorlib]System.Func`3::.ctor(object, + native int) + IL_00ea: stsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate60' + IL_00ef: br.s IL_00f1 + + IL_00f1: ldsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate60' + IL_00f6: ldtoken [mscorlib]System.Int32 + IL_00fb: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0100: ldstr "a" + IL_0105: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_010a: stloc.0 + IL_010b: ldtoken [mscorlib]System.Int32 + IL_0110: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0115: ldstr "b" + IL_011a: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_011f: stloc.1 + IL_0120: ldloc.0 + IL_0121: ldloc.1 + IL_0122: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Multiply(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0127: ldc.i4.2 + IL_0128: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_012d: stloc.2 + IL_012e: ldloc.2 + IL_012f: ldc.i4.0 + IL_0130: ldloc.0 + IL_0131: stelem.ref + IL_0132: ldloc.2 + IL_0133: ldc.i4.1 + IL_0134: ldloc.1 + IL_0135: stelem.ref + IL_0136: ldloc.2 + IL_0137: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_013c: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_0141: nop + IL_0142: ldsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate61' + IL_0147: brtrue.s IL_015c + + IL_0149: ldnull + IL_014a: ldftn int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'b__52'(int32, + int32) + IL_0150: newobj instance void class [mscorlib]System.Func`3::.ctor(object, + native int) + IL_0155: stsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate61' + IL_015a: br.s IL_015c + + IL_015c: ldsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate61' + IL_0161: ldtoken [mscorlib]System.Int32 + IL_0166: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_016b: ldstr "a" + IL_0170: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0175: stloc.0 + IL_0176: ldtoken [mscorlib]System.Int32 + IL_017b: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0180: ldstr "b" + IL_0185: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_018a: stloc.1 + IL_018b: ldloc.0 + IL_018c: ldloc.1 + IL_018d: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Divide(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0192: ldc.i4.2 + IL_0193: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0198: stloc.2 + IL_0199: ldloc.2 + IL_019a: ldc.i4.0 + IL_019b: ldloc.0 + IL_019c: stelem.ref + IL_019d: ldloc.2 + IL_019e: ldc.i4.1 + IL_019f: ldloc.1 + IL_01a0: stelem.ref + IL_01a1: ldloc.2 + IL_01a2: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_01a7: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_01ac: nop + IL_01ad: ldsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate62' + IL_01b2: brtrue.s IL_01c7 + + IL_01b4: ldnull + IL_01b5: ldftn int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'b__53'(int32, + int32) + IL_01bb: newobj instance void class [mscorlib]System.Func`3::.ctor(object, + native int) + IL_01c0: stsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate62' + IL_01c5: br.s IL_01c7 + + IL_01c7: ldsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate62' + IL_01cc: ldtoken [mscorlib]System.Int32 + IL_01d1: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_01d6: ldstr "a" + IL_01db: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_01e0: stloc.0 + IL_01e1: ldtoken [mscorlib]System.Int32 + IL_01e6: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_01eb: ldstr "b" + IL_01f0: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_01f5: stloc.1 + IL_01f6: ldloc.0 + IL_01f7: ldloc.1 + IL_01f8: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Modulo(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_01fd: ldc.i4.2 + IL_01fe: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0203: stloc.2 + IL_0204: ldloc.2 + IL_0205: ldc.i4.0 + IL_0206: ldloc.0 + IL_0207: stelem.ref + IL_0208: ldloc.2 + IL_0209: ldc.i4.1 + IL_020a: ldloc.1 + IL_020b: stelem.ref + IL_020c: ldloc.2 + IL_020d: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0212: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_0217: nop + IL_0218: ldsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate63' + IL_021d: brtrue.s IL_0232 + + IL_021f: ldnull + IL_0220: ldftn int64 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'b__54'(int64, + int32) + IL_0226: newobj instance void class [mscorlib]System.Func`3::.ctor(object, + native int) + IL_022b: stsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate63' + IL_0230: br.s IL_0232 + + IL_0232: ldsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate63' + IL_0237: ldtoken [mscorlib]System.Int64 + IL_023c: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0241: ldstr "a" + IL_0246: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_024b: stloc.0 + IL_024c: ldtoken [mscorlib]System.Int32 + IL_0251: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0256: ldstr "b" + IL_025b: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0260: stloc.1 + IL_0261: ldloc.0 + IL_0262: ldloc.1 + IL_0263: ldtoken [mscorlib]System.Int64 + IL_0268: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_026d: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_0272: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Add(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0277: ldc.i4.2 + IL_0278: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_027d: stloc.2 + IL_027e: ldloc.2 + IL_027f: ldc.i4.0 + IL_0280: ldloc.0 + IL_0281: stelem.ref + IL_0282: ldloc.2 + IL_0283: ldc.i4.1 + IL_0284: ldloc.1 + IL_0285: stelem.ref + IL_0286: ldloc.2 + IL_0287: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_028c: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_0291: nop + IL_0292: ldsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate64' + IL_0297: brtrue.s IL_02ac + + IL_0299: ldnull + IL_029a: ldftn int64 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'b__55'(int64, + int32) + IL_02a0: newobj instance void class [mscorlib]System.Func`3::.ctor(object, + native int) + IL_02a5: stsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate64' + IL_02aa: br.s IL_02ac + + IL_02ac: ldsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate64' + IL_02b1: ldtoken [mscorlib]System.Int64 + IL_02b6: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_02bb: ldstr "a" + IL_02c0: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_02c5: stloc.0 + IL_02c6: ldtoken [mscorlib]System.Int32 + IL_02cb: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_02d0: ldstr "b" + IL_02d5: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_02da: stloc.1 + IL_02db: ldloc.0 + IL_02dc: ldloc.1 + IL_02dd: ldtoken [mscorlib]System.Int64 + IL_02e2: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_02e7: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_02ec: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Subtract(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_02f1: ldc.i4.2 + IL_02f2: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_02f7: stloc.2 + IL_02f8: ldloc.2 + IL_02f9: ldc.i4.0 + IL_02fa: ldloc.0 + IL_02fb: stelem.ref + IL_02fc: ldloc.2 + IL_02fd: ldc.i4.1 + IL_02fe: ldloc.1 + IL_02ff: stelem.ref + IL_0300: ldloc.2 + IL_0301: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0306: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_030b: nop + IL_030c: ldsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate65' + IL_0311: brtrue.s IL_0326 + + IL_0313: ldnull + IL_0314: ldftn int64 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'b__56'(int64, + int32) + IL_031a: newobj instance void class [mscorlib]System.Func`3::.ctor(object, + native int) + IL_031f: stsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate65' + IL_0324: br.s IL_0326 + + IL_0326: ldsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate65' + IL_032b: ldtoken [mscorlib]System.Int64 + IL_0330: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0335: ldstr "a" + IL_033a: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_033f: stloc.0 + IL_0340: ldtoken [mscorlib]System.Int32 + IL_0345: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_034a: ldstr "b" + IL_034f: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0354: stloc.1 + IL_0355: ldloc.0 + IL_0356: ldloc.1 + IL_0357: ldtoken [mscorlib]System.Int64 + IL_035c: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0361: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_0366: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Multiply(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_036b: ldc.i4.2 + IL_036c: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0371: stloc.2 + IL_0372: ldloc.2 + IL_0373: ldc.i4.0 + IL_0374: ldloc.0 + IL_0375: stelem.ref + IL_0376: ldloc.2 + IL_0377: ldc.i4.1 + IL_0378: ldloc.1 + IL_0379: stelem.ref + IL_037a: ldloc.2 + IL_037b: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0380: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_0385: nop + IL_0386: ldsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate66' + IL_038b: brtrue.s IL_03a0 + + IL_038d: ldnull + IL_038e: ldftn int64 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'b__57'(int64, + int32) + IL_0394: newobj instance void class [mscorlib]System.Func`3::.ctor(object, + native int) + IL_0399: stsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate66' + IL_039e: br.s IL_03a0 + + IL_03a0: ldsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate66' + IL_03a5: ldtoken [mscorlib]System.Int64 + IL_03aa: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_03af: ldstr "a" + IL_03b4: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_03b9: stloc.0 + IL_03ba: ldtoken [mscorlib]System.Int32 + IL_03bf: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_03c4: ldstr "b" + IL_03c9: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_03ce: stloc.1 + IL_03cf: ldloc.0 + IL_03d0: ldloc.1 + IL_03d1: ldtoken [mscorlib]System.Int64 + IL_03d6: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_03db: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_03e0: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Divide(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_03e5: ldc.i4.2 + IL_03e6: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_03eb: stloc.2 + IL_03ec: ldloc.2 + IL_03ed: ldc.i4.0 + IL_03ee: ldloc.0 + IL_03ef: stelem.ref + IL_03f0: ldloc.2 + IL_03f1: ldc.i4.1 + IL_03f2: ldloc.1 + IL_03f3: stelem.ref + IL_03f4: ldloc.2 + IL_03f5: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_03fa: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_03ff: nop + IL_0400: ldsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate67' + IL_0405: brtrue.s IL_041a + + IL_0407: ldnull + IL_0408: ldftn int64 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'b__58'(int64, + int32) + IL_040e: newobj instance void class [mscorlib]System.Func`3::.ctor(object, + native int) + IL_0413: stsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate67' + IL_0418: br.s IL_041a + + IL_041a: ldsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate67' + IL_041f: ldtoken [mscorlib]System.Int64 + IL_0424: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0429: ldstr "a" + IL_042e: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0433: stloc.0 + IL_0434: ldtoken [mscorlib]System.Int32 + IL_0439: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_043e: ldstr "b" + IL_0443: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0448: stloc.1 + IL_0449: ldloc.0 + IL_044a: ldloc.1 + IL_044b: ldtoken [mscorlib]System.Int64 + IL_0450: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0455: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_045a: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Modulo(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_045f: ldc.i4.2 + IL_0460: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0465: stloc.2 + IL_0466: ldloc.2 + IL_0467: ldc.i4.0 + IL_0468: ldloc.0 + IL_0469: stelem.ref + IL_046a: ldloc.2 + IL_046b: ldc.i4.1 + IL_046c: ldloc.1 + IL_046d: stelem.ref + IL_046e: ldloc.2 + IL_046f: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0474: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_0479: nop + IL_047a: ldsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate68' + IL_047f: brtrue.s IL_0494 + + IL_0481: ldnull + IL_0482: ldftn int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'b__59'(int16, + int32) + IL_0488: newobj instance void class [mscorlib]System.Func`3::.ctor(object, + native int) + IL_048d: stsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate68' + IL_0492: br.s IL_0494 + + IL_0494: ldsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate68' + IL_0499: ldtoken [mscorlib]System.Int16 + IL_049e: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_04a3: ldstr "a" + IL_04a8: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_04ad: stloc.0 + IL_04ae: ldtoken [mscorlib]System.Int32 + IL_04b3: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_04b8: ldstr "b" + IL_04bd: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_04c2: stloc.1 + IL_04c3: ldloc.0 + IL_04c4: ldtoken [mscorlib]System.Int32 + IL_04c9: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_04ce: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_04d3: ldloc.1 + IL_04d4: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Add(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_04d9: ldc.i4.2 + IL_04da: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_04df: stloc.2 + IL_04e0: ldloc.2 + IL_04e1: ldc.i4.0 + IL_04e2: ldloc.0 + IL_04e3: stelem.ref + IL_04e4: ldloc.2 + IL_04e5: ldc.i4.1 + IL_04e6: ldloc.1 + IL_04e7: stelem.ref + IL_04e8: ldloc.2 + IL_04e9: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_04ee: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_04f3: nop + IL_04f4: ldsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate69' + IL_04f9: brtrue.s IL_050e + + IL_04fb: ldnull + IL_04fc: ldftn int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'b__5a'(int32, + int16) + IL_0502: newobj instance void class [mscorlib]System.Func`3::.ctor(object, + native int) + IL_0507: stsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate69' + IL_050c: br.s IL_050e + + IL_050e: ldsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate69' + IL_0513: ldtoken [mscorlib]System.Int32 + IL_0518: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_051d: ldstr "a" + IL_0522: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0527: stloc.0 + IL_0528: ldtoken [mscorlib]System.Int16 + IL_052d: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0532: ldstr "b" + IL_0537: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_053c: stloc.1 + IL_053d: ldloc.0 + IL_053e: ldloc.1 + IL_053f: ldtoken [mscorlib]System.Int32 + IL_0544: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0549: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_054e: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Subtract(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0553: ldc.i4.2 + IL_0554: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0559: stloc.2 + IL_055a: ldloc.2 + IL_055b: ldc.i4.0 + IL_055c: ldloc.0 + IL_055d: stelem.ref + IL_055e: ldloc.2 + IL_055f: ldc.i4.1 + IL_0560: ldloc.1 + IL_0561: stelem.ref + IL_0562: ldloc.2 + IL_0563: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0568: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_056d: nop + IL_056e: ldsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate6a' + IL_0573: brtrue.s IL_0588 + + IL_0575: ldnull + IL_0576: ldftn int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'b__5b'(int16, + int32) + IL_057c: newobj instance void class [mscorlib]System.Func`3::.ctor(object, + native int) + IL_0581: stsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate6a' + IL_0586: br.s IL_0588 + + IL_0588: ldsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate6a' + IL_058d: ldtoken [mscorlib]System.Int16 + IL_0592: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0597: ldstr "a" + IL_059c: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_05a1: stloc.0 + IL_05a2: ldtoken [mscorlib]System.Int32 + IL_05a7: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_05ac: ldstr "b" + IL_05b1: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_05b6: stloc.1 + IL_05b7: ldloc.0 + IL_05b8: ldtoken [mscorlib]System.Int32 + IL_05bd: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_05c2: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_05c7: ldloc.1 + IL_05c8: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Multiply(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_05cd: ldc.i4.2 + IL_05ce: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_05d3: stloc.2 + IL_05d4: ldloc.2 + IL_05d5: ldc.i4.0 + IL_05d6: ldloc.0 + IL_05d7: stelem.ref + IL_05d8: ldloc.2 + IL_05d9: ldc.i4.1 + IL_05da: ldloc.1 + IL_05db: stelem.ref + IL_05dc: ldloc.2 + IL_05dd: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_05e2: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_05e7: nop + IL_05e8: ldsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate6b' + IL_05ed: brtrue.s IL_0602 + + IL_05ef: ldnull + IL_05f0: ldftn int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'b__5c'(int32, + int16) + IL_05f6: newobj instance void class [mscorlib]System.Func`3::.ctor(object, + native int) + IL_05fb: stsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate6b' + IL_0600: br.s IL_0602 + + IL_0602: ldsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate6b' + IL_0607: ldtoken [mscorlib]System.Int32 + IL_060c: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0611: ldstr "a" + IL_0616: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_061b: stloc.0 + IL_061c: ldtoken [mscorlib]System.Int16 + IL_0621: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0626: ldstr "b" + IL_062b: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0630: stloc.1 + IL_0631: ldloc.0 + IL_0632: ldloc.1 + IL_0633: ldtoken [mscorlib]System.Int32 + IL_0638: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_063d: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_0642: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Divide(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0647: ldc.i4.2 + IL_0648: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_064d: stloc.2 + IL_064e: ldloc.2 + IL_064f: ldc.i4.0 + IL_0650: ldloc.0 + IL_0651: stelem.ref + IL_0652: ldloc.2 + IL_0653: ldc.i4.1 + IL_0654: ldloc.1 + IL_0655: stelem.ref + IL_0656: ldloc.2 + IL_0657: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_065c: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_0661: nop + IL_0662: ldsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate6c' + IL_0667: brtrue.s IL_067c + + IL_0669: ldnull + IL_066a: ldftn int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'b__5d'(int16, + int32) + IL_0670: newobj instance void class [mscorlib]System.Func`3::.ctor(object, + native int) + IL_0675: stsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate6c' + IL_067a: br.s IL_067c + + IL_067c: ldsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate6c' + IL_0681: ldtoken [mscorlib]System.Int16 + IL_0686: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_068b: ldstr "a" + IL_0690: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0695: stloc.0 + IL_0696: ldtoken [mscorlib]System.Int32 + IL_069b: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_06a0: ldstr "b" + IL_06a5: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_06aa: stloc.1 + IL_06ab: ldloc.0 + IL_06ac: ldtoken [mscorlib]System.Int32 + IL_06b1: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_06b6: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_06bb: ldloc.1 + IL_06bc: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Modulo(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_06c1: ldc.i4.2 + IL_06c2: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_06c7: stloc.2 + IL_06c8: ldloc.2 + IL_06c9: ldc.i4.0 + IL_06ca: ldloc.0 + IL_06cb: stelem.ref + IL_06cc: ldloc.2 + IL_06cd: ldc.i4.1 + IL_06ce: ldloc.1 + IL_06cf: stelem.ref + IL_06d0: ldloc.2 + IL_06d1: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_06d6: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_06db: nop + IL_06dc: ret + } // end of method ExpressionTrees::BinaryArithmeticOperators + + .method public hidebysig static void BitOperators() cil managed + { + // Code size 404 (0x194) + .maxstack 5 + .locals init (class [System.Core]System.Linq.Expressions.ParameterExpression V_0, + class [System.Core]System.Linq.Expressions.ParameterExpression[] V_1, + class [System.Core]System.Linq.Expressions.ParameterExpression V_2) + IL_0000: nop + IL_0001: ldsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate71' + IL_0006: brtrue.s IL_001b + + IL_0008: ldnull + IL_0009: ldftn int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'b__6d'(int32) + IL_000f: newobj instance void class [mscorlib]System.Func`2::.ctor(object, + native int) + IL_0014: stsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate71' + IL_0019: br.s IL_001b + + IL_001b: ldsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate71' + IL_0020: ldtoken [mscorlib]System.Int32 + IL_0025: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_002a: ldstr "a" + IL_002f: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0034: stloc.0 + IL_0035: ldloc.0 + IL_0036: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Not(class [System.Core]System.Linq.Expressions.Expression) + IL_003b: ldc.i4.1 + IL_003c: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0041: stloc.1 + IL_0042: ldloc.1 + IL_0043: ldc.i4.0 + IL_0044: ldloc.0 + IL_0045: stelem.ref + IL_0046: ldloc.1 + IL_0047: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_004c: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_0051: nop + IL_0052: ldsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate72' + IL_0057: brtrue.s IL_006c + + IL_0059: ldnull + IL_005a: ldftn int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'b__6e'(int32, + int32) + IL_0060: newobj instance void class [mscorlib]System.Func`3::.ctor(object, + native int) + IL_0065: stsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate72' + IL_006a: br.s IL_006c + + IL_006c: ldsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate72' + IL_0071: ldtoken [mscorlib]System.Int32 + IL_0076: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_007b: ldstr "a" + IL_0080: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0085: stloc.0 + IL_0086: ldtoken [mscorlib]System.Int32 + IL_008b: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0090: ldstr "b" + IL_0095: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_009a: stloc.2 + IL_009b: ldloc.0 + IL_009c: ldloc.2 + IL_009d: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::And(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_00a2: ldc.i4.2 + IL_00a3: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_00a8: stloc.1 + IL_00a9: ldloc.1 + IL_00aa: ldc.i4.0 + IL_00ab: ldloc.0 + IL_00ac: stelem.ref + IL_00ad: ldloc.1 + IL_00ae: ldc.i4.1 + IL_00af: ldloc.2 + IL_00b0: stelem.ref + IL_00b1: ldloc.1 + IL_00b2: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_00b7: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_00bc: nop + IL_00bd: ldsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate73' + IL_00c2: brtrue.s IL_00d7 + + IL_00c4: ldnull + IL_00c5: ldftn int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'b__6f'(int32, + int32) + IL_00cb: newobj instance void class [mscorlib]System.Func`3::.ctor(object, + native int) + IL_00d0: stsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate73' + IL_00d5: br.s IL_00d7 + + IL_00d7: ldsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate73' + IL_00dc: ldtoken [mscorlib]System.Int32 + IL_00e1: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00e6: ldstr "a" + IL_00eb: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_00f0: stloc.0 + IL_00f1: ldtoken [mscorlib]System.Int32 + IL_00f6: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00fb: ldstr "b" + IL_0100: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0105: stloc.2 + IL_0106: ldloc.0 + IL_0107: ldloc.2 + IL_0108: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Or(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_010d: ldc.i4.2 + IL_010e: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0113: stloc.1 + IL_0114: ldloc.1 + IL_0115: ldc.i4.0 + IL_0116: ldloc.0 + IL_0117: stelem.ref + IL_0118: ldloc.1 + IL_0119: ldc.i4.1 + IL_011a: ldloc.2 + IL_011b: stelem.ref + IL_011c: ldloc.1 + IL_011d: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0122: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_0127: nop + IL_0128: ldsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate74' + IL_012d: brtrue.s IL_0142 + + IL_012f: ldnull + IL_0130: ldftn int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'b__70'(int32, + int32) + IL_0136: newobj instance void class [mscorlib]System.Func`3::.ctor(object, + native int) + IL_013b: stsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate74' + IL_0140: br.s IL_0142 + + IL_0142: ldsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate74' + IL_0147: ldtoken [mscorlib]System.Int32 + IL_014c: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0151: ldstr "a" + IL_0156: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_015b: stloc.0 + IL_015c: ldtoken [mscorlib]System.Int32 + IL_0161: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0166: ldstr "b" + IL_016b: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0170: stloc.2 + IL_0171: ldloc.0 + IL_0172: ldloc.2 + IL_0173: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::ExclusiveOr(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0178: ldc.i4.2 + IL_0179: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_017e: stloc.1 + IL_017f: ldloc.1 + IL_0180: ldc.i4.0 + IL_0181: ldloc.0 + IL_0182: stelem.ref + IL_0183: ldloc.1 + IL_0184: ldc.i4.1 + IL_0185: ldloc.2 + IL_0186: stelem.ref + IL_0187: ldloc.1 + IL_0188: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_018d: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_0192: nop + IL_0193: ret + } // end of method ExpressionTrees::BitOperators + + .method public hidebysig static void ShiftOperators() cil managed + { + // Code size 410 (0x19a) + .maxstack 5 + .locals init (class [System.Core]System.Linq.Expressions.ParameterExpression V_0, + class [System.Core]System.Linq.Expressions.ParameterExpression[] V_1) + IL_0000: nop + IL_0001: ldsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate79' + IL_0006: brtrue.s IL_001b + + IL_0008: ldnull + IL_0009: ldftn int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'b__75'(int32) + IL_000f: newobj instance void class [mscorlib]System.Func`2::.ctor(object, + native int) + IL_0014: stsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate79' + IL_0019: br.s IL_001b + + IL_001b: ldsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate79' + IL_0020: ldtoken [mscorlib]System.Int32 + IL_0025: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_002a: ldstr "a" + IL_002f: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0034: stloc.0 + IL_0035: ldloc.0 + IL_0036: ldc.i4.2 + IL_0037: box [mscorlib]System.Int32 + IL_003c: ldtoken [mscorlib]System.Int32 + IL_0041: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0046: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_004b: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::RightShift(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0050: ldc.i4.1 + IL_0051: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0056: stloc.1 + IL_0057: ldloc.1 + IL_0058: ldc.i4.0 + IL_0059: ldloc.0 + IL_005a: stelem.ref + IL_005b: ldloc.1 + IL_005c: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0061: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_0066: nop + IL_0067: ldsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate7a' + IL_006c: brtrue.s IL_0081 + + IL_006e: ldnull + IL_006f: ldftn int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'b__76'(int32) + IL_0075: newobj instance void class [mscorlib]System.Func`2::.ctor(object, + native int) + IL_007a: stsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate7a' + IL_007f: br.s IL_0081 + + IL_0081: ldsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate7a' + IL_0086: ldtoken [mscorlib]System.Int32 + IL_008b: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0090: ldstr "a" + IL_0095: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_009a: stloc.0 + IL_009b: ldloc.0 + IL_009c: ldc.i4.2 + IL_009d: box [mscorlib]System.Int32 + IL_00a2: ldtoken [mscorlib]System.Int32 + IL_00a7: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00ac: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_00b1: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::LeftShift(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_00b6: ldc.i4.1 + IL_00b7: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_00bc: stloc.1 + IL_00bd: ldloc.1 + IL_00be: ldc.i4.0 + IL_00bf: ldloc.0 + IL_00c0: stelem.ref + IL_00c1: ldloc.1 + IL_00c2: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_00c7: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_00cc: nop + IL_00cd: ldsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate7b' + IL_00d2: brtrue.s IL_00e7 + + IL_00d4: ldnull + IL_00d5: ldftn int64 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'b__77'(int64) + IL_00db: newobj instance void class [mscorlib]System.Func`2::.ctor(object, + native int) + IL_00e0: stsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate7b' + IL_00e5: br.s IL_00e7 + + IL_00e7: ldsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate7b' + IL_00ec: ldtoken [mscorlib]System.Int64 + IL_00f1: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00f6: ldstr "a" + IL_00fb: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0100: stloc.0 + IL_0101: ldloc.0 + IL_0102: ldc.i4.2 + IL_0103: box [mscorlib]System.Int32 + IL_0108: ldtoken [mscorlib]System.Int32 + IL_010d: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0112: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0117: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::RightShift(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_011c: ldc.i4.1 + IL_011d: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0122: stloc.1 + IL_0123: ldloc.1 + IL_0124: ldc.i4.0 + IL_0125: ldloc.0 + IL_0126: stelem.ref + IL_0127: ldloc.1 + IL_0128: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_012d: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_0132: nop + IL_0133: ldsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate7c' + IL_0138: brtrue.s IL_014d + + IL_013a: ldnull + IL_013b: ldftn int64 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'b__78'(int64) + IL_0141: newobj instance void class [mscorlib]System.Func`2::.ctor(object, + native int) + IL_0146: stsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate7c' + IL_014b: br.s IL_014d + + IL_014d: ldsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate7c' + IL_0152: ldtoken [mscorlib]System.Int64 + IL_0157: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_015c: ldstr "a" + IL_0161: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0166: stloc.0 + IL_0167: ldloc.0 + IL_0168: ldc.i4.2 + IL_0169: box [mscorlib]System.Int32 + IL_016e: ldtoken [mscorlib]System.Int32 + IL_0173: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0178: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_017d: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::LeftShift(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0182: ldc.i4.1 + IL_0183: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0188: stloc.1 + IL_0189: ldloc.1 + IL_018a: ldc.i4.0 + IL_018b: ldloc.0 + IL_018c: stelem.ref + IL_018d: ldloc.1 + IL_018e: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0193: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_0198: nop + IL_0199: ret + } // end of method ExpressionTrees::ShiftOperators + + .method public hidebysig static void SimpleExpressions() cil managed + { + // Code size 147 (0x93) + .maxstack 5 + .locals init (class [System.Core]System.Linq.Expressions.ParameterExpression V_0, + class [System.Core]System.Linq.Expressions.ParameterExpression[] V_1) + IL_0000: nop + IL_0001: ldsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate7f' + IL_0006: brtrue.s IL_001b + + IL_0008: ldnull + IL_0009: ldftn int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'b__7d'() + IL_000f: newobj instance void class [mscorlib]System.Func`1::.ctor(object, + native int) + IL_0014: stsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate7f' + IL_0019: br.s IL_001b + + IL_001b: ldsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate7f' + IL_0020: ldc.i4.0 + IL_0021: box [mscorlib]System.Int32 + IL_0026: ldtoken [mscorlib]System.Int32 + IL_002b: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0030: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0035: ldc.i4.0 + IL_0036: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_003b: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0040: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_0045: nop + IL_0046: ldsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate80' + IL_004b: brtrue.s IL_0060 + + IL_004d: ldnull + IL_004e: ldftn int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'b__7e'(int32) + IL_0054: newobj instance void class [mscorlib]System.Func`2::.ctor(object, + native int) + IL_0059: stsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate80' + IL_005e: br.s IL_0060 + + IL_0060: ldsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate80' + IL_0065: ldtoken [mscorlib]System.Int32 + IL_006a: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_006f: ldstr "a" + IL_0074: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0079: stloc.0 + IL_007a: ldloc.0 + IL_007b: ldc.i4.1 + IL_007c: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0081: stloc.1 + IL_0082: ldloc.1 + IL_0083: ldc.i4.0 + IL_0084: ldloc.0 + IL_0085: stelem.ref + IL_0086: ldloc.1 + IL_0087: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_008c: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_0091: nop + IL_0092: ret + } // end of method ExpressionTrees::SimpleExpressions + + .method public hidebysig static void Capturing() cil managed + { + // Code size 66 (0x42) + .maxstack 3 + .locals init (class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass82' V_0) + IL_0000: newobj instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass82'::.ctor() + IL_0005: stloc.0 + IL_0006: nop + IL_0007: ldloc.0 + IL_0008: ldc.i4.5 + IL_0009: stfld int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass82'::captured + IL_000e: ldloc.0 + IL_000f: ldftn instance int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass82'::'b__81'() + IL_0015: newobj instance void class [mscorlib]System.Func`1::.ctor(object, + native int) + IL_001a: ldloc.0 + IL_001b: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object) + IL_0020: ldtoken field int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass82'::captured + IL_0025: call class [mscorlib]System.Reflection.FieldInfo [mscorlib]System.Reflection.FieldInfo::GetFieldFromHandle(valuetype [mscorlib]System.RuntimeFieldHandle) + IL_002a: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Field(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.FieldInfo) + IL_002f: ldc.i4.0 + IL_0030: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0035: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_003a: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_003f: nop + IL_0040: nop + IL_0041: ret + } // end of method ExpressionTrees::Capturing + + .method public hidebysig static void FieldAndPropertyAccess() cil managed + { + // Code size 441 (0x1b9) + .maxstack 5 + .locals init (class [System.Core]System.Linq.Expressions.ParameterExpression V_0, + class [System.Core]System.Linq.Expressions.ParameterExpression[] V_1) + IL_0000: nop + IL_0001: ldnull + IL_0002: ldc.i4.1 + IL_0003: box [mscorlib]System.Int32 + IL_0008: ldtoken [mscorlib]System.Int32 + IL_000d: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0012: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0017: ldc.i4.0 + IL_0018: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_001d: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0022: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0027: pop + IL_0028: ldnull + IL_0029: ldnull + IL_002a: ldtoken field int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.SimpleType::StaticField + IL_002f: call class [mscorlib]System.Reflection.FieldInfo [mscorlib]System.Reflection.FieldInfo::GetFieldFromHandle(valuetype [mscorlib]System.RuntimeFieldHandle) + IL_0034: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Field(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.FieldInfo) + IL_0039: ldc.i4.0 + IL_003a: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_003f: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0044: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0049: pop + IL_004a: ldnull + IL_004b: ldnull + IL_004c: ldtoken field int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.SimpleType::StaticReadonlyField + IL_0051: call class [mscorlib]System.Reflection.FieldInfo [mscorlib]System.Reflection.FieldInfo::GetFieldFromHandle(valuetype [mscorlib]System.RuntimeFieldHandle) + IL_0056: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Field(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.FieldInfo) + IL_005b: ldc.i4.0 + IL_005c: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0061: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0066: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_006b: pop + IL_006c: ldnull + IL_006d: ldnull + IL_006e: ldtoken method int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.SimpleType::get_StaticProperty() + IL_0073: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0078: castclass [mscorlib]System.Reflection.MethodInfo + IL_007d: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Property(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo) + IL_0082: ldc.i4.0 + IL_0083: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0088: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_008d: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0092: pop + IL_0093: ldnull + IL_0094: ldnull + IL_0095: ldtoken method int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.SimpleType::get_StaticReadonlyProperty() + IL_009a: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_009f: castclass [mscorlib]System.Reflection.MethodInfo + IL_00a4: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Property(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo) + IL_00a9: ldc.i4.0 + IL_00aa: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_00af: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_00b4: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_00b9: pop + IL_00ba: ldnull + IL_00bb: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.SimpleType + IL_00c0: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00c5: ldstr "a" + IL_00ca: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_00cf: stloc.0 + IL_00d0: ldloc.0 + IL_00d1: ldtoken field int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.SimpleType::Field + IL_00d6: call class [mscorlib]System.Reflection.FieldInfo [mscorlib]System.Reflection.FieldInfo::GetFieldFromHandle(valuetype [mscorlib]System.RuntimeFieldHandle) + IL_00db: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Field(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.FieldInfo) + IL_00e0: ldc.i4.1 + IL_00e1: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_00e6: stloc.1 + IL_00e7: ldloc.1 + IL_00e8: ldc.i4.0 + IL_00e9: ldloc.0 + IL_00ea: stelem.ref + IL_00eb: ldloc.1 + IL_00ec: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_00f1: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_00f6: pop + IL_00f7: ldnull + IL_00f8: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.SimpleType + IL_00fd: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0102: ldstr "a" + IL_0107: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_010c: stloc.0 + IL_010d: ldloc.0 + IL_010e: ldtoken method instance int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.SimpleType::get_Property() + IL_0113: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0118: castclass [mscorlib]System.Reflection.MethodInfo + IL_011d: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Property(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo) + IL_0122: ldc.i4.1 + IL_0123: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0128: stloc.1 + IL_0129: ldloc.1 + IL_012a: ldc.i4.0 + IL_012b: ldloc.0 + IL_012c: stelem.ref + IL_012d: ldloc.1 + IL_012e: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0133: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0138: pop + IL_0139: ldnull + IL_013a: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.SimpleType + IL_013f: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0144: ldstr "a" + IL_0149: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_014e: stloc.0 + IL_014f: ldloc.0 + IL_0150: ldtoken field int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.SimpleType::ReadonlyField + IL_0155: call class [mscorlib]System.Reflection.FieldInfo [mscorlib]System.Reflection.FieldInfo::GetFieldFromHandle(valuetype [mscorlib]System.RuntimeFieldHandle) + IL_015a: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Field(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.FieldInfo) + IL_015f: ldc.i4.1 + IL_0160: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0165: stloc.1 + IL_0166: ldloc.1 + IL_0167: ldc.i4.0 + IL_0168: ldloc.0 + IL_0169: stelem.ref + IL_016a: ldloc.1 + IL_016b: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0170: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0175: pop + IL_0176: ldnull + IL_0177: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.SimpleType + IL_017c: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0181: ldstr "a" + IL_0186: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_018b: stloc.0 + IL_018c: ldloc.0 + IL_018d: ldtoken method instance int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.SimpleType::get_ReadonlyProperty() + IL_0192: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0197: castclass [mscorlib]System.Reflection.MethodInfo + IL_019c: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Property(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo) + IL_01a1: ldc.i4.1 + IL_01a2: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_01a7: stloc.1 + IL_01a8: ldloc.1 + IL_01a9: ldc.i4.0 + IL_01aa: ldloc.0 + IL_01ab: stelem.ref + IL_01ac: ldloc.1 + IL_01ad: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_01b2: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_01b7: pop + IL_01b8: ret + } // end of method ExpressionTrees::FieldAndPropertyAccess + + .method public hidebysig static void Call() cil managed + { + // Code size 541 (0x21d) + .maxstack 7 + .locals init (class [System.Core]System.Linq.Expressions.ParameterExpression V_0, + class [System.Core]System.Linq.Expressions.Expression[] V_1, + class [System.Core]System.Linq.Expressions.ParameterExpression[] V_2) + IL_0000: nop + IL_0001: ldnull + IL_0002: ldtoken [mscorlib]System.String + IL_0007: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_000c: ldstr "a" + IL_0011: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0016: stloc.0 + IL_0017: ldnull + IL_0018: ldtoken method void [mscorlib]System.Console::WriteLine(string) + IL_001d: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0022: castclass [mscorlib]System.Reflection.MethodInfo + IL_0027: ldc.i4.1 + IL_0028: newarr [System.Core]System.Linq.Expressions.Expression + IL_002d: stloc.1 + IL_002e: ldloc.1 + IL_002f: ldc.i4.0 + IL_0030: ldloc.0 + IL_0031: stelem.ref + IL_0032: ldloc.1 + IL_0033: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_0038: ldc.i4.1 + IL_0039: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_003e: stloc.2 + IL_003f: ldloc.2 + IL_0040: ldc.i4.0 + IL_0041: ldloc.0 + IL_0042: stelem.ref + IL_0043: ldloc.2 + IL_0044: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0049: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_004e: pop + IL_004f: ldsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate88' + IL_0054: brtrue.s IL_0069 + + IL_0056: ldnull + IL_0057: ldftn string ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'b__84'(string) + IL_005d: newobj instance void class [mscorlib]System.Func`2::.ctor(object, + native int) + IL_0062: stsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate88' + IL_0067: br.s IL_0069 + + IL_0069: ldsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate88' + IL_006e: ldtoken [mscorlib]System.String + IL_0073: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0078: ldstr "a" + IL_007d: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0082: stloc.0 + IL_0083: ldloc.0 + IL_0084: ldtoken method instance string [mscorlib]System.Object::ToString() + IL_0089: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_008e: castclass [mscorlib]System.Reflection.MethodInfo + IL_0093: ldc.i4.0 + IL_0094: newarr [System.Core]System.Linq.Expressions.Expression + IL_0099: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_009e: ldc.i4.1 + IL_009f: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_00a4: stloc.2 + IL_00a5: ldloc.2 + IL_00a6: ldc.i4.0 + IL_00a7: ldloc.0 + IL_00a8: stelem.ref + IL_00a9: ldloc.2 + IL_00aa: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_00af: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_00b4: nop + IL_00b5: ldsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate89' + IL_00ba: brtrue.s IL_00cf + + IL_00bc: ldnull + IL_00bd: ldftn string ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'b__85'(int32) + IL_00c3: newobj instance void class [mscorlib]System.Func`2::.ctor(object, + native int) + IL_00c8: stsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate89' + IL_00cd: br.s IL_00cf + + IL_00cf: ldsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate89' + IL_00d4: ldtoken [mscorlib]System.Int32 + IL_00d9: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00de: ldstr "a" + IL_00e3: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_00e8: stloc.0 + IL_00e9: ldloc.0 + IL_00ea: ldtoken method instance string [mscorlib]System.Int32::ToString() + IL_00ef: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_00f4: castclass [mscorlib]System.Reflection.MethodInfo + IL_00f9: ldc.i4.0 + IL_00fa: newarr [System.Core]System.Linq.Expressions.Expression + IL_00ff: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_0104: ldc.i4.1 + IL_0105: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_010a: stloc.2 + IL_010b: ldloc.2 + IL_010c: ldc.i4.0 + IL_010d: ldloc.0 + IL_010e: stelem.ref + IL_010f: ldloc.2 + IL_0110: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0115: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_011a: nop + IL_011b: ldsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate8a' + IL_0120: brtrue.s IL_0135 + + IL_0122: ldnull + IL_0123: ldftn char[] ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'b__86'(string) + IL_0129: newobj instance void class [mscorlib]System.Func`2::.ctor(object, + native int) + IL_012e: stsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate8a' + IL_0133: br.s IL_0135 + + IL_0135: ldsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate8a' + IL_013a: ldtoken [mscorlib]System.String + IL_013f: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0144: ldstr "a" + IL_0149: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_014e: stloc.0 + IL_014f: ldnull + IL_0150: ldtoken method !!0[] [System.Core]System.Linq.Enumerable::ToArray(class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0155: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_015a: castclass [mscorlib]System.Reflection.MethodInfo + IL_015f: ldc.i4.1 + IL_0160: newarr [System.Core]System.Linq.Expressions.Expression + IL_0165: stloc.1 + IL_0166: ldloc.1 + IL_0167: ldc.i4.0 + IL_0168: ldloc.0 + IL_0169: stelem.ref + IL_016a: ldloc.1 + IL_016b: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_0170: ldc.i4.1 + IL_0171: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0176: stloc.2 + IL_0177: ldloc.2 + IL_0178: ldc.i4.0 + IL_0179: ldloc.0 + IL_017a: stelem.ref + IL_017b: ldloc.2 + IL_017c: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0181: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_0186: nop + IL_0187: ldsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate8b' + IL_018c: brtrue.s IL_01a1 + + IL_018e: ldnull + IL_018f: ldftn bool ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'b__87'() + IL_0195: newobj instance void class [mscorlib]System.Func`1::.ctor(object, + native int) + IL_019a: stsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate8b' + IL_019f: br.s IL_01a1 + + IL_01a1: ldsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate8b' + IL_01a6: ldc.i4.s 97 + IL_01a8: box [mscorlib]System.Char + IL_01ad: ldtoken [mscorlib]System.Char + IL_01b2: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_01b7: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_01bc: ldtoken method instance int32 [mscorlib]System.Char::CompareTo(char) + IL_01c1: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_01c6: castclass [mscorlib]System.Reflection.MethodInfo + IL_01cb: ldc.i4.1 + IL_01cc: newarr [System.Core]System.Linq.Expressions.Expression + IL_01d1: stloc.1 + IL_01d2: ldloc.1 + IL_01d3: ldc.i4.0 + IL_01d4: ldc.i4.s 98 + IL_01d6: box [mscorlib]System.Char + IL_01db: ldtoken [mscorlib]System.Char + IL_01e0: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_01e5: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_01ea: stelem.ref + IL_01eb: ldloc.1 + IL_01ec: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_01f1: ldc.i4.0 + IL_01f2: box [mscorlib]System.Int32 + IL_01f7: ldtoken [mscorlib]System.Int32 + IL_01fc: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0201: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0206: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::LessThan(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_020b: ldc.i4.0 + IL_020c: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0211: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0216: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_021b: nop + IL_021c: ret + } // end of method ExpressionTrees::Call + + .method public hidebysig static void Quote() cil managed + { + // Code size 207 (0xcf) + .maxstack 5 + .locals init (class [System.Core]System.Linq.Expressions.ParameterExpression V_0, + class [System.Core]System.Linq.Expressions.ParameterExpression V_1, + class [System.Core]System.Linq.Expressions.ParameterExpression[] V_2) + IL_0000: nop + IL_0001: ldsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate8d' + IL_0006: brtrue.s IL_001b + + IL_0008: ldnull + IL_0009: ldftn bool ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'b__8c'() + IL_000f: newobj instance void class [mscorlib]System.Func`1::.ctor(object, + native int) + IL_0014: stsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate8d' + IL_0019: br.s IL_001b + + IL_001b: ldsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate8d' + IL_0020: ldtoken [mscorlib]System.Int32 + IL_0025: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_002a: ldstr "n" + IL_002f: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0034: stloc.0 + IL_0035: ldtoken [mscorlib]System.String + IL_003a: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_003f: ldstr "s" + IL_0044: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0049: stloc.1 + IL_004a: ldloc.1 + IL_004b: ldloc.0 + IL_004c: ldtoken method instance string [mscorlib]System.Int32::ToString() + IL_0051: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0056: castclass [mscorlib]System.Reflection.MethodInfo + IL_005b: ldc.i4.0 + IL_005c: newarr [System.Core]System.Linq.Expressions.Expression + IL_0061: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_0066: ldtoken method string [mscorlib]System.String::Concat(string, + string) + IL_006b: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0070: castclass [mscorlib]System.Reflection.MethodInfo + IL_0075: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Add(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo) + IL_007a: ldc.i4.2 + IL_007b: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0080: stloc.2 + IL_0081: ldloc.2 + IL_0082: ldc.i4.0 + IL_0083: ldloc.0 + IL_0084: stelem.ref + IL_0085: ldloc.2 + IL_0086: ldc.i4.1 + IL_0087: ldloc.1 + IL_0088: stelem.ref + IL_0089: ldloc.2 + IL_008a: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_008f: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Quote(class [System.Core]System.Linq.Expressions.Expression) + IL_0094: ldtoken class [System.Core]System.Linq.Expressions.Expression`1> + IL_0099: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_009e: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_00a3: ldnull + IL_00a4: box [mscorlib]System.Object + IL_00a9: ldtoken [mscorlib]System.Object + IL_00ae: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00b3: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_00b8: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::NotEqual(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_00bd: ldc.i4.0 + IL_00be: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_00c3: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_00c8: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_00cd: nop + IL_00ce: ret + } // end of method ExpressionTrees::Quote + + .method public hidebysig static void ArrayInitializer() cil managed + { + // Code size 623 (0x26f) + .maxstack 9 + .locals init (class [System.Core]System.Linq.Expressions.Expression[] V_0, + class [System.Core]System.Linq.Expressions.Expression[] V_1) + IL_0000: nop + IL_0001: ldsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate93' + IL_0006: brtrue.s IL_001b + + IL_0008: ldnull + IL_0009: ldftn int32[] ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'b__8e'() + IL_000f: newobj instance void class [mscorlib]System.Func`1::.ctor(object, + native int) + IL_0014: stsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate93' + IL_0019: br.s IL_001b + + IL_001b: ldsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate93' + IL_0020: ldtoken [mscorlib]System.Int32 + IL_0025: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_002a: ldc.i4.3 + IL_002b: newarr [System.Core]System.Linq.Expressions.Expression + IL_0030: stloc.0 + IL_0031: ldloc.0 + IL_0032: ldc.i4.0 + IL_0033: ldc.i4.1 + IL_0034: box [mscorlib]System.Int32 + IL_0039: ldtoken [mscorlib]System.Int32 + IL_003e: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0043: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0048: stelem.ref + IL_0049: ldloc.0 + IL_004a: ldc.i4.1 + IL_004b: ldc.i4.2 + IL_004c: box [mscorlib]System.Int32 + IL_0051: ldtoken [mscorlib]System.Int32 + IL_0056: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_005b: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0060: stelem.ref + IL_0061: ldloc.0 + IL_0062: ldc.i4.2 + IL_0063: ldc.i4.3 + IL_0064: box [mscorlib]System.Int32 + IL_0069: ldtoken [mscorlib]System.Int32 + IL_006e: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0073: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0078: stelem.ref + IL_0079: ldloc.0 + IL_007a: call class [System.Core]System.Linq.Expressions.NewArrayExpression [System.Core]System.Linq.Expressions.Expression::NewArrayInit(class [mscorlib]System.Type, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_007f: ldc.i4.0 + IL_0080: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0085: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_008a: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_008f: nop + IL_0090: ldsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate94' + IL_0095: brtrue.s IL_00aa + + IL_0097: ldnull + IL_0098: ldftn int32[] ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'b__8f'() + IL_009e: newobj instance void class [mscorlib]System.Func`1::.ctor(object, + native int) + IL_00a3: stsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate94' + IL_00a8: br.s IL_00aa + + IL_00aa: ldsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate94' + IL_00af: ldtoken [mscorlib]System.Int32 + IL_00b4: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00b9: ldc.i4.1 + IL_00ba: newarr [System.Core]System.Linq.Expressions.Expression + IL_00bf: stloc.0 + IL_00c0: ldloc.0 + IL_00c1: ldc.i4.0 + IL_00c2: ldc.i4.3 + IL_00c3: box [mscorlib]System.Int32 + IL_00c8: ldtoken [mscorlib]System.Int32 + IL_00cd: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00d2: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_00d7: stelem.ref + IL_00d8: ldloc.0 + IL_00d9: call class [System.Core]System.Linq.Expressions.NewArrayExpression [System.Core]System.Linq.Expressions.Expression::NewArrayBounds(class [mscorlib]System.Type, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_00de: ldc.i4.0 + IL_00df: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_00e4: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_00e9: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_00ee: nop + IL_00ef: ldsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate95' + IL_00f4: brtrue.s IL_0109 + + IL_00f6: ldnull + IL_00f7: ldftn int32[0...,0...] ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'b__90'() + IL_00fd: newobj instance void class [mscorlib]System.Func`1::.ctor(object, + native int) + IL_0102: stsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate95' + IL_0107: br.s IL_0109 + + IL_0109: ldsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate95' + IL_010e: ldtoken [mscorlib]System.Int32 + IL_0113: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0118: ldc.i4.2 + IL_0119: newarr [System.Core]System.Linq.Expressions.Expression + IL_011e: stloc.0 + IL_011f: ldloc.0 + IL_0120: ldc.i4.0 + IL_0121: ldc.i4.3 + IL_0122: box [mscorlib]System.Int32 + IL_0127: ldtoken [mscorlib]System.Int32 + IL_012c: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0131: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0136: stelem.ref + IL_0137: ldloc.0 + IL_0138: ldc.i4.1 + IL_0139: ldc.i4.5 + IL_013a: box [mscorlib]System.Int32 + IL_013f: ldtoken [mscorlib]System.Int32 + IL_0144: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0149: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_014e: stelem.ref + IL_014f: ldloc.0 + IL_0150: call class [System.Core]System.Linq.Expressions.NewArrayExpression [System.Core]System.Linq.Expressions.Expression::NewArrayBounds(class [mscorlib]System.Type, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_0155: ldc.i4.0 + IL_0156: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_015b: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0160: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_0165: nop + IL_0166: ldsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate96' + IL_016b: brtrue.s IL_0180 + + IL_016d: ldnull + IL_016e: ldftn int32[][] ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'b__91'() + IL_0174: newobj instance void class [mscorlib]System.Func`1::.ctor(object, + native int) + IL_0179: stsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate96' + IL_017e: br.s IL_0180 + + IL_0180: ldsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate96' + IL_0185: ldtoken int32[] + IL_018a: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_018f: ldc.i4.1 + IL_0190: newarr [System.Core]System.Linq.Expressions.Expression + IL_0195: stloc.0 + IL_0196: ldloc.0 + IL_0197: ldc.i4.0 + IL_0198: ldc.i4.3 + IL_0199: box [mscorlib]System.Int32 + IL_019e: ldtoken [mscorlib]System.Int32 + IL_01a3: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_01a8: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_01ad: stelem.ref + IL_01ae: ldloc.0 + IL_01af: call class [System.Core]System.Linq.Expressions.NewArrayExpression [System.Core]System.Linq.Expressions.Expression::NewArrayBounds(class [mscorlib]System.Type, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_01b4: ldc.i4.0 + IL_01b5: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_01ba: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_01bf: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_01c4: nop + IL_01c5: ldsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate97' + IL_01ca: brtrue.s IL_01df + + IL_01cc: ldnull + IL_01cd: ldftn int32[][] ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'b__92'() + IL_01d3: newobj instance void class [mscorlib]System.Func`1::.ctor(object, + native int) + IL_01d8: stsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate97' + IL_01dd: br.s IL_01df + + IL_01df: ldsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate97' + IL_01e4: ldtoken int32[] + IL_01e9: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_01ee: ldc.i4.1 + IL_01ef: newarr [System.Core]System.Linq.Expressions.Expression + IL_01f4: stloc.0 + IL_01f5: ldloc.0 + IL_01f6: ldc.i4.0 + IL_01f7: ldtoken [mscorlib]System.Int32 + IL_01fc: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0201: ldc.i4.3 + IL_0202: newarr [System.Core]System.Linq.Expressions.Expression + IL_0207: stloc.1 + IL_0208: ldloc.1 + IL_0209: ldc.i4.0 + IL_020a: ldc.i4.1 + IL_020b: box [mscorlib]System.Int32 + IL_0210: ldtoken [mscorlib]System.Int32 + IL_0215: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_021a: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_021f: stelem.ref + IL_0220: ldloc.1 + IL_0221: ldc.i4.1 + IL_0222: ldc.i4.2 + IL_0223: box [mscorlib]System.Int32 + IL_0228: ldtoken [mscorlib]System.Int32 + IL_022d: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0232: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0237: stelem.ref + IL_0238: ldloc.1 + IL_0239: ldc.i4.2 + IL_023a: ldc.i4.3 + IL_023b: box [mscorlib]System.Int32 + IL_0240: ldtoken [mscorlib]System.Int32 + IL_0245: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_024a: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_024f: stelem.ref + IL_0250: ldloc.1 + IL_0251: call class [System.Core]System.Linq.Expressions.NewArrayExpression [System.Core]System.Linq.Expressions.Expression::NewArrayInit(class [mscorlib]System.Type, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_0256: stelem.ref + IL_0257: ldloc.0 + IL_0258: call class [System.Core]System.Linq.Expressions.NewArrayExpression [System.Core]System.Linq.Expressions.Expression::NewArrayInit(class [mscorlib]System.Type, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_025d: ldc.i4.0 + IL_025e: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0263: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0268: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_026d: nop + IL_026e: ret + } // end of method ExpressionTrees::ArrayInitializer + + .method public hidebysig static void AnonymousTypes() cil managed + { + // Code size 184 (0xb8) + .maxstack 7 + .locals init (class [System.Core]System.Linq.Expressions.Expression[] V_0, + class [mscorlib]System.Reflection.MethodInfo[] V_1) + IL_0000: nop + IL_0001: ldsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate99' + IL_0006: brtrue.s IL_001b + + IL_0008: ldnull + IL_0009: ldftn object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'b__98'() + IL_000f: newobj instance void class [mscorlib]System.Func`1::.ctor(object, + native int) + IL_0014: stsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate99' + IL_0019: br.s IL_001b + + IL_001b: ldsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate99' + IL_0020: ldtoken method instance void class '<>f__AnonymousType2`2'::.ctor(!0, + !1) + IL_0025: ldtoken class '<>f__AnonymousType2`2' + IL_002a: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle, + valuetype [mscorlib]System.RuntimeTypeHandle) + IL_002f: castclass [mscorlib]System.Reflection.ConstructorInfo + IL_0034: ldc.i4.2 + IL_0035: newarr [System.Core]System.Linq.Expressions.Expression + IL_003a: stloc.0 + IL_003b: ldloc.0 + IL_003c: ldc.i4.0 + IL_003d: ldc.i4.5 + IL_003e: box [mscorlib]System.Int32 + IL_0043: ldtoken [mscorlib]System.Int32 + IL_0048: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_004d: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0052: stelem.ref + IL_0053: ldloc.0 + IL_0054: ldc.i4.1 + IL_0055: ldstr "Test" + IL_005a: ldtoken [mscorlib]System.String + IL_005f: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0064: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0069: stelem.ref + IL_006a: ldloc.0 + IL_006b: ldc.i4.2 + IL_006c: newarr [mscorlib]System.Reflection.MethodInfo + IL_0071: stloc.1 + IL_0072: ldloc.1 + IL_0073: ldc.i4.0 + IL_0074: ldtoken method instance !0 class '<>f__AnonymousType2`2'::get_A() + IL_0079: ldtoken class '<>f__AnonymousType2`2' + IL_007e: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle, + valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0083: castclass [mscorlib]System.Reflection.MethodInfo + IL_0088: stelem.ref + IL_0089: ldloc.1 + IL_008a: ldc.i4.1 + IL_008b: ldtoken method instance !1 class '<>f__AnonymousType2`2'::get_B() + IL_0090: ldtoken class '<>f__AnonymousType2`2' + IL_0095: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle, + valuetype [mscorlib]System.RuntimeTypeHandle) + IL_009a: castclass [mscorlib]System.Reflection.MethodInfo + IL_009f: stelem.ref + IL_00a0: ldloc.1 + IL_00a1: call class [System.Core]System.Linq.Expressions.NewExpression [System.Core]System.Linq.Expressions.Expression::New(class [mscorlib]System.Reflection.ConstructorInfo, + class [mscorlib]System.Collections.Generic.IEnumerable`1, + class [mscorlib]System.Reflection.MemberInfo[]) + IL_00a6: ldc.i4.0 + IL_00a7: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_00ac: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_00b1: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_00b6: nop + IL_00b7: ret + } // end of method ExpressionTrees::AnonymousTypes + + .method public hidebysig static void ObjectInit() cil managed + { + // Code size 142 (0x8e) + .maxstack 7 + .locals init (class [System.Core]System.Linq.Expressions.MemberBinding[] V_0) + IL_0000: nop + IL_0001: ldnull + IL_0002: ldtoken method instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.SimpleType::.ctor() + IL_0007: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_000c: castclass [mscorlib]System.Reflection.ConstructorInfo + IL_0011: ldc.i4.0 + IL_0012: newarr [System.Core]System.Linq.Expressions.Expression + IL_0017: call class [System.Core]System.Linq.Expressions.NewExpression [System.Core]System.Linq.Expressions.Expression::New(class [mscorlib]System.Reflection.ConstructorInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_001c: ldc.i4.2 + IL_001d: newarr [System.Core]System.Linq.Expressions.MemberBinding + IL_0022: stloc.0 + IL_0023: ldloc.0 + IL_0024: ldc.i4.0 + IL_0025: ldtoken method instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.SimpleType::set_Property(int32) + IL_002a: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_002f: castclass [mscorlib]System.Reflection.MethodInfo + IL_0034: ldc.i4.4 + IL_0035: box [mscorlib]System.Int32 + IL_003a: ldtoken [mscorlib]System.Int32 + IL_003f: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0044: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0049: call class [System.Core]System.Linq.Expressions.MemberAssignment [System.Core]System.Linq.Expressions.Expression::Bind(class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression) + IL_004e: stelem.ref + IL_004f: ldloc.0 + IL_0050: ldc.i4.1 + IL_0051: ldtoken field int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.SimpleType::Field + IL_0056: call class [mscorlib]System.Reflection.FieldInfo [mscorlib]System.Reflection.FieldInfo::GetFieldFromHandle(valuetype [mscorlib]System.RuntimeFieldHandle) + IL_005b: ldc.i4.3 + IL_005c: box [mscorlib]System.Int32 + IL_0061: ldtoken [mscorlib]System.Int32 + IL_0066: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_006b: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0070: call class [System.Core]System.Linq.Expressions.MemberAssignment [System.Core]System.Linq.Expressions.Expression::Bind(class [mscorlib]System.Reflection.MemberInfo, + class [System.Core]System.Linq.Expressions.Expression) + IL_0075: stelem.ref + IL_0076: ldloc.0 + IL_0077: call class [System.Core]System.Linq.Expressions.MemberInitExpression [System.Core]System.Linq.Expressions.Expression::MemberInit(class [System.Core]System.Linq.Expressions.NewExpression, + class [System.Core]System.Linq.Expressions.MemberBinding[]) + IL_007c: ldc.i4.0 + IL_007d: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0082: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0087: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_008c: pop + IL_008d: ret + } // end of method ExpressionTrees::ObjectInit + + .method public hidebysig specialname rtspecialname + instance void .ctor() cil managed + { + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [mscorlib]System.Object::.ctor() + IL_0006: ret + } // end of method ExpressionTrees::.ctor + + .method private hidebysig static string + 'b__6'(int32 n) cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 12 (0xc) + .maxstack 1 + .locals init (string V_0) + IL_0000: ldarga.s n + IL_0002: call instance string [mscorlib]System.Int32::ToString() + IL_0007: stloc.0 + IL_0008: br.s IL_000a + + IL_000a: ldloc.0 + IL_000b: ret + } // end of method ExpressionTrees::'b__6' + + .method private hidebysig static bool 'b__e'(class [mscorlib]System.Func`3 f) cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 13 (0xd) + .maxstack 3 + .locals init (bool V_0) + IL_0000: ldarg.0 + IL_0001: ldnull + IL_0002: ldnull + IL_0003: callvirt instance !2 class [mscorlib]System.Func`3::Invoke(!0, + !1) + IL_0008: stloc.0 + IL_0009: br.s IL_000b + + IL_000b: ldloc.0 + IL_000c: ret + } // end of method ExpressionTrees::'b__e' + + .method private hidebysig static int32 + 'b__12'(class [mscorlib]System.Func`1 f) cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 11 (0xb) + .maxstack 1 + .locals init (int32 V_0) + IL_0000: ldarg.0 + IL_0001: callvirt instance !0 class [mscorlib]System.Func`1::Invoke() + IL_0006: stloc.0 + IL_0007: br.s IL_0009 + + IL_0009: ldloc.0 + IL_000a: ret + } // end of method ExpressionTrees::'b__12' + + .method private hidebysig static int32 + 'b__1d'(int32[] 'array') cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 8 (0x8) + .maxstack 2 + .locals init (int32 V_0) + IL_0000: ldarg.0 + IL_0001: ldc.i4.0 + IL_0002: ldelem.i4 + IL_0003: stloc.0 + IL_0004: br.s IL_0006 + + IL_0006: ldloc.0 + IL_0007: ret + } // end of method ExpressionTrees::'b__1d' + + .method private hidebysig static int32 + 'b__1e'(int32[] 'array', + int32 index) cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 8 (0x8) + .maxstack 2 + .locals init (int32 V_0) + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: ldelem.i4 + IL_0003: stloc.0 + IL_0004: br.s IL_0006 + + IL_0006: ldloc.0 + IL_0007: ret + } // end of method ExpressionTrees::'b__1e' + + .method private hidebysig static int32 + 'b__1f'(int32[0...,0...] 'array') cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 13 (0xd) + .maxstack 3 + .locals init (int32 V_0) + IL_0000: ldarg.0 + IL_0001: ldc.i4.0 + IL_0002: ldc.i4.5 + IL_0003: call instance int32 int32[0...,0...]::Get(int32, + int32) + IL_0008: stloc.0 + IL_0009: br.s IL_000b + + IL_000b: ldloc.0 + IL_000c: ret + } // end of method ExpressionTrees::'b__1f' + + .method private hidebysig static int32 + 'b__20'(int32[0...,0...] 'array', + int32 index) cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 13 (0xd) + .maxstack 3 + .locals init (int32 V_0) + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: ldc.i4.7 + IL_0003: call instance int32 int32[0...,0...]::Get(int32, + int32) + IL_0008: stloc.0 + IL_0009: br.s IL_000b + + IL_000b: ldloc.0 + IL_000c: ret + } // end of method ExpressionTrees::'b__20' + + .method private hidebysig static int32 + 'b__21'(int32[][] 'array', + int32 index) cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 10 (0xa) + .maxstack 2 + .locals init (int32 V_0) + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: ldelem.ref + IL_0003: ldc.i4.7 + IL_0004: ldelem.i4 + IL_0005: stloc.0 + IL_0006: br.s IL_0008 + + IL_0008: ldloc.0 + IL_0009: ret + } // end of method ExpressionTrees::'b__21' + + .method private hidebysig static int32 + 'b__27'(int32[] 'array') cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 8 (0x8) + .maxstack 1 + .locals init (int32 V_0) + IL_0000: ldarg.0 + IL_0001: ldlen + IL_0002: conv.i4 + IL_0003: stloc.0 + IL_0004: br.s IL_0006 + + IL_0006: ldloc.0 + IL_0007: ret + } // end of method ExpressionTrees::'b__27' + + .method private hidebysig static int32 + 'b__28'() cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 11 (0xb) + .maxstack 1 + .locals init (int32 V_0) + IL_0000: ldnull + IL_0001: callvirt instance int32 [mscorlib]System.Array::get_Length() + IL_0006: stloc.0 + IL_0007: br.s IL_0009 + + IL_0009: ldloc.0 + IL_000a: ret + } // end of method ExpressionTrees::'b__28' + + .method private hidebysig static object + 'b__2b'() cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 10 (0xa) + .maxstack 1 + .locals init (object V_0) + IL_0000: newobj instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.SimpleType::.ctor() + IL_0005: stloc.0 + IL_0006: br.s IL_0008 + + IL_0008: ldloc.0 + IL_0009: ret + } // end of method ExpressionTrees::'b__2b' + + .method private hidebysig static object + 'b__2c'() cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 11 (0xb) + .maxstack 1 + .locals init (object V_0) + IL_0000: ldc.i4.5 + IL_0001: newobj instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.SimpleTypeWithCtor::.ctor(int32) + IL_0006: stloc.0 + IL_0007: br.s IL_0009 + + IL_0009: ldloc.0 + IL_000a: ret + } // end of method ExpressionTrees::'b__2c' + + .method private hidebysig static object + 'b__2d'() cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 10 (0xa) + .maxstack 1 + .locals init (object V_0) + IL_0000: newobj instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.SimpleTypeWithMultipleCtors::.ctor() + IL_0005: stloc.0 + IL_0006: br.s IL_0008 + + IL_0008: ldloc.0 + IL_0009: ret + } // end of method ExpressionTrees::'b__2d' + + .method private hidebysig static object + 'b__2e'() cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 11 (0xb) + .maxstack 1 + .locals init (object V_0) + IL_0000: ldc.i4.5 + IL_0001: newobj instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.SimpleTypeWithMultipleCtors::.ctor(int32) + IL_0006: stloc.0 + IL_0007: br.s IL_0009 + + IL_0009: ldloc.0 + IL_000a: ret + } // end of method ExpressionTrees::'b__2e' + + .method private hidebysig static object + 'b__2f'() cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 10 (0xa) + .maxstack 1 + .locals init (object V_0) + IL_0000: newobj instance void class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/GenericClass`1::.ctor() + IL_0005: stloc.0 + IL_0006: br.s IL_0008 + + IL_0008: ldloc.0 + IL_0009: ret + } // end of method ExpressionTrees::'b__2f' + + .method private hidebysig static object + 'b__30'() cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 10 (0xa) + .maxstack 1 + .locals init (object V_0) + IL_0000: newobj instance void class ICSharpCode.Decompiler.Tests.TestCases.Pretty.GenericClassWithCtor`1::.ctor() + IL_0005: stloc.0 + IL_0006: br.s IL_0008 + + IL_0008: ldloc.0 + IL_0009: ret + } // end of method ExpressionTrees::'b__30' + + .method private hidebysig static object + 'b__31'() cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 11 (0xb) + .maxstack 1 + .locals init (object V_0) + IL_0000: ldc.i4.5 + IL_0001: newobj instance void class ICSharpCode.Decompiler.Tests.TestCases.Pretty.GenericClassWithMultipleCtors`1::.ctor(int32) + IL_0006: stloc.0 + IL_0007: br.s IL_0009 + + IL_0009: ldloc.0 + IL_000a: ret + } // end of method ExpressionTrees::'b__31' + + .method private hidebysig static class [mscorlib]System.Type + 'b__39'() cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 15 (0xf) + .maxstack 1 + .locals init (class [mscorlib]System.Type V_0) + IL_0000: ldtoken [mscorlib]System.Int32 + IL_0005: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_000a: stloc.0 + IL_000b: br.s IL_000d + + IL_000d: ldloc.0 + IL_000e: ret + } // end of method ExpressionTrees::'b__39' + + .method private hidebysig static class [mscorlib]System.Type + 'b__3a'() cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 15 (0xf) + .maxstack 1 + .locals init (class [mscorlib]System.Type V_0) + IL_0000: ldtoken [mscorlib]System.Object + IL_0005: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_000a: stloc.0 + IL_000b: br.s IL_000d + + IL_000d: ldloc.0 + IL_000e: ret + } // end of method ExpressionTrees::'b__3a' + + .method private hidebysig static class [mscorlib]System.Type + 'b__3b'() cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 15 (0xf) + .maxstack 1 + .locals init (class [mscorlib]System.Type V_0) + IL_0000: ldtoken [mscorlib]System.Collections.Generic.List`1 + IL_0005: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_000a: stloc.0 + IL_000b: br.s IL_000d + + IL_000d: ldloc.0 + IL_000e: ret + } // end of method ExpressionTrees::'b__3b' + + .method private hidebysig static class [mscorlib]System.Type + 'b__3c'() cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 15 (0xf) + .maxstack 1 + .locals init (class [mscorlib]System.Type V_0) + IL_0000: ldtoken class [mscorlib]System.Collections.Generic.List`1 + IL_0005: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_000a: stloc.0 + IL_000b: br.s IL_000d + + IL_000d: ldloc.0 + IL_000e: ret + } // end of method ExpressionTrees::'b__3c' + + .method private hidebysig static class [mscorlib]System.Type + 'b__3d'() cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 15 (0xf) + .maxstack 1 + .locals init (class [mscorlib]System.Type V_0) + IL_0000: ldtoken int32* + IL_0005: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_000a: stloc.0 + IL_000b: br.s IL_000d + + IL_000d: ldloc.0 + IL_000e: ret + } // end of method ExpressionTrees::'b__3d' + + .method private hidebysig static class ICSharpCode.Decompiler.Tests.TestCases.Pretty.MyClass + 'b__43'(object obj) cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 11 (0xb) + .maxstack 1 + .locals init (class ICSharpCode.Decompiler.Tests.TestCases.Pretty.MyClass V_0) + IL_0000: ldarg.0 + IL_0001: isinst ICSharpCode.Decompiler.Tests.TestCases.Pretty.MyClass + IL_0006: stloc.0 + IL_0007: br.s IL_0009 + + IL_0009: ldloc.0 + IL_000a: ret + } // end of method ExpressionTrees::'b__43' + + .method private hidebysig static class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/GenericClass`1 + 'b__44'(object obj) cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 11 (0xb) + .maxstack 1 + .locals init (class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/GenericClass`1 V_0) + IL_0000: ldarg.0 + IL_0001: isinst class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/GenericClass`1 + IL_0006: stloc.0 + IL_0007: br.s IL_0009 + + IL_0009: ldloc.0 + IL_000a: ret + } // end of method ExpressionTrees::'b__44' + + .method private hidebysig static bool 'b__47'(object obj) cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 14 (0xe) + .maxstack 2 + .locals init (bool V_0) + IL_0000: ldarg.0 + IL_0001: isinst ICSharpCode.Decompiler.Tests.TestCases.Pretty.MyClass + IL_0006: ldnull + IL_0007: cgt.un + IL_0009: stloc.0 + IL_000a: br.s IL_000c + + IL_000c: ldloc.0 + IL_000d: ret + } // end of method ExpressionTrees::'b__47' + + .method private hidebysig static bool 'b__49'(bool a) cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 9 (0x9) + .maxstack 2 + .locals init (bool V_0) + IL_0000: ldarg.0 + IL_0001: ldc.i4.0 + IL_0002: ceq + IL_0004: stloc.0 + IL_0005: br.s IL_0007 + + IL_0007: ldloc.0 + IL_0008: ret + } // end of method ExpressionTrees::'b__49' + + .method private hidebysig static int32 + 'b__4b'(int32 a) cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 6 (0x6) + .maxstack 1 + .locals init (int32 V_0) + IL_0000: ldarg.0 + IL_0001: stloc.0 + IL_0002: br.s IL_0004 + + IL_0004: ldloc.0 + IL_0005: ret + } // end of method ExpressionTrees::'b__4b' + + .method private hidebysig static int32 + 'b__4c'(int32 a) cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 7 (0x7) + .maxstack 1 + .locals init (int32 V_0) + IL_0000: ldarg.0 + IL_0001: neg + IL_0002: stloc.0 + IL_0003: br.s IL_0005 + + IL_0005: ldloc.0 + IL_0006: ret + } // end of method ExpressionTrees::'b__4c' + + .method private hidebysig static int32 + 'b__4f'(int32 a, + int32 b) cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 8 (0x8) + .maxstack 2 + .locals init (int32 V_0) + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: add + IL_0003: stloc.0 + IL_0004: br.s IL_0006 + + IL_0006: ldloc.0 + IL_0007: ret + } // end of method ExpressionTrees::'b__4f' + + .method private hidebysig static int32 + 'b__50'(int32 a, + int32 b) cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 8 (0x8) + .maxstack 2 + .locals init (int32 V_0) + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: sub + IL_0003: stloc.0 + IL_0004: br.s IL_0006 + + IL_0006: ldloc.0 + IL_0007: ret + } // end of method ExpressionTrees::'b__50' + + .method private hidebysig static int32 + 'b__51'(int32 a, + int32 b) cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 8 (0x8) + .maxstack 2 + .locals init (int32 V_0) + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: mul + IL_0003: stloc.0 + IL_0004: br.s IL_0006 + + IL_0006: ldloc.0 + IL_0007: ret + } // end of method ExpressionTrees::'b__51' + + .method private hidebysig static int32 + 'b__52'(int32 a, + int32 b) cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 8 (0x8) + .maxstack 2 + .locals init (int32 V_0) + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: div + IL_0003: stloc.0 + IL_0004: br.s IL_0006 + + IL_0006: ldloc.0 + IL_0007: ret + } // end of method ExpressionTrees::'b__52' + + .method private hidebysig static int32 + 'b__53'(int32 a, + int32 b) cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 8 (0x8) + .maxstack 2 + .locals init (int32 V_0) + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: rem + IL_0003: stloc.0 + IL_0004: br.s IL_0006 + + IL_0006: ldloc.0 + IL_0007: ret + } // end of method ExpressionTrees::'b__53' + + .method private hidebysig static int64 + 'b__54'(int64 a, + int32 b) cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 9 (0x9) + .maxstack 2 + .locals init (int64 V_0) + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: conv.i8 + IL_0003: add + IL_0004: stloc.0 + IL_0005: br.s IL_0007 + + IL_0007: ldloc.0 + IL_0008: ret + } // end of method ExpressionTrees::'b__54' + + .method private hidebysig static int64 + 'b__55'(int64 a, + int32 b) cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 9 (0x9) + .maxstack 2 + .locals init (int64 V_0) + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: conv.i8 + IL_0003: sub + IL_0004: stloc.0 + IL_0005: br.s IL_0007 + + IL_0007: ldloc.0 + IL_0008: ret + } // end of method ExpressionTrees::'b__55' + + .method private hidebysig static int64 + 'b__56'(int64 a, + int32 b) cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 9 (0x9) + .maxstack 2 + .locals init (int64 V_0) + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: conv.i8 + IL_0003: mul + IL_0004: stloc.0 + IL_0005: br.s IL_0007 + + IL_0007: ldloc.0 + IL_0008: ret + } // end of method ExpressionTrees::'b__56' + + .method private hidebysig static int64 + 'b__57'(int64 a, + int32 b) cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 9 (0x9) + .maxstack 2 + .locals init (int64 V_0) + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: conv.i8 + IL_0003: div + IL_0004: stloc.0 + IL_0005: br.s IL_0007 + + IL_0007: ldloc.0 + IL_0008: ret + } // end of method ExpressionTrees::'b__57' + + .method private hidebysig static int64 + 'b__58'(int64 a, + int32 b) cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 9 (0x9) + .maxstack 2 + .locals init (int64 V_0) + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: conv.i8 + IL_0003: rem + IL_0004: stloc.0 + IL_0005: br.s IL_0007 + + IL_0007: ldloc.0 + IL_0008: ret + } // end of method ExpressionTrees::'b__58' + + .method private hidebysig static int32 + 'b__59'(int16 a, + int32 b) cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 8 (0x8) + .maxstack 2 + .locals init (int32 V_0) + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: add + IL_0003: stloc.0 + IL_0004: br.s IL_0006 + + IL_0006: ldloc.0 + IL_0007: ret + } // end of method ExpressionTrees::'b__59' + + .method private hidebysig static int32 + 'b__5a'(int32 a, + int16 b) cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 8 (0x8) + .maxstack 2 + .locals init (int32 V_0) + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: sub + IL_0003: stloc.0 + IL_0004: br.s IL_0006 + + IL_0006: ldloc.0 + IL_0007: ret + } // end of method ExpressionTrees::'b__5a' + + .method private hidebysig static int32 + 'b__5b'(int16 a, + int32 b) cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 8 (0x8) + .maxstack 2 + .locals init (int32 V_0) + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: mul + IL_0003: stloc.0 + IL_0004: br.s IL_0006 + + IL_0006: ldloc.0 + IL_0007: ret + } // end of method ExpressionTrees::'b__5b' + + .method private hidebysig static int32 + 'b__5c'(int32 a, + int16 b) cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 8 (0x8) + .maxstack 2 + .locals init (int32 V_0) + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: div + IL_0003: stloc.0 + IL_0004: br.s IL_0006 + + IL_0006: ldloc.0 + IL_0007: ret + } // end of method ExpressionTrees::'b__5c' + + .method private hidebysig static int32 + 'b__5d'(int16 a, + int32 b) cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 8 (0x8) + .maxstack 2 + .locals init (int32 V_0) + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: rem + IL_0003: stloc.0 + IL_0004: br.s IL_0006 + + IL_0006: ldloc.0 + IL_0007: ret + } // end of method ExpressionTrees::'b__5d' + + .method private hidebysig static int32 + 'b__6d'(int32 a) cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 7 (0x7) + .maxstack 1 + .locals init (int32 V_0) + IL_0000: ldarg.0 + IL_0001: not + IL_0002: stloc.0 + IL_0003: br.s IL_0005 + + IL_0005: ldloc.0 + IL_0006: ret + } // end of method ExpressionTrees::'b__6d' + + .method private hidebysig static int32 + 'b__6e'(int32 a, + int32 b) cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 8 (0x8) + .maxstack 2 + .locals init (int32 V_0) + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: and + IL_0003: stloc.0 + IL_0004: br.s IL_0006 + + IL_0006: ldloc.0 + IL_0007: ret + } // end of method ExpressionTrees::'b__6e' + + .method private hidebysig static int32 + 'b__6f'(int32 a, + int32 b) cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 8 (0x8) + .maxstack 2 + .locals init (int32 V_0) + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: or + IL_0003: stloc.0 + IL_0004: br.s IL_0006 + + IL_0006: ldloc.0 + IL_0007: ret + } // end of method ExpressionTrees::'b__6f' + + .method private hidebysig static int32 + 'b__70'(int32 a, + int32 b) cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 8 (0x8) + .maxstack 2 + .locals init (int32 V_0) + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: xor + IL_0003: stloc.0 + IL_0004: br.s IL_0006 + + IL_0006: ldloc.0 + IL_0007: ret + } // end of method ExpressionTrees::'b__70' + + .method private hidebysig static int32 + 'b__75'(int32 a) cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 8 (0x8) + .maxstack 2 + .locals init (int32 V_0) + IL_0000: ldarg.0 + IL_0001: ldc.i4.2 + IL_0002: shr + IL_0003: stloc.0 + IL_0004: br.s IL_0006 + + IL_0006: ldloc.0 + IL_0007: ret + } // end of method ExpressionTrees::'b__75' + + .method private hidebysig static int32 + 'b__76'(int32 a) cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 8 (0x8) + .maxstack 2 + .locals init (int32 V_0) + IL_0000: ldarg.0 + IL_0001: ldc.i4.2 + IL_0002: shl + IL_0003: stloc.0 + IL_0004: br.s IL_0006 + + IL_0006: ldloc.0 + IL_0007: ret + } // end of method ExpressionTrees::'b__76' + + .method private hidebysig static int64 + 'b__77'(int64 a) cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 8 (0x8) + .maxstack 2 + .locals init (int64 V_0) + IL_0000: ldarg.0 + IL_0001: ldc.i4.2 + IL_0002: shr + IL_0003: stloc.0 + IL_0004: br.s IL_0006 + + IL_0006: ldloc.0 + IL_0007: ret + } // end of method ExpressionTrees::'b__77' + + .method private hidebysig static int64 + 'b__78'(int64 a) cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 8 (0x8) + .maxstack 2 + .locals init (int64 V_0) + IL_0000: ldarg.0 + IL_0001: ldc.i4.2 + IL_0002: shl + IL_0003: stloc.0 + IL_0004: br.s IL_0006 + + IL_0006: ldloc.0 + IL_0007: ret + } // end of method ExpressionTrees::'b__78' + + .method private hidebysig static int32 + 'b__7d'() cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 6 (0x6) + .maxstack 1 + .locals init (int32 V_0) + IL_0000: ldc.i4.0 + IL_0001: stloc.0 + IL_0002: br.s IL_0004 + + IL_0004: ldloc.0 + IL_0005: ret + } // end of method ExpressionTrees::'b__7d' + + .method private hidebysig static int32 + 'b__7e'(int32 a) cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 6 (0x6) + .maxstack 1 + .locals init (int32 V_0) + IL_0000: ldarg.0 + IL_0001: stloc.0 + IL_0002: br.s IL_0004 + + IL_0004: ldloc.0 + IL_0005: ret + } // end of method ExpressionTrees::'b__7e' + + .method private hidebysig static string + 'b__84'(string a) cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 11 (0xb) + .maxstack 1 + .locals init (string V_0) + IL_0000: ldarg.0 + IL_0001: callvirt instance string [mscorlib]System.Object::ToString() + IL_0006: stloc.0 + IL_0007: br.s IL_0009 + + IL_0009: ldloc.0 + IL_000a: ret + } // end of method ExpressionTrees::'b__84' + + .method private hidebysig static string + 'b__85'(int32 a) cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 12 (0xc) + .maxstack 1 + .locals init (string V_0) + IL_0000: ldarga.s a + IL_0002: call instance string [mscorlib]System.Int32::ToString() + IL_0007: stloc.0 + IL_0008: br.s IL_000a + + IL_000a: ldloc.0 + IL_000b: ret + } // end of method ExpressionTrees::'b__85' + + .method private hidebysig static char[] + 'b__86'(string a) cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 11 (0xb) + .maxstack 1 + .locals init (char[] V_0) + IL_0000: ldarg.0 + IL_0001: call !!0[] [System.Core]System.Linq.Enumerable::ToArray(class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0006: stloc.0 + IL_0007: br.s IL_0009 + + IL_0009: ldloc.0 + IL_000a: ret + } // end of method ExpressionTrees::'b__86' + + .method private hidebysig static bool 'b__87'() cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 20 (0x14) + .maxstack 2 + .locals init (bool V_0, + char V_1) + IL_0000: ldc.i4.s 97 + IL_0002: stloc.1 + IL_0003: ldloca.s V_1 + IL_0005: ldc.i4.s 98 + IL_0007: call instance int32 [mscorlib]System.Char::CompareTo(char) + IL_000c: ldc.i4.0 + IL_000d: clt + IL_000f: stloc.0 + IL_0010: br.s IL_0012 + + IL_0012: ldloc.0 + IL_0013: ret + } // end of method ExpressionTrees::'b__87' + + .method private hidebysig static bool 'b__8c'() cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 122 (0x7a) + .maxstack 4 + .locals init (bool V_0, + class [System.Core]System.Linq.Expressions.ParameterExpression V_1, + class [System.Core]System.Linq.Expressions.ParameterExpression V_2, + class [System.Core]System.Linq.Expressions.ParameterExpression[] V_3) + IL_0000: ldtoken [mscorlib]System.Int32 + IL_0005: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_000a: ldstr "n" + IL_000f: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0014: stloc.1 + IL_0015: ldtoken [mscorlib]System.String + IL_001a: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_001f: ldstr "s" + IL_0024: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0029: stloc.2 + IL_002a: ldloc.2 + IL_002b: ldloc.1 + IL_002c: ldtoken method instance string [mscorlib]System.Int32::ToString() + IL_0031: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0036: castclass [mscorlib]System.Reflection.MethodInfo + IL_003b: ldc.i4.0 + IL_003c: newarr [System.Core]System.Linq.Expressions.Expression + IL_0041: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_0046: ldtoken method string [mscorlib]System.String::Concat(string, + string) + IL_004b: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0050: castclass [mscorlib]System.Reflection.MethodInfo + IL_0055: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Add(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo) + IL_005a: ldc.i4.2 + IL_005b: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0060: stloc.3 + IL_0061: ldloc.3 + IL_0062: ldc.i4.0 + IL_0063: ldloc.1 + IL_0064: stelem.ref + IL_0065: ldloc.3 + IL_0066: ldc.i4.1 + IL_0067: ldloc.2 + IL_0068: stelem.ref + IL_0069: ldloc.3 + IL_006a: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_006f: ldnull + IL_0070: ceq + IL_0072: ldc.i4.0 + IL_0073: ceq + IL_0075: stloc.0 + IL_0076: br.s IL_0078 + + IL_0078: ldloc.0 + IL_0079: ret + } // end of method ExpressionTrees::'b__8c' + + .method private hidebysig static int32[] + 'b__8e'() cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 22 (0x16) + .maxstack 3 + .locals init (int32[] V_0) + IL_0000: ldc.i4.3 + IL_0001: newarr [mscorlib]System.Int32 + IL_0006: dup + IL_0007: ldtoken field valuetype '{426C7905-90B3-4EA8-8585-F907E00CBDB7}'/'__StaticArrayInitTypeSize=12' '{426C7905-90B3-4EA8-8585-F907E00CBDB7}'::'$$method0x60000bc-1' + IL_000c: call void [mscorlib]System.Runtime.CompilerServices.RuntimeHelpers::InitializeArray(class [mscorlib]System.Array, + valuetype [mscorlib]System.RuntimeFieldHandle) + IL_0011: stloc.0 + IL_0012: br.s IL_0014 + + IL_0014: ldloc.0 + IL_0015: ret + } // end of method ExpressionTrees::'b__8e' + + .method private hidebysig static int32[] + 'b__8f'() cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 11 (0xb) + .maxstack 1 + .locals init (int32[] V_0) + IL_0000: ldc.i4.3 + IL_0001: newarr [mscorlib]System.Int32 + IL_0006: stloc.0 + IL_0007: br.s IL_0009 + + IL_0009: ldloc.0 + IL_000a: ret + } // end of method ExpressionTrees::'b__8f' + + .method private hidebysig static int32[0...,0...] + 'b__90'() cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 12 (0xc) + .maxstack 2 + .locals init (int32[0...,0...] V_0) + IL_0000: ldc.i4.3 + IL_0001: ldc.i4.5 + IL_0002: newobj instance void int32[0...,0...]::.ctor(int32, + int32) + IL_0007: stloc.0 + IL_0008: br.s IL_000a + + IL_000a: ldloc.0 + IL_000b: ret + } // end of method ExpressionTrees::'b__90' + + .method private hidebysig static int32[][] + 'b__91'() cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 11 (0xb) + .maxstack 1 + .locals init (int32[][] V_0) + IL_0000: ldc.i4.3 + IL_0001: newarr int32[] + IL_0006: stloc.0 + IL_0007: br.s IL_0009 + + IL_0009: ldloc.0 + IL_000a: ret + } // end of method ExpressionTrees::'b__91' + + .method private hidebysig static int32[][] + 'b__92'() cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 33 (0x21) + .maxstack 5 + .locals init (int32[][] V_0, + int32[][] V_1) + IL_0000: ldc.i4.1 + IL_0001: newarr int32[] + IL_0006: stloc.1 + IL_0007: ldloc.1 + IL_0008: ldc.i4.0 + IL_0009: ldc.i4.3 + IL_000a: newarr [mscorlib]System.Int32 + IL_000f: dup + IL_0010: ldtoken field valuetype '{426C7905-90B3-4EA8-8585-F907E00CBDB7}'/'__StaticArrayInitTypeSize=12' '{426C7905-90B3-4EA8-8585-F907E00CBDB7}'::'$$method0x60000c0-1' + IL_0015: call void [mscorlib]System.Runtime.CompilerServices.RuntimeHelpers::InitializeArray(class [mscorlib]System.Array, + valuetype [mscorlib]System.RuntimeFieldHandle) + IL_001a: stelem.ref + IL_001b: ldloc.1 + IL_001c: stloc.0 + IL_001d: br.s IL_001f + + IL_001f: ldloc.0 + IL_0020: ret + } // end of method ExpressionTrees::'b__92' + + .method private hidebysig static object + 'b__98'() cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 16 (0x10) + .maxstack 2 + .locals init (object V_0) + IL_0000: ldc.i4.5 + IL_0001: ldstr "Test" + IL_0006: newobj instance void class '<>f__AnonymousType2`2'::.ctor(!0, + !1) + IL_000b: stloc.0 + IL_000c: br.s IL_000e + + IL_000e: ldloc.0 + IL_000f: ret + } // end of method ExpressionTrees::'b__98' + +} // end of class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees + +.class private auto ansi beforefieldinit ICSharpCode.Decompiler.Tests.TestCases.Pretty.MyClass + extends [mscorlib]System.Object +{ + .method public hidebysig specialname static + class ICSharpCode.Decompiler.Tests.TestCases.Pretty.MyClass + op_Addition(class ICSharpCode.Decompiler.Tests.TestCases.Pretty.MyClass a, + class ICSharpCode.Decompiler.Tests.TestCases.Pretty.MyClass b) cil managed + { + // Code size 11 (0xb) + .maxstack 1 + .locals init (class ICSharpCode.Decompiler.Tests.TestCases.Pretty.MyClass V_0) + IL_0000: nop + IL_0001: newobj instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.MyClass::.ctor() + IL_0006: stloc.0 + IL_0007: br.s IL_0009 + + IL_0009: ldloc.0 + IL_000a: ret + } // end of method MyClass::op_Addition + + .method public hidebysig specialname rtspecialname + instance void .ctor() cil managed + { + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [mscorlib]System.Object::.ctor() + IL_0006: ret + } // end of method MyClass::.ctor + +} // end of class ICSharpCode.Decompiler.Tests.TestCases.Pretty.MyClass + +.class private auto ansi beforefieldinit ICSharpCode.Decompiler.Tests.TestCases.Pretty.SimpleType + extends [mscorlib]System.Object +{ + .field public static literal int32 ConstField = int32(0x00000001) + .field public static initonly int32 StaticReadonlyField + .field public static int32 StaticField + .field public initonly int32 ReadonlyField + .field public int32 Field + .field private static int32 'k__BackingField' + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field private int32 'k__BackingField' + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .method public hidebysig specialname static + int32 get_StaticReadonlyProperty() cil managed + { + // Code size 7 (0x7) + .maxstack 1 + .locals init (int32 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 SimpleType::get_StaticReadonlyProperty + + .method public hidebysig specialname static + int32 get_StaticProperty() cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 10 (0xa) + .maxstack 1 + .locals init (int32 V_0) + IL_0000: ldsfld int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.SimpleType::'k__BackingField' + IL_0005: stloc.0 + IL_0006: br.s IL_0008 + + IL_0008: ldloc.0 + IL_0009: ret + } // end of method SimpleType::get_StaticProperty + + .method public hidebysig specialname static + void set_StaticProperty(int32 'value') cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: stsfld int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.SimpleType::'k__BackingField' + IL_0006: ret + } // end of method SimpleType::set_StaticProperty + + .method public hidebysig specialname instance int32 + get_ReadonlyProperty() cil managed + { + // Code size 7 (0x7) + .maxstack 1 + .locals init (int32 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 SimpleType::get_ReadonlyProperty + + .method public hidebysig specialname instance int32 + get_Property() cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 11 (0xb) + .maxstack 1 + .locals init (int32 V_0) + IL_0000: ldarg.0 + IL_0001: ldfld int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.SimpleType::'k__BackingField' + IL_0006: stloc.0 + IL_0007: br.s IL_0009 + + IL_0009: ldloc.0 + IL_000a: ret + } // end of method SimpleType::get_Property + + .method public hidebysig specialname instance void + set_Property(int32 'value') cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 8 (0x8) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.SimpleType::'k__BackingField' + IL_0007: ret + } // end of method SimpleType::set_Property + + .method public hidebysig specialname rtspecialname + instance void .ctor() cil managed + { + // Code size 22 (0x16) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldc.i4.2 + IL_0002: stfld int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.SimpleType::ReadonlyField + IL_0007: ldarg.0 + IL_0008: ldc.i4.3 + IL_0009: stfld int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.SimpleType::Field + IL_000e: ldarg.0 + IL_000f: call instance void [mscorlib]System.Object::.ctor() + IL_0014: nop + IL_0015: ret + } // end of method SimpleType::.ctor + + .method private hidebysig specialname rtspecialname static + void .cctor() cil managed + { + // Code size 13 (0xd) + .maxstack 8 + IL_0000: ldc.i4.2 + IL_0001: stsfld int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.SimpleType::StaticReadonlyField + IL_0006: ldc.i4.3 + IL_0007: stsfld int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.SimpleType::StaticField + IL_000c: ret + } // end of method SimpleType::.cctor + + .property int32 StaticReadonlyProperty() + { + .get int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.SimpleType::get_StaticReadonlyProperty() + } // end of property SimpleType::StaticReadonlyProperty + .property int32 StaticProperty() + { + .get int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.SimpleType::get_StaticProperty() + .set void ICSharpCode.Decompiler.Tests.TestCases.Pretty.SimpleType::set_StaticProperty(int32) + } // end of property SimpleType::StaticProperty + .property instance int32 ReadonlyProperty() + { + .get instance int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.SimpleType::get_ReadonlyProperty() + } // end of property SimpleType::ReadonlyProperty + .property instance int32 Property() + { + .get instance int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.SimpleType::get_Property() + .set instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.SimpleType::set_Property(int32) + } // end of property SimpleType::Property +} // end of class ICSharpCode.Decompiler.Tests.TestCases.Pretty.SimpleType + +.class private auto ansi beforefieldinit ICSharpCode.Decompiler.Tests.TestCases.Pretty.SimpleTypeWithCtor + extends [mscorlib]System.Object +{ + .method public hidebysig specialname rtspecialname + instance void .ctor(int32 i) cil managed + { + // Code size 10 (0xa) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [mscorlib]System.Object::.ctor() + IL_0006: nop + IL_0007: nop + IL_0008: nop + IL_0009: ret + } // end of method SimpleTypeWithCtor::.ctor + +} // end of class ICSharpCode.Decompiler.Tests.TestCases.Pretty.SimpleTypeWithCtor + +.class private auto ansi beforefieldinit ICSharpCode.Decompiler.Tests.TestCases.Pretty.SimpleTypeWithMultipleCtors + extends [mscorlib]System.Object +{ + .method public hidebysig specialname rtspecialname + instance void .ctor() cil managed + { + // Code size 10 (0xa) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [mscorlib]System.Object::.ctor() + IL_0006: nop + IL_0007: nop + IL_0008: nop + IL_0009: ret + } // end of method SimpleTypeWithMultipleCtors::.ctor + + .method public hidebysig specialname rtspecialname + instance void .ctor(int32 i) cil managed + { + // Code size 10 (0xa) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [mscorlib]System.Object::.ctor() + IL_0006: nop + IL_0007: nop + IL_0008: nop + IL_0009: ret + } // end of method SimpleTypeWithMultipleCtors::.ctor + +} // end of class ICSharpCode.Decompiler.Tests.TestCases.Pretty.SimpleTypeWithMultipleCtors + +.class private auto ansi beforefieldinit ICSharpCode.Decompiler.Tests.TestCases.Pretty.GenericClassWithCtor`1 + extends [mscorlib]System.Object +{ + .method public hidebysig specialname rtspecialname + instance void .ctor() cil managed + { + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [mscorlib]System.Object::.ctor() + IL_0006: ret + } // end of method GenericClassWithCtor`1::.ctor + +} // end of class ICSharpCode.Decompiler.Tests.TestCases.Pretty.GenericClassWithCtor`1 + +.class private auto ansi beforefieldinit ICSharpCode.Decompiler.Tests.TestCases.Pretty.GenericClassWithMultipleCtors`1 + extends [mscorlib]System.Object +{ + .method public hidebysig specialname rtspecialname + instance void .ctor() cil managed + { + // Code size 10 (0xa) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [mscorlib]System.Object::.ctor() + IL_0006: nop + IL_0007: nop + IL_0008: nop + IL_0009: ret + } // end of method GenericClassWithMultipleCtors`1::.ctor + + .method public hidebysig specialname rtspecialname + instance void .ctor(int32 x) cil managed + { + // Code size 10 (0xa) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [mscorlib]System.Object::.ctor() + IL_0006: nop + IL_0007: nop + IL_0008: nop + IL_0009: ret + } // end of method GenericClassWithMultipleCtors`1::.ctor + +} // end of class ICSharpCode.Decompiler.Tests.TestCases.Pretty.GenericClassWithMultipleCtors`1 + +.class private auto ansi beforefieldinit ICSharpCode.Decompiler.Tests.TestCases.Pretty.GenericClass`1 + extends [mscorlib]System.Object +{ + .method public hidebysig specialname rtspecialname + instance void .ctor() cil managed + { + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [mscorlib]System.Object::.ctor() + IL_0006: ret + } // end of method GenericClass`1::.ctor + +} // end of class ICSharpCode.Decompiler.Tests.TestCases.Pretty.GenericClass`1 + +.class private auto ansi sealed beforefieldinit '<>f__AnonymousType0`2'<'j__TPar','j__TPar'> + extends [mscorlib]System.Object +{ + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field private initonly !'j__TPar' 'i__Field' + .custom instance void [mscorlib]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [mscorlib]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field private initonly !'j__TPar' 'i__Field' + .custom instance void [mscorlib]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [mscorlib]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .method public hidebysig specialname rtspecialname + instance void .ctor(!'j__TPar' X, + !'j__TPar' A) cil managed + { + .custom instance void [mscorlib]System.Diagnostics.DebuggerHiddenAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 21 (0x15) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [mscorlib]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld !0 class '<>f__AnonymousType0`2'j__TPar',!'j__TPar'>::'i__Field' + IL_000d: ldarg.0 + IL_000e: ldarg.2 + IL_000f: stfld !1 class '<>f__AnonymousType0`2'j__TPar',!'j__TPar'>::'i__Field' + IL_0014: ret + } // end of method '<>f__AnonymousType0`2'::.ctor + + .method public hidebysig specialname instance !'j__TPar' + get_X() cil managed + { + // Code size 11 (0xb) + .maxstack 1 + .locals init (!'j__TPar' V_0) + IL_0000: ldarg.0 + IL_0001: ldfld !0 class '<>f__AnonymousType0`2'j__TPar',!'j__TPar'>::'i__Field' + IL_0006: stloc.0 + IL_0007: br.s IL_0009 + + IL_0009: ldloc.0 + IL_000a: ret + } // end of method '<>f__AnonymousType0`2'::get_X + + .method public hidebysig specialname instance !'j__TPar' + get_A() cil managed + { + // Code size 11 (0xb) + .maxstack 1 + .locals init (!'j__TPar' V_0) + IL_0000: ldarg.0 + IL_0001: ldfld !1 class '<>f__AnonymousType0`2'j__TPar',!'j__TPar'>::'i__Field' + IL_0006: stloc.0 + IL_0007: br.s IL_0009 + + IL_0009: ldloc.0 + IL_000a: ret + } // end of method '<>f__AnonymousType0`2'::get_A + + .method public hidebysig virtual instance string + ToString() cil managed + { + .custom instance void [mscorlib]System.Diagnostics.DebuggerHiddenAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 89 (0x59) + .maxstack 2 + .locals init (class [mscorlib]System.Text.StringBuilder V_0, + string V_1) + IL_0000: newobj instance void [mscorlib]System.Text.StringBuilder::.ctor() + IL_0005: stloc.0 + IL_0006: ldloc.0 + IL_0007: ldstr "{ X = " + IL_000c: callvirt instance class [mscorlib]System.Text.StringBuilder [mscorlib]System.Text.StringBuilder::Append(string) + IL_0011: pop + IL_0012: ldloc.0 + IL_0013: ldarg.0 + IL_0014: ldfld !0 class '<>f__AnonymousType0`2'j__TPar',!'j__TPar'>::'i__Field' + IL_0019: box !'j__TPar' + IL_001e: callvirt instance class [mscorlib]System.Text.StringBuilder [mscorlib]System.Text.StringBuilder::Append(object) + IL_0023: pop + IL_0024: ldloc.0 + IL_0025: ldstr ", A = " + IL_002a: callvirt instance class [mscorlib]System.Text.StringBuilder [mscorlib]System.Text.StringBuilder::Append(string) + IL_002f: pop + IL_0030: ldloc.0 + IL_0031: ldarg.0 + IL_0032: ldfld !1 class '<>f__AnonymousType0`2'j__TPar',!'j__TPar'>::'i__Field' + IL_0037: box !'j__TPar' + IL_003c: callvirt instance class [mscorlib]System.Text.StringBuilder [mscorlib]System.Text.StringBuilder::Append(object) + IL_0041: pop + IL_0042: ldloc.0 + IL_0043: ldstr " }" + IL_0048: callvirt instance class [mscorlib]System.Text.StringBuilder [mscorlib]System.Text.StringBuilder::Append(string) + IL_004d: pop + IL_004e: ldloc.0 + IL_004f: callvirt instance string [mscorlib]System.Object::ToString() + IL_0054: stloc.1 + IL_0055: br.s IL_0057 + + IL_0057: ldloc.1 + IL_0058: ret + } // end of method '<>f__AnonymousType0`2'::ToString + + .method public hidebysig virtual instance bool + Equals(object 'value') cil managed + { + .custom instance void [mscorlib]System.Diagnostics.DebuggerHiddenAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 65 (0x41) + .maxstack 3 + .locals init (class '<>f__AnonymousType0`2'j__TPar',!'j__TPar'> V_0, + bool V_1) + IL_0000: ldarg.1 + IL_0001: isinst class '<>f__AnonymousType0`2'j__TPar',!'j__TPar'> + IL_0006: stloc.0 + IL_0007: ldloc.0 + IL_0008: brfalse.s IL_003a + + IL_000a: call class [mscorlib]System.Collections.Generic.EqualityComparer`1 class [mscorlib]System.Collections.Generic.EqualityComparer`1j__TPar'>::get_Default() + IL_000f: ldarg.0 + IL_0010: ldfld !0 class '<>f__AnonymousType0`2'j__TPar',!'j__TPar'>::'i__Field' + IL_0015: ldloc.0 + IL_0016: ldfld !0 class '<>f__AnonymousType0`2'j__TPar',!'j__TPar'>::'i__Field' + IL_001b: callvirt instance bool class [mscorlib]System.Collections.Generic.EqualityComparer`1j__TPar'>::Equals(!0, + !0) + IL_0020: brfalse.s IL_003a + + IL_0022: call class [mscorlib]System.Collections.Generic.EqualityComparer`1 class [mscorlib]System.Collections.Generic.EqualityComparer`1j__TPar'>::get_Default() + IL_0027: ldarg.0 + IL_0028: ldfld !1 class '<>f__AnonymousType0`2'j__TPar',!'j__TPar'>::'i__Field' + IL_002d: ldloc.0 + IL_002e: ldfld !1 class '<>f__AnonymousType0`2'j__TPar',!'j__TPar'>::'i__Field' + IL_0033: callvirt instance bool class [mscorlib]System.Collections.Generic.EqualityComparer`1j__TPar'>::Equals(!0, + !0) + IL_0038: br.s IL_003b + + IL_003a: ldc.i4.0 + IL_003b: nop + IL_003c: stloc.1 + IL_003d: br.s IL_003f + + IL_003f: ldloc.1 + IL_0040: ret + } // end of method '<>f__AnonymousType0`2'::Equals + + .method public hidebysig virtual instance int32 + GetHashCode() cil managed + { + .custom instance void [mscorlib]System.Diagnostics.DebuggerHiddenAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 62 (0x3e) + .maxstack 3 + .locals init (int32 V_0, + int32 V_1) + IL_0000: ldc.i4 0xed16d9c + IL_0005: stloc.0 + IL_0006: ldc.i4 0xa5555529 + IL_000b: ldloc.0 + IL_000c: mul + IL_000d: call class [mscorlib]System.Collections.Generic.EqualityComparer`1 class [mscorlib]System.Collections.Generic.EqualityComparer`1j__TPar'>::get_Default() + IL_0012: ldarg.0 + IL_0013: ldfld !0 class '<>f__AnonymousType0`2'j__TPar',!'j__TPar'>::'i__Field' + IL_0018: callvirt instance int32 class [mscorlib]System.Collections.Generic.EqualityComparer`1j__TPar'>::GetHashCode(!0) + IL_001d: add + IL_001e: stloc.0 + IL_001f: ldc.i4 0xa5555529 + IL_0024: ldloc.0 + IL_0025: mul + IL_0026: call class [mscorlib]System.Collections.Generic.EqualityComparer`1 class [mscorlib]System.Collections.Generic.EqualityComparer`1j__TPar'>::get_Default() + IL_002b: ldarg.0 + IL_002c: ldfld !1 class '<>f__AnonymousType0`2'j__TPar',!'j__TPar'>::'i__Field' + IL_0031: callvirt instance int32 class [mscorlib]System.Collections.Generic.EqualityComparer`1j__TPar'>::GetHashCode(!0) + IL_0036: add + IL_0037: stloc.0 + IL_0038: ldloc.0 + IL_0039: stloc.1 + IL_003a: br.s IL_003c + + IL_003c: ldloc.1 + IL_003d: ret + } // end of method '<>f__AnonymousType0`2'::GetHashCode + + .property instance !'j__TPar' X() + { + .get instance !'j__TPar' '<>f__AnonymousType0`2'::get_X() + } // end of property '<>f__AnonymousType0`2'::X + .property instance !'j__TPar' A() + { + .get instance !'j__TPar' '<>f__AnonymousType0`2'::get_A() + } // end of property '<>f__AnonymousType0`2'::A +} // end of class '<>f__AnonymousType0`2' + +.class private auto ansi sealed beforefieldinit '<>f__AnonymousType1`2'<'j__TPar','j__TPar'> + extends [mscorlib]System.Object +{ + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field private initonly !'j__TPar' 'i__Field' + .custom instance void [mscorlib]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [mscorlib]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field private initonly !'j__TPar' 'i__Field' + .custom instance void [mscorlib]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [mscorlib]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .method public hidebysig specialname rtspecialname + instance void .ctor(!'j__TPar' X, + !'j__TPar' Y) cil managed + { + .custom instance void [mscorlib]System.Diagnostics.DebuggerHiddenAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 21 (0x15) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [mscorlib]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld !0 class '<>f__AnonymousType1`2'j__TPar',!'j__TPar'>::'i__Field' + IL_000d: ldarg.0 + IL_000e: ldarg.2 + IL_000f: stfld !1 class '<>f__AnonymousType1`2'j__TPar',!'j__TPar'>::'i__Field' + IL_0014: ret + } // end of method '<>f__AnonymousType1`2'::.ctor + + .method public hidebysig specialname instance !'j__TPar' + get_X() cil managed + { + // Code size 11 (0xb) + .maxstack 1 + .locals init (!'j__TPar' V_0) + IL_0000: ldarg.0 + IL_0001: ldfld !0 class '<>f__AnonymousType1`2'j__TPar',!'j__TPar'>::'i__Field' + IL_0006: stloc.0 + IL_0007: br.s IL_0009 + + IL_0009: ldloc.0 + IL_000a: ret + } // end of method '<>f__AnonymousType1`2'::get_X + + .method public hidebysig specialname instance !'j__TPar' + get_Y() cil managed + { + // Code size 11 (0xb) + .maxstack 1 + .locals init (!'j__TPar' V_0) + IL_0000: ldarg.0 + IL_0001: ldfld !1 class '<>f__AnonymousType1`2'j__TPar',!'j__TPar'>::'i__Field' + IL_0006: stloc.0 + IL_0007: br.s IL_0009 + + IL_0009: ldloc.0 + IL_000a: ret + } // end of method '<>f__AnonymousType1`2'::get_Y + + .method public hidebysig virtual instance string + ToString() cil managed + { + .custom instance void [mscorlib]System.Diagnostics.DebuggerHiddenAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 89 (0x59) + .maxstack 2 + .locals init (class [mscorlib]System.Text.StringBuilder V_0, + string V_1) + IL_0000: newobj instance void [mscorlib]System.Text.StringBuilder::.ctor() + IL_0005: stloc.0 + IL_0006: ldloc.0 + IL_0007: ldstr "{ X = " + IL_000c: callvirt instance class [mscorlib]System.Text.StringBuilder [mscorlib]System.Text.StringBuilder::Append(string) + IL_0011: pop + IL_0012: ldloc.0 + IL_0013: ldarg.0 + IL_0014: ldfld !0 class '<>f__AnonymousType1`2'j__TPar',!'j__TPar'>::'i__Field' + IL_0019: box !'j__TPar' + IL_001e: callvirt instance class [mscorlib]System.Text.StringBuilder [mscorlib]System.Text.StringBuilder::Append(object) + IL_0023: pop + IL_0024: ldloc.0 + IL_0025: ldstr ", Y = " + IL_002a: callvirt instance class [mscorlib]System.Text.StringBuilder [mscorlib]System.Text.StringBuilder::Append(string) + IL_002f: pop + IL_0030: ldloc.0 + IL_0031: ldarg.0 + IL_0032: ldfld !1 class '<>f__AnonymousType1`2'j__TPar',!'j__TPar'>::'i__Field' + IL_0037: box !'j__TPar' + IL_003c: callvirt instance class [mscorlib]System.Text.StringBuilder [mscorlib]System.Text.StringBuilder::Append(object) + IL_0041: pop + IL_0042: ldloc.0 + IL_0043: ldstr " }" + IL_0048: callvirt instance class [mscorlib]System.Text.StringBuilder [mscorlib]System.Text.StringBuilder::Append(string) + IL_004d: pop + IL_004e: ldloc.0 + IL_004f: callvirt instance string [mscorlib]System.Object::ToString() + IL_0054: stloc.1 + IL_0055: br.s IL_0057 + + IL_0057: ldloc.1 + IL_0058: ret + } // end of method '<>f__AnonymousType1`2'::ToString + + .method public hidebysig virtual instance bool + Equals(object 'value') cil managed + { + .custom instance void [mscorlib]System.Diagnostics.DebuggerHiddenAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 65 (0x41) + .maxstack 3 + .locals init (class '<>f__AnonymousType1`2'j__TPar',!'j__TPar'> V_0, + bool V_1) + IL_0000: ldarg.1 + IL_0001: isinst class '<>f__AnonymousType1`2'j__TPar',!'j__TPar'> + IL_0006: stloc.0 + IL_0007: ldloc.0 + IL_0008: brfalse.s IL_003a + + IL_000a: call class [mscorlib]System.Collections.Generic.EqualityComparer`1 class [mscorlib]System.Collections.Generic.EqualityComparer`1j__TPar'>::get_Default() + IL_000f: ldarg.0 + IL_0010: ldfld !0 class '<>f__AnonymousType1`2'j__TPar',!'j__TPar'>::'i__Field' + IL_0015: ldloc.0 + IL_0016: ldfld !0 class '<>f__AnonymousType1`2'j__TPar',!'j__TPar'>::'i__Field' + IL_001b: callvirt instance bool class [mscorlib]System.Collections.Generic.EqualityComparer`1j__TPar'>::Equals(!0, + !0) + IL_0020: brfalse.s IL_003a + + IL_0022: call class [mscorlib]System.Collections.Generic.EqualityComparer`1 class [mscorlib]System.Collections.Generic.EqualityComparer`1j__TPar'>::get_Default() + IL_0027: ldarg.0 + IL_0028: ldfld !1 class '<>f__AnonymousType1`2'j__TPar',!'j__TPar'>::'i__Field' + IL_002d: ldloc.0 + IL_002e: ldfld !1 class '<>f__AnonymousType1`2'j__TPar',!'j__TPar'>::'i__Field' + IL_0033: callvirt instance bool class [mscorlib]System.Collections.Generic.EqualityComparer`1j__TPar'>::Equals(!0, + !0) + IL_0038: br.s IL_003b + + IL_003a: ldc.i4.0 + IL_003b: nop + IL_003c: stloc.1 + IL_003d: br.s IL_003f + + IL_003f: ldloc.1 + IL_0040: ret + } // end of method '<>f__AnonymousType1`2'::Equals + + .method public hidebysig virtual instance int32 + GetHashCode() cil managed + { + .custom instance void [mscorlib]System.Diagnostics.DebuggerHiddenAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 62 (0x3e) + .maxstack 3 + .locals init (int32 V_0, + int32 V_1) + IL_0000: ldc.i4 0xc18f39dd + IL_0005: stloc.0 + IL_0006: ldc.i4 0xa5555529 + IL_000b: ldloc.0 + IL_000c: mul + IL_000d: call class [mscorlib]System.Collections.Generic.EqualityComparer`1 class [mscorlib]System.Collections.Generic.EqualityComparer`1j__TPar'>::get_Default() + IL_0012: ldarg.0 + IL_0013: ldfld !0 class '<>f__AnonymousType1`2'j__TPar',!'j__TPar'>::'i__Field' + IL_0018: callvirt instance int32 class [mscorlib]System.Collections.Generic.EqualityComparer`1j__TPar'>::GetHashCode(!0) + IL_001d: add + IL_001e: stloc.0 + IL_001f: ldc.i4 0xa5555529 + IL_0024: ldloc.0 + IL_0025: mul + IL_0026: call class [mscorlib]System.Collections.Generic.EqualityComparer`1 class [mscorlib]System.Collections.Generic.EqualityComparer`1j__TPar'>::get_Default() + IL_002b: ldarg.0 + IL_002c: ldfld !1 class '<>f__AnonymousType1`2'j__TPar',!'j__TPar'>::'i__Field' + IL_0031: callvirt instance int32 class [mscorlib]System.Collections.Generic.EqualityComparer`1j__TPar'>::GetHashCode(!0) + IL_0036: add + IL_0037: stloc.0 + IL_0038: ldloc.0 + IL_0039: stloc.1 + IL_003a: br.s IL_003c + + IL_003c: ldloc.1 + IL_003d: ret + } // end of method '<>f__AnonymousType1`2'::GetHashCode + + .property instance !'j__TPar' X() + { + .get instance !'j__TPar' '<>f__AnonymousType1`2'::get_X() + } // end of property '<>f__AnonymousType1`2'::X + .property instance !'j__TPar' Y() + { + .get instance !'j__TPar' '<>f__AnonymousType1`2'::get_Y() + } // end of property '<>f__AnonymousType1`2'::Y +} // end of class '<>f__AnonymousType1`2' + +.class private auto ansi '{426C7905-90B3-4EA8-8585-F907E00CBDB7}' + extends [mscorlib]System.Object +{ + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .class explicit ansi sealed nested private '__StaticArrayInitTypeSize=12' + extends [mscorlib]System.ValueType + { + .pack 1 + .size 12 + } // end of class '__StaticArrayInitTypeSize=12' + + .field static assembly valuetype '{426C7905-90B3-4EA8-8585-F907E00CBDB7}'/'__StaticArrayInitTypeSize=12' '$$method0x60000bc-1' at I_00007A38 + .field static assembly valuetype '{426C7905-90B3-4EA8-8585-F907E00CBDB7}'/'__StaticArrayInitTypeSize=12' '$$method0x60000c0-1' at I_00007AB0 +} // end of class '{426C7905-90B3-4EA8-8585-F907E00CBDB7}' + +.class private auto ansi sealed beforefieldinit '<>f__AnonymousType2`2'<'j__TPar','j__TPar'> + extends [mscorlib]System.Object +{ + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field private initonly !'j__TPar' 'i__Field' + .custom instance void [mscorlib]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [mscorlib]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field private initonly !'j__TPar' 'i__Field' + .custom instance void [mscorlib]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [mscorlib]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .method public hidebysig specialname rtspecialname + instance void .ctor(!'j__TPar' A, + !'j__TPar' B) cil managed + { + .custom instance void [mscorlib]System.Diagnostics.DebuggerHiddenAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 21 (0x15) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [mscorlib]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld !0 class '<>f__AnonymousType2`2'j__TPar',!'j__TPar'>::'i__Field' + IL_000d: ldarg.0 + IL_000e: ldarg.2 + IL_000f: stfld !1 class '<>f__AnonymousType2`2'j__TPar',!'j__TPar'>::'i__Field' + IL_0014: ret + } // end of method '<>f__AnonymousType2`2'::.ctor + + .method public hidebysig specialname instance !'j__TPar' + get_A() cil managed + { + // Code size 11 (0xb) + .maxstack 1 + .locals init (!'j__TPar' V_0) + IL_0000: ldarg.0 + IL_0001: ldfld !0 class '<>f__AnonymousType2`2'j__TPar',!'j__TPar'>::'i__Field' + IL_0006: stloc.0 + IL_0007: br.s IL_0009 + + IL_0009: ldloc.0 + IL_000a: ret + } // end of method '<>f__AnonymousType2`2'::get_A + + .method public hidebysig specialname instance !'j__TPar' + get_B() cil managed + { + // Code size 11 (0xb) + .maxstack 1 + .locals init (!'j__TPar' V_0) + IL_0000: ldarg.0 + IL_0001: ldfld !1 class '<>f__AnonymousType2`2'j__TPar',!'j__TPar'>::'i__Field' + IL_0006: stloc.0 + IL_0007: br.s IL_0009 + + IL_0009: ldloc.0 + IL_000a: ret + } // end of method '<>f__AnonymousType2`2'::get_B + + .method public hidebysig virtual instance string + ToString() cil managed + { + .custom instance void [mscorlib]System.Diagnostics.DebuggerHiddenAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 89 (0x59) + .maxstack 2 + .locals init (class [mscorlib]System.Text.StringBuilder V_0, + string V_1) + IL_0000: newobj instance void [mscorlib]System.Text.StringBuilder::.ctor() + IL_0005: stloc.0 + IL_0006: ldloc.0 + IL_0007: ldstr "{ A = " + IL_000c: callvirt instance class [mscorlib]System.Text.StringBuilder [mscorlib]System.Text.StringBuilder::Append(string) + IL_0011: pop + IL_0012: ldloc.0 + IL_0013: ldarg.0 + IL_0014: ldfld !0 class '<>f__AnonymousType2`2'j__TPar',!'j__TPar'>::'i__Field' + IL_0019: box !'j__TPar' + IL_001e: callvirt instance class [mscorlib]System.Text.StringBuilder [mscorlib]System.Text.StringBuilder::Append(object) + IL_0023: pop + IL_0024: ldloc.0 + IL_0025: ldstr ", B = " + IL_002a: callvirt instance class [mscorlib]System.Text.StringBuilder [mscorlib]System.Text.StringBuilder::Append(string) + IL_002f: pop + IL_0030: ldloc.0 + IL_0031: ldarg.0 + IL_0032: ldfld !1 class '<>f__AnonymousType2`2'j__TPar',!'j__TPar'>::'i__Field' + IL_0037: box !'j__TPar' + IL_003c: callvirt instance class [mscorlib]System.Text.StringBuilder [mscorlib]System.Text.StringBuilder::Append(object) + IL_0041: pop + IL_0042: ldloc.0 + IL_0043: ldstr " }" + IL_0048: callvirt instance class [mscorlib]System.Text.StringBuilder [mscorlib]System.Text.StringBuilder::Append(string) + IL_004d: pop + IL_004e: ldloc.0 + IL_004f: callvirt instance string [mscorlib]System.Object::ToString() + IL_0054: stloc.1 + IL_0055: br.s IL_0057 + + IL_0057: ldloc.1 + IL_0058: ret + } // end of method '<>f__AnonymousType2`2'::ToString + + .method public hidebysig virtual instance bool + Equals(object 'value') cil managed + { + .custom instance void [mscorlib]System.Diagnostics.DebuggerHiddenAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 65 (0x41) + .maxstack 3 + .locals init (class '<>f__AnonymousType2`2'j__TPar',!'j__TPar'> V_0, + bool V_1) + IL_0000: ldarg.1 + IL_0001: isinst class '<>f__AnonymousType2`2'j__TPar',!'j__TPar'> + IL_0006: stloc.0 + IL_0007: ldloc.0 + IL_0008: brfalse.s IL_003a + + IL_000a: call class [mscorlib]System.Collections.Generic.EqualityComparer`1 class [mscorlib]System.Collections.Generic.EqualityComparer`1j__TPar'>::get_Default() + IL_000f: ldarg.0 + IL_0010: ldfld !0 class '<>f__AnonymousType2`2'j__TPar',!'j__TPar'>::'i__Field' + IL_0015: ldloc.0 + IL_0016: ldfld !0 class '<>f__AnonymousType2`2'j__TPar',!'j__TPar'>::'i__Field' + IL_001b: callvirt instance bool class [mscorlib]System.Collections.Generic.EqualityComparer`1j__TPar'>::Equals(!0, + !0) + IL_0020: brfalse.s IL_003a + + IL_0022: call class [mscorlib]System.Collections.Generic.EqualityComparer`1 class [mscorlib]System.Collections.Generic.EqualityComparer`1j__TPar'>::get_Default() + IL_0027: ldarg.0 + IL_0028: ldfld !1 class '<>f__AnonymousType2`2'j__TPar',!'j__TPar'>::'i__Field' + IL_002d: ldloc.0 + IL_002e: ldfld !1 class '<>f__AnonymousType2`2'j__TPar',!'j__TPar'>::'i__Field' + IL_0033: callvirt instance bool class [mscorlib]System.Collections.Generic.EqualityComparer`1j__TPar'>::Equals(!0, + !0) + IL_0038: br.s IL_003b + + IL_003a: ldc.i4.0 + IL_003b: nop + IL_003c: stloc.1 + IL_003d: br.s IL_003f + + IL_003f: ldloc.1 + IL_0040: ret + } // end of method '<>f__AnonymousType2`2'::Equals + + .method public hidebysig virtual instance int32 + GetHashCode() cil managed + { + .custom instance void [mscorlib]System.Diagnostics.DebuggerHiddenAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 62 (0x3e) + .maxstack 3 + .locals init (int32 V_0, + int32 V_1) + IL_0000: ldc.i4 0xbc6464e2 + IL_0005: stloc.0 + IL_0006: ldc.i4 0xa5555529 + IL_000b: ldloc.0 + IL_000c: mul + IL_000d: call class [mscorlib]System.Collections.Generic.EqualityComparer`1 class [mscorlib]System.Collections.Generic.EqualityComparer`1j__TPar'>::get_Default() + IL_0012: ldarg.0 + IL_0013: ldfld !0 class '<>f__AnonymousType2`2'j__TPar',!'j__TPar'>::'i__Field' + IL_0018: callvirt instance int32 class [mscorlib]System.Collections.Generic.EqualityComparer`1j__TPar'>::GetHashCode(!0) + IL_001d: add + IL_001e: stloc.0 + IL_001f: ldc.i4 0xa5555529 + IL_0024: ldloc.0 + IL_0025: mul + IL_0026: call class [mscorlib]System.Collections.Generic.EqualityComparer`1 class [mscorlib]System.Collections.Generic.EqualityComparer`1j__TPar'>::get_Default() + IL_002b: ldarg.0 + IL_002c: ldfld !1 class '<>f__AnonymousType2`2'j__TPar',!'j__TPar'>::'i__Field' + IL_0031: callvirt instance int32 class [mscorlib]System.Collections.Generic.EqualityComparer`1j__TPar'>::GetHashCode(!0) + IL_0036: add + IL_0037: stloc.0 + IL_0038: ldloc.0 + IL_0039: stloc.1 + IL_003a: br.s IL_003c + + IL_003c: ldloc.1 + IL_003d: ret + } // end of method '<>f__AnonymousType2`2'::GetHashCode + + .property instance !'j__TPar' A() + { + .get instance !'j__TPar' '<>f__AnonymousType2`2'::get_A() + } // end of property '<>f__AnonymousType2`2'::A + .property instance !'j__TPar' B() + { + .get instance !'j__TPar' '<>f__AnonymousType2`2'::get_B() + } // end of property '<>f__AnonymousType2`2'::B +} // end of class '<>f__AnonymousType2`2' + + +// ============================================================= + +.data cil I_00007A38 = bytearray ( + 01 00 00 00 02 00 00 00 03 00 00 00) +.data cil I_00007A44 = int8[12] +.data cil I_00007AB0 = bytearray ( + 01 00 00 00 02 00 00 00 03 00 00 00) +// *********** DISASSEMBLY COMPLETE *********************** +// WARNING: Created Win32 resource file ../../../TestCases/Pretty\ExpressionTrees.res diff --git a/ICSharpCode.Decompiler.Tests/TestCases/Pretty/ExpressionTrees.opt.il b/ICSharpCode.Decompiler.Tests/TestCases/Pretty/ExpressionTrees.opt.il new file mode 100644 index 000000000..18d861a19 --- /dev/null +++ b/ICSharpCode.Decompiler.Tests/TestCases/Pretty/ExpressionTrees.opt.il @@ -0,0 +1,10282 @@ + +// Microsoft (R) .NET Framework IL Disassembler. Version 4.6.1055.0 +// Copyright (c) Microsoft Corporation. All rights reserved. + + + +// Metadata version: v4.0.30319 +.assembly extern mscorlib +{ + .publickeytoken = (B7 7A 5C 56 19 34 E0 89 ) // .z\V.4.. + .ver 4:0:0:0 +} +.assembly extern System.Core +{ + .publickeytoken = (B7 7A 5C 56 19 34 E0 89 ) // .z\V.4.. + .ver 4:0:0:0 +} +.assembly extern System.Xml +{ + .publickeytoken = (B7 7A 5C 56 19 34 E0 89 ) // .z\V.4.. + .ver 4:0:0:0 +} +.assembly tngduxjw +{ + .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 + .ver 0:0:0:0 +} +.module tngduxjw.dll +// MVID: {416BD71B-B506-4355-8604-9F8C6A2FDEE6} +.custom instance void [mscorlib]System.Security.UnverifiableCodeAttribute::.ctor() = ( 01 00 00 00 ) +.imagebase 0x10000000 +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 // WINDOWS_CUI +.corflags 0x00000001 // ILONLY +// Image base: 0x04A60000 + + +// =============== CLASS MEMBERS DECLARATION =================== + +.class public auto ansi beforefieldinit ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees + extends [mscorlib]System.Object +{ + .class auto ansi nested private beforefieldinit GenericClass`1 + extends [mscorlib]System.Object + { + .field public static !X StaticField + .field public !X InstanceField + .field private static !X 'k__BackingField' + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field private !X 'k__BackingField' + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .method public hidebysig specialname static + !X get_StaticProperty() cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 6 (0x6) + .maxstack 8 + IL_0000: ldsfld !0 class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/GenericClass`1::'k__BackingField' + IL_0005: ret + } // end of method GenericClass`1::get_StaticProperty + + .method public hidebysig specialname static + void set_StaticProperty(!X 'value') cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: stsfld !0 class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/GenericClass`1::'k__BackingField' + IL_0006: ret + } // end of method GenericClass`1::set_StaticProperty + + .method public hidebysig specialname + instance !X get_InstanceProperty() cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld !0 class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/GenericClass`1::'k__BackingField' + IL_0006: ret + } // end of method GenericClass`1::get_InstanceProperty + + .method public hidebysig specialname + instance void set_InstanceProperty(!X 'value') cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 8 (0x8) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld !0 class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/GenericClass`1::'k__BackingField' + IL_0007: ret + } // end of method GenericClass`1::set_InstanceProperty + + .method public hidebysig static bool + GenericMethod() cil managed + { + // Code size 2 (0x2) + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: ret + } // end of method GenericClass`1::GenericMethod + + .method public hidebysig specialname rtspecialname + instance void .ctor() cil managed + { + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [mscorlib]System.Object::.ctor() + IL_0006: ret + } // end of method GenericClass`1::.ctor + + .property !X StaticProperty() + { + .get !X ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/GenericClass`1::get_StaticProperty() + .set void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/GenericClass`1::set_StaticProperty(!X) + } // end of property GenericClass`1::StaticProperty + .property instance !X InstanceProperty() + { + .set instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/GenericClass`1::set_InstanceProperty(!X) + .get instance !X ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/GenericClass`1::get_InstanceProperty() + } // end of property GenericClass`1::InstanceProperty + } // end of class GenericClass`1 + + .class auto ansi sealed nested private beforefieldinit '<>c__DisplayClass0' + extends [mscorlib]System.Object + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field public bool a + .method public hidebysig specialname rtspecialname + instance void .ctor() cil managed + { + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [mscorlib]System.Object::.ctor() + IL_0006: ret + } // end of method '<>c__DisplayClass0'::.ctor + + } // end of class '<>c__DisplayClass0' + + .class auto ansi sealed nested private beforefieldinit '<>c__DisplayClass2' + extends [mscorlib]System.Object + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field public bool a + .method public hidebysig specialname rtspecialname + instance void .ctor() cil managed + { + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [mscorlib]System.Object::.ctor() + IL_0006: ret + } // end of method '<>c__DisplayClass2'::.ctor + + } // end of class '<>c__DisplayClass2' + + .class auto ansi sealed nested private beforefieldinit '<>c__DisplayClass4' + extends [mscorlib]System.Object + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 x + .method public hidebysig specialname rtspecialname + instance void .ctor() cil managed + { + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [mscorlib]System.Object::.ctor() + IL_0006: ret + } // end of method '<>c__DisplayClass4'::.ctor + + } // end of class '<>c__DisplayClass4' + + .class auto ansi sealed nested private beforefieldinit '<>c__DisplayClass8' + extends [mscorlib]System.Object + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field public class [mscorlib]System.Collections.Generic.Dictionary`2 dict + .method public hidebysig specialname rtspecialname + instance void .ctor() cil managed + { + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [mscorlib]System.Object::.ctor() + IL_0006: ret + } // end of method '<>c__DisplayClass8'::.ctor + + } // end of class '<>c__DisplayClass8' + + .class auto ansi sealed nested private beforefieldinit '<>c__DisplayClassa' + extends [mscorlib]System.Object + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 i + .field public string x + .method public hidebysig specialname rtspecialname + instance void .ctor() cil managed + { + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [mscorlib]System.Object::.ctor() + IL_0006: ret + } // end of method '<>c__DisplayClassa'::.ctor + + } // end of class '<>c__DisplayClassa' + + .class auto ansi sealed nested private beforefieldinit '<>c__DisplayClassc' + extends [mscorlib]System.Object + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field public uint8 z + .method public hidebysig specialname rtspecialname + instance void .ctor() cil managed + { + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [mscorlib]System.Object::.ctor() + IL_0006: ret + } // end of method '<>c__DisplayClassc'::.ctor + + } // end of class '<>c__DisplayClassc' + + .class auto ansi sealed nested private beforefieldinit '<>c__DisplayClass10' + extends [mscorlib]System.Object + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field public class [System.Core]System.Collections.Generic.HashSet`1 set + .field public class [mscorlib]System.Func`2,bool> sink + .method public hidebysig specialname rtspecialname + instance void .ctor() cil managed + { + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [mscorlib]System.Object::.ctor() + IL_0006: ret + } // end of method '<>c__DisplayClass10'::.ctor + + } // end of class '<>c__DisplayClass10' + + .class auto ansi sealed nested private beforefieldinit '<>c__DisplayClass14' + extends [mscorlib]System.Object + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field public class [mscorlib]System.Func`2,int32> 'call' + .method public hidebysig specialname rtspecialname + instance void .ctor() cil managed + { + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [mscorlib]System.Object::.ctor() + IL_0006: ret + } // end of method '<>c__DisplayClass14'::.ctor + + } // end of class '<>c__DisplayClass14' + + .class auto ansi sealed nested private beforefieldinit '<>c__DisplayClass16' + extends [mscorlib]System.Object + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field public bool x + .field public int32 y + .field public uint8 z + .method public hidebysig specialname rtspecialname + instance void .ctor() cil managed + { + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [mscorlib]System.Object::.ctor() + IL_0006: ret + } // end of method '<>c__DisplayClass16'::.ctor + + } // end of class '<>c__DisplayClass16' + + .class auto ansi sealed nested private beforefieldinit '<>c__DisplayClass19' + extends [mscorlib]System.Object + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field public class [System.Xml]System.Xml.XmlReaderSettings s + .method public hidebysig specialname rtspecialname + instance void .ctor() cil managed + { + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [mscorlib]System.Object::.ctor() + IL_0006: ret + } // end of method '<>c__DisplayClass19'::.ctor + + } // end of class '<>c__DisplayClass19' + + .class auto ansi sealed nested private beforefieldinit '<>c__DisplayClass1b' + extends [mscorlib]System.Object + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 i + .field public string x + .method public hidebysig specialname rtspecialname + instance void .ctor() cil managed + { + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [mscorlib]System.Object::.ctor() + IL_0006: ret + } // end of method '<>c__DisplayClass1b'::.ctor + + } // end of class '<>c__DisplayClass1b' + + .class auto ansi sealed nested private beforefieldinit '<>c__DisplayClass82' + extends [mscorlib]System.Object + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 captured + .method public hidebysig specialname rtspecialname + instance void .ctor() cil managed + { + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [mscorlib]System.Object::.ctor() + IL_0006: ret + } // end of method '<>c__DisplayClass82'::.ctor + + .method public hidebysig instance int32 + 'b__81'() cil managed + { + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass82'::captured + IL_0006: ret + } // end of method '<>c__DisplayClass82'::'b__81' + + } // end of class '<>c__DisplayClass82' + + .field private int32 'field' + .field private static class [mscorlib]System.Func`2 'CS$<>9__CachedAnonymousMethodDelegate7' + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field private static class [mscorlib]System.Func`2,bool> 'CS$<>9__CachedAnonymousMethodDelegatef' + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field private static class [mscorlib]System.Func`2,int32> 'CS$<>9__CachedAnonymousMethodDelegate13' + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field private static class [mscorlib]System.Func`2 'CS$<>9__CachedAnonymousMethodDelegate22' + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field private static class [mscorlib]System.Func`3 'CS$<>9__CachedAnonymousMethodDelegate23' + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field private static class [mscorlib]System.Func`2 'CS$<>9__CachedAnonymousMethodDelegate24' + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field private static class [mscorlib]System.Func`3 'CS$<>9__CachedAnonymousMethodDelegate25' + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field private static class [mscorlib]System.Func`3 'CS$<>9__CachedAnonymousMethodDelegate26' + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field private static class [mscorlib]System.Func`2 'CS$<>9__CachedAnonymousMethodDelegate29' + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field private static class [mscorlib]System.Func`1 'CS$<>9__CachedAnonymousMethodDelegate2a' + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field private static class [mscorlib]System.Func`1 'CS$<>9__CachedAnonymousMethodDelegate32' + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field private static class [mscorlib]System.Func`1 'CS$<>9__CachedAnonymousMethodDelegate33' + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field private static class [mscorlib]System.Func`1 'CS$<>9__CachedAnonymousMethodDelegate34' + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field private static class [mscorlib]System.Func`1 'CS$<>9__CachedAnonymousMethodDelegate35' + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field private static class [mscorlib]System.Func`1 'CS$<>9__CachedAnonymousMethodDelegate36' + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field private static class [mscorlib]System.Func`1 'CS$<>9__CachedAnonymousMethodDelegate37' + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field private static class [mscorlib]System.Func`1 'CS$<>9__CachedAnonymousMethodDelegate38' + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field private static class [mscorlib]System.Func`1 'CS$<>9__CachedAnonymousMethodDelegate3e' + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field private static class [mscorlib]System.Func`1 'CS$<>9__CachedAnonymousMethodDelegate3f' + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field private static class [mscorlib]System.Func`1 'CS$<>9__CachedAnonymousMethodDelegate40' + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field private static class [mscorlib]System.Func`1 'CS$<>9__CachedAnonymousMethodDelegate41' + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field private static class [mscorlib]System.Func`1 'CS$<>9__CachedAnonymousMethodDelegate42' + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field private static class [mscorlib]System.Func`2 'CS$<>9__CachedAnonymousMethodDelegate45' + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field private static class [mscorlib]System.Func`2> 'CS$<>9__CachedAnonymousMethodDelegate46' + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field private static class [mscorlib]System.Func`2 'CS$<>9__CachedAnonymousMethodDelegate48' + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field private static class [mscorlib]System.Func`2 'CS$<>9__CachedAnonymousMethodDelegate4a' + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field private static class [mscorlib]System.Func`2 'CS$<>9__CachedAnonymousMethodDelegate4d' + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field private static class [mscorlib]System.Func`2 'CS$<>9__CachedAnonymousMethodDelegate4e' + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field private static class [mscorlib]System.Func`3 'CS$<>9__CachedAnonymousMethodDelegate5e' + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field private static class [mscorlib]System.Func`3 'CS$<>9__CachedAnonymousMethodDelegate5f' + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field private static class [mscorlib]System.Func`3 'CS$<>9__CachedAnonymousMethodDelegate60' + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field private static class [mscorlib]System.Func`3 'CS$<>9__CachedAnonymousMethodDelegate61' + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field private static class [mscorlib]System.Func`3 'CS$<>9__CachedAnonymousMethodDelegate62' + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field private static class [mscorlib]System.Func`3 'CS$<>9__CachedAnonymousMethodDelegate63' + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field private static class [mscorlib]System.Func`3 'CS$<>9__CachedAnonymousMethodDelegate64' + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field private static class [mscorlib]System.Func`3 'CS$<>9__CachedAnonymousMethodDelegate65' + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field private static class [mscorlib]System.Func`3 'CS$<>9__CachedAnonymousMethodDelegate66' + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field private static class [mscorlib]System.Func`3 'CS$<>9__CachedAnonymousMethodDelegate67' + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field private static class [mscorlib]System.Func`3 'CS$<>9__CachedAnonymousMethodDelegate68' + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field private static class [mscorlib]System.Func`3 'CS$<>9__CachedAnonymousMethodDelegate69' + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field private static class [mscorlib]System.Func`3 'CS$<>9__CachedAnonymousMethodDelegate6a' + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field private static class [mscorlib]System.Func`3 'CS$<>9__CachedAnonymousMethodDelegate6b' + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field private static class [mscorlib]System.Func`3 'CS$<>9__CachedAnonymousMethodDelegate6c' + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field private static class [mscorlib]System.Func`2 'CS$<>9__CachedAnonymousMethodDelegate71' + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field private static class [mscorlib]System.Func`3 'CS$<>9__CachedAnonymousMethodDelegate72' + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field private static class [mscorlib]System.Func`3 'CS$<>9__CachedAnonymousMethodDelegate73' + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field private static class [mscorlib]System.Func`3 'CS$<>9__CachedAnonymousMethodDelegate74' + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field private static class [mscorlib]System.Func`2 'CS$<>9__CachedAnonymousMethodDelegate79' + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field private static class [mscorlib]System.Func`2 'CS$<>9__CachedAnonymousMethodDelegate7a' + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field private static class [mscorlib]System.Func`2 'CS$<>9__CachedAnonymousMethodDelegate7b' + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field private static class [mscorlib]System.Func`2 'CS$<>9__CachedAnonymousMethodDelegate7c' + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field private static class [mscorlib]System.Func`1 'CS$<>9__CachedAnonymousMethodDelegate7f' + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field private static class [mscorlib]System.Func`2 'CS$<>9__CachedAnonymousMethodDelegate80' + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field private static class [mscorlib]System.Func`2 'CS$<>9__CachedAnonymousMethodDelegate88' + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field private static class [mscorlib]System.Func`2 'CS$<>9__CachedAnonymousMethodDelegate89' + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field private static class [mscorlib]System.Func`2 'CS$<>9__CachedAnonymousMethodDelegate8a' + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field private static class [mscorlib]System.Func`1 'CS$<>9__CachedAnonymousMethodDelegate8b' + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field private static class [mscorlib]System.Func`1 'CS$<>9__CachedAnonymousMethodDelegate8d' + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field private static class [mscorlib]System.Func`1 'CS$<>9__CachedAnonymousMethodDelegate93' + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field private static class [mscorlib]System.Func`1 'CS$<>9__CachedAnonymousMethodDelegate94' + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field private static class [mscorlib]System.Func`1 'CS$<>9__CachedAnonymousMethodDelegate95' + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field private static class [mscorlib]System.Func`1 'CS$<>9__CachedAnonymousMethodDelegate96' + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field private static class [mscorlib]System.Func`1 'CS$<>9__CachedAnonymousMethodDelegate97' + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field private static class [mscorlib]System.Func`1 'CS$<>9__CachedAnonymousMethodDelegate99' + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .method private hidebysig static object + ToCode(object x, + class [System.Core]System.Linq.Expressions.Expression`1> expr) cil managed + { + // Code size 2 (0x2) + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ret + } // end of method ExpressionTrees::ToCode + + .method private hidebysig static object + ToCode(object x, + class [System.Core]System.Linq.Expressions.Expression`1> expr) cil managed + { + // Code size 2 (0x2) + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ret + } // end of method ExpressionTrees::ToCode + + .method private hidebysig static object + ToCode(object x, + class [System.Core]System.Linq.Expressions.Expression`1> expr) cil managed + { + // Code size 2 (0x2) + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ret + } // end of method ExpressionTrees::ToCode + + .method private hidebysig static object + ToCode(object x, + class [System.Core]System.Linq.Expressions.Expression`1> expr) cil managed + { + // Code size 2 (0x2) + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ret + } // end of method ExpressionTrees::ToCode + + .method private hidebysig static object + X() cil managed + { + // Code size 2 (0x2) + .maxstack 8 + IL_0000: ldnull + IL_0001: ret + } // end of method ExpressionTrees::X + + .method public hidebysig instance void + Parameter(bool a) cil managed + { + // Code size 57 (0x39) + .maxstack 3 + .locals init (class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass0' V_0) + IL_0000: newobj instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass0'::.ctor() + IL_0005: stloc.0 + IL_0006: ldloc.0 + IL_0007: ldarg.1 + IL_0008: stfld bool ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass0'::a + IL_000d: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0012: ldloc.0 + IL_0013: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object) + IL_0018: ldtoken field bool ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass0'::a + IL_001d: call class [mscorlib]System.Reflection.FieldInfo [mscorlib]System.Reflection.FieldInfo::GetFieldFromHandle(valuetype [mscorlib]System.RuntimeFieldHandle) + IL_0022: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Field(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.FieldInfo) + IL_0027: ldc.i4.0 + IL_0028: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_002d: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0032: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0037: pop + IL_0038: ret + } // end of method ExpressionTrees::Parameter + + .method public hidebysig instance void + LocalVariable() cil managed + { + // Code size 57 (0x39) + .maxstack 3 + .locals init (class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass2' V_0) + IL_0000: newobj instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass2'::.ctor() + IL_0005: stloc.0 + IL_0006: ldloc.0 + IL_0007: ldc.i4.1 + IL_0008: stfld bool ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass2'::a + IL_000d: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0012: ldloc.0 + IL_0013: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object) + IL_0018: ldtoken field bool ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass2'::a + IL_001d: call class [mscorlib]System.Reflection.FieldInfo [mscorlib]System.Reflection.FieldInfo::GetFieldFromHandle(valuetype [mscorlib]System.RuntimeFieldHandle) + IL_0022: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Field(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.FieldInfo) + IL_0027: ldc.i4.0 + IL_0028: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_002d: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0032: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0037: pop + IL_0038: ret + } // end of method ExpressionTrees::LocalVariable + + .method public hidebysig instance void + LambdaParameter() cil managed + { + // Code size 51 (0x33) + .maxstack 5 + .locals init (class [System.Core]System.Linq.Expressions.ParameterExpression V_0, + class [System.Core]System.Linq.Expressions.ParameterExpression[] V_1) + IL_0000: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0005: ldtoken [mscorlib]System.Boolean + IL_000a: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_000f: ldstr "a" + IL_0014: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0019: stloc.0 + IL_001a: ldloc.0 + IL_001b: ldc.i4.1 + IL_001c: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0021: stloc.1 + IL_0022: ldloc.1 + IL_0023: ldc.i4.0 + IL_0024: ldloc.0 + IL_0025: stelem.ref + IL_0026: ldloc.1 + IL_0027: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_002c: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0031: pop + IL_0032: ret + } // end of method ExpressionTrees::LambdaParameter + + .method public hidebysig instance void + AddOperator(int32 x) cil managed + { + // Code size 109 (0x6d) + .maxstack 4 + .locals init (class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass4' V_0) + IL_0000: newobj instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass4'::.ctor() + IL_0005: stloc.0 + IL_0006: ldloc.0 + IL_0007: ldarg.1 + IL_0008: stfld int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass4'::x + IL_000d: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0012: ldc.i4.1 + IL_0013: box [mscorlib]System.Int32 + IL_0018: ldtoken [mscorlib]System.Int32 + IL_001d: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0022: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0027: ldloc.0 + IL_0028: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object) + IL_002d: ldtoken field int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass4'::x + IL_0032: call class [mscorlib]System.Reflection.FieldInfo [mscorlib]System.Reflection.FieldInfo::GetFieldFromHandle(valuetype [mscorlib]System.RuntimeFieldHandle) + IL_0037: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Field(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.FieldInfo) + IL_003c: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Add(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0041: ldc.i4.2 + IL_0042: box [mscorlib]System.Int32 + IL_0047: ldtoken [mscorlib]System.Int32 + IL_004c: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0051: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0056: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Add(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_005b: ldc.i4.0 + IL_005c: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0061: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0066: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_006b: pop + IL_006c: ret + } // end of method ExpressionTrees::AddOperator + + .method public hidebysig instance void + AnonymousClasses() cil managed + { + // Code size 157 (0x9d) + .maxstack 7 + .locals init (class [System.Core]System.Linq.Expressions.Expression[] V_0, + class [mscorlib]System.Reflection.MethodInfo[] V_1) + IL_0000: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0005: ldtoken method instance void class '<>f__AnonymousType0`2'::.ctor(!0, + !1) + IL_000a: ldtoken class '<>f__AnonymousType0`2' + IL_000f: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle, + valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0014: castclass [mscorlib]System.Reflection.ConstructorInfo + IL_0019: ldc.i4.2 + IL_001a: newarr [System.Core]System.Linq.Expressions.Expression + IL_001f: stloc.0 + IL_0020: ldloc.0 + IL_0021: ldc.i4.0 + IL_0022: ldc.i4.3 + IL_0023: box [mscorlib]System.Int32 + IL_0028: ldtoken [mscorlib]System.Int32 + IL_002d: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0032: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0037: stelem.ref + IL_0038: ldloc.0 + IL_0039: ldc.i4.1 + IL_003a: ldstr "a" + IL_003f: ldtoken [mscorlib]System.String + IL_0044: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0049: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_004e: stelem.ref + IL_004f: ldloc.0 + IL_0050: ldc.i4.2 + IL_0051: newarr [mscorlib]System.Reflection.MethodInfo + IL_0056: stloc.1 + IL_0057: ldloc.1 + IL_0058: ldc.i4.0 + IL_0059: ldtoken method instance !0 class '<>f__AnonymousType0`2'::get_X() + IL_005e: ldtoken class '<>f__AnonymousType0`2' + IL_0063: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle, + valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0068: castclass [mscorlib]System.Reflection.MethodInfo + IL_006d: stelem.ref + IL_006e: ldloc.1 + IL_006f: ldc.i4.1 + IL_0070: ldtoken method instance !1 class '<>f__AnonymousType0`2'::get_A() + IL_0075: ldtoken class '<>f__AnonymousType0`2' + IL_007a: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle, + valuetype [mscorlib]System.RuntimeTypeHandle) + IL_007f: castclass [mscorlib]System.Reflection.MethodInfo + IL_0084: stelem.ref + IL_0085: ldloc.1 + IL_0086: call class [System.Core]System.Linq.Expressions.NewExpression [System.Core]System.Linq.Expressions.Expression::New(class [mscorlib]System.Reflection.ConstructorInfo, + class [mscorlib]System.Collections.Generic.IEnumerable`1, + class [mscorlib]System.Reflection.MemberInfo[]) + IL_008b: ldc.i4.0 + IL_008c: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0091: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambdaf__AnonymousType0`2'>>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0096: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCodef__AnonymousType0`2'>(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_009b: pop + IL_009c: ret + } // end of method ExpressionTrees::AnonymousClasses + + .method public hidebysig instance void + ArrayIndex() cil managed + { + // Code size 232 (0xe8) + .maxstack 6 + .locals init (class [System.Core]System.Linq.Expressions.Expression[] V_0) + IL_0000: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0005: ldtoken [mscorlib]System.Int32 + IL_000a: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_000f: ldc.i4.3 + IL_0010: newarr [System.Core]System.Linq.Expressions.Expression + IL_0015: stloc.0 + IL_0016: ldloc.0 + IL_0017: ldc.i4.0 + IL_0018: ldc.i4.3 + IL_0019: box [mscorlib]System.Int32 + IL_001e: ldtoken [mscorlib]System.Int32 + IL_0023: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0028: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_002d: stelem.ref + IL_002e: ldloc.0 + IL_002f: ldc.i4.1 + IL_0030: ldc.i4.4 + IL_0031: box [mscorlib]System.Int32 + IL_0036: ldtoken [mscorlib]System.Int32 + IL_003b: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0040: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0045: stelem.ref + IL_0046: ldloc.0 + IL_0047: ldc.i4.2 + IL_0048: ldc.i4.5 + IL_0049: box [mscorlib]System.Int32 + IL_004e: ldtoken [mscorlib]System.Int32 + IL_0053: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0058: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_005d: stelem.ref + IL_005e: ldloc.0 + IL_005f: call class [System.Core]System.Linq.Expressions.NewArrayExpression [System.Core]System.Linq.Expressions.Expression::NewArrayInit(class [mscorlib]System.Type, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_0064: ldc.i4.0 + IL_0065: box [mscorlib]System.Int32 + IL_006a: ldtoken [mscorlib]System.Int32 + IL_006f: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0074: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0079: ldnull + IL_007a: ldtoken method valuetype [mscorlib]System.DateTime [mscorlib]System.DateTime::get_Now() + IL_007f: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0084: castclass [mscorlib]System.Reflection.MethodInfo + IL_0089: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Property(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo) + IL_008e: ldtoken method instance int64 [mscorlib]System.DateTime::get_Ticks() + IL_0093: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0098: castclass [mscorlib]System.Reflection.MethodInfo + IL_009d: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Property(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo) + IL_00a2: ldc.i4.3 + IL_00a3: conv.i8 + IL_00a4: box [mscorlib]System.Int64 + IL_00a9: ldtoken [mscorlib]System.Int64 + IL_00ae: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00b3: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_00b8: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Modulo(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_00bd: ldtoken [mscorlib]System.Int32 + IL_00c2: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00c7: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_00cc: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Add(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_00d1: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::ArrayIndex(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_00d6: ldc.i4.0 + IL_00d7: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_00dc: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_00e1: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_00e6: pop + IL_00e7: ret + } // end of method ExpressionTrees::ArrayIndex + + .method public hidebysig instance void + ArrayLengthAndDoubles() cil managed + { + // Code size 301 (0x12d) + .maxstack 14 + .locals init (class [System.Core]System.Linq.Expressions.Expression[] V_0, + class [System.Core]System.Linq.Expressions.Expression[] V_1, + class [System.Core]System.Linq.Expressions.Expression[] V_2, + class [System.Core]System.Linq.Expressions.Expression[] V_3) + IL_0000: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0005: ldnull + IL_0006: ldtoken method !!0[] [System.Core]System.Linq.Enumerable::ToArray(class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_000b: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0010: castclass [mscorlib]System.Reflection.MethodInfo + IL_0015: ldc.i4.1 + IL_0016: newarr [System.Core]System.Linq.Expressions.Expression + IL_001b: stloc.0 + IL_001c: ldloc.0 + IL_001d: ldc.i4.0 + IL_001e: ldnull + IL_001f: ldtoken method class [mscorlib]System.Collections.Generic.IEnumerable`1 [System.Core]System.Linq.Enumerable::Concat(class [mscorlib]System.Collections.Generic.IEnumerable`1, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0024: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0029: castclass [mscorlib]System.Reflection.MethodInfo + IL_002e: ldc.i4.2 + IL_002f: newarr [System.Core]System.Linq.Expressions.Expression + IL_0034: stloc.1 + IL_0035: ldloc.1 + IL_0036: ldc.i4.0 + IL_0037: ldtoken [mscorlib]System.Double + IL_003c: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0041: ldc.i4.3 + IL_0042: newarr [System.Core]System.Linq.Expressions.Expression + IL_0047: stloc.2 + IL_0048: ldloc.2 + IL_0049: ldc.i4.0 + IL_004a: ldc.r8 1. + IL_0053: box [mscorlib]System.Double + IL_0058: ldtoken [mscorlib]System.Double + IL_005d: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0062: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0067: stelem.ref + IL_0068: ldloc.2 + IL_0069: ldc.i4.1 + IL_006a: ldc.r8 2.0099999999999998 + IL_0073: box [mscorlib]System.Double + IL_0078: ldtoken [mscorlib]System.Double + IL_007d: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0082: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0087: stelem.ref + IL_0088: ldloc.2 + IL_0089: ldc.i4.2 + IL_008a: ldc.r8 3.5 + IL_0093: box [mscorlib]System.Double + IL_0098: ldtoken [mscorlib]System.Double + IL_009d: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00a2: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_00a7: stelem.ref + IL_00a8: ldloc.2 + IL_00a9: call class [System.Core]System.Linq.Expressions.NewArrayExpression [System.Core]System.Linq.Expressions.Expression::NewArrayInit(class [mscorlib]System.Type, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_00ae: stelem.ref + IL_00af: ldloc.1 + IL_00b0: ldc.i4.1 + IL_00b1: ldtoken [mscorlib]System.Double + IL_00b6: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00bb: ldc.i4.2 + IL_00bc: newarr [System.Core]System.Linq.Expressions.Expression + IL_00c1: stloc.3 + IL_00c2: ldloc.3 + IL_00c3: ldc.i4.0 + IL_00c4: ldc.r8 1. + IL_00cd: box [mscorlib]System.Double + IL_00d2: ldtoken [mscorlib]System.Double + IL_00d7: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00dc: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_00e1: stelem.ref + IL_00e2: ldloc.3 + IL_00e3: ldc.i4.1 + IL_00e4: ldc.r8 2. + IL_00ed: box [mscorlib]System.Double + IL_00f2: ldtoken [mscorlib]System.Double + IL_00f7: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00fc: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0101: stelem.ref + IL_0102: ldloc.3 + IL_0103: call class [System.Core]System.Linq.Expressions.NewArrayExpression [System.Core]System.Linq.Expressions.Expression::NewArrayInit(class [mscorlib]System.Type, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_0108: stelem.ref + IL_0109: ldloc.1 + IL_010a: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_010f: stelem.ref + IL_0110: ldloc.0 + IL_0111: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_0116: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::ArrayLength(class [System.Core]System.Linq.Expressions.Expression) + IL_011b: ldc.i4.0 + IL_011c: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0121: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0126: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_012b: pop + IL_012c: ret + } // end of method ExpressionTrees::ArrayLengthAndDoubles + + .method public hidebysig instance void + AsOperator() cil managed + { + // Code size 64 (0x40) + .maxstack 3 + IL_0000: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0005: ldtoken method instance void [mscorlib]System.Object::.ctor() + IL_000a: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_000f: castclass [mscorlib]System.Reflection.ConstructorInfo + IL_0014: ldc.i4.0 + IL_0015: newarr [System.Core]System.Linq.Expressions.Expression + IL_001a: call class [System.Core]System.Linq.Expressions.NewExpression [System.Core]System.Linq.Expressions.Expression::New(class [mscorlib]System.Reflection.ConstructorInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_001f: ldtoken [mscorlib]System.String + IL_0024: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0029: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::TypeAs(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_002e: ldc.i4.0 + IL_002f: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0034: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0039: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_003e: pop + IL_003f: ret + } // end of method ExpressionTrees::AsOperator + + .method public hidebysig instance void + ComplexGenericName() cil managed + { + // Code size 140 (0x8c) + .maxstack 6 + .locals init (class [System.Core]System.Linq.Expressions.ParameterExpression V_0, + class [System.Core]System.Linq.Expressions.ParameterExpression[] V_1, + class [System.Core]System.Linq.Expressions.Expression[] V_2) + IL_0000: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0005: ldtoken [mscorlib]System.Int32 + IL_000a: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_000f: ldstr "x" + IL_0014: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0019: stloc.0 + IL_001a: ldloc.0 + IL_001b: ldc.i4.0 + IL_001c: box [mscorlib]System.Int32 + IL_0021: ldtoken [mscorlib]System.Int32 + IL_0026: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_002b: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0030: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::GreaterThan(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0035: ldc.i4.1 + IL_0036: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_003b: stloc.1 + IL_003c: ldloc.1 + IL_003d: ldc.i4.0 + IL_003e: ldloc.0 + IL_003f: stelem.ref + IL_0040: ldloc.1 + IL_0041: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0046: ldtoken class [mscorlib]System.Func`2 + IL_004b: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0050: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_0055: ldc.i4.1 + IL_0056: newarr [System.Core]System.Linq.Expressions.Expression + IL_005b: stloc.2 + IL_005c: ldloc.2 + IL_005d: ldc.i4.0 + IL_005e: ldc.i4.0 + IL_005f: box [mscorlib]System.Int32 + IL_0064: ldtoken [mscorlib]System.Int32 + IL_0069: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_006e: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0073: stelem.ref + IL_0074: ldloc.2 + IL_0075: call class [System.Core]System.Linq.Expressions.InvocationExpression [System.Core]System.Linq.Expressions.Expression::Invoke(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_007a: ldc.i4.0 + IL_007b: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0080: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0085: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_008a: pop + IL_008b: ret + } // end of method ExpressionTrees::ComplexGenericName + + .method public hidebysig instance void + DefaultValue() cil managed + { + // Code size 173 (0xad) + .maxstack 6 + .locals init (class [System.Core]System.Linq.Expressions.Expression[] V_0, + valuetype [mscorlib]System.TimeSpan V_1) + IL_0000: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0005: ldtoken method instance void [mscorlib]System.TimeSpan::.ctor(int32, + int32, + int32) + IL_000a: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_000f: castclass [mscorlib]System.Reflection.ConstructorInfo + IL_0014: ldc.i4.3 + IL_0015: newarr [System.Core]System.Linq.Expressions.Expression + IL_001a: stloc.0 + IL_001b: ldloc.0 + IL_001c: ldc.i4.0 + IL_001d: ldc.i4.1 + IL_001e: box [mscorlib]System.Int32 + IL_0023: ldtoken [mscorlib]System.Int32 + IL_0028: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_002d: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0032: stelem.ref + IL_0033: ldloc.0 + IL_0034: ldc.i4.1 + IL_0035: ldc.i4.2 + IL_0036: box [mscorlib]System.Int32 + IL_003b: ldtoken [mscorlib]System.Int32 + IL_0040: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0045: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_004a: stelem.ref + IL_004b: ldloc.0 + IL_004c: ldc.i4.2 + IL_004d: ldc.i4.3 + IL_004e: box [mscorlib]System.Int32 + IL_0053: ldtoken [mscorlib]System.Int32 + IL_0058: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_005d: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0062: stelem.ref + IL_0063: ldloc.0 + IL_0064: call class [System.Core]System.Linq.Expressions.NewExpression [System.Core]System.Linq.Expressions.Expression::New(class [mscorlib]System.Reflection.ConstructorInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_0069: ldloca.s V_1 + IL_006b: initobj [mscorlib]System.TimeSpan + IL_0071: ldloc.1 + IL_0072: box [mscorlib]System.TimeSpan + IL_0077: ldtoken [mscorlib]System.TimeSpan + IL_007c: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0081: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0086: ldc.i4.0 + IL_0087: ldtoken method bool [mscorlib]System.TimeSpan::op_Equality(valuetype [mscorlib]System.TimeSpan, + valuetype [mscorlib]System.TimeSpan) + IL_008c: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0091: castclass [mscorlib]System.Reflection.MethodInfo + IL_0096: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Equal(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression, + bool, + class [mscorlib]System.Reflection.MethodInfo) + IL_009b: ldc.i4.0 + IL_009c: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_00a1: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_00a6: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_00ab: pop + IL_00ac: ret + } // end of method ExpressionTrees::DefaultValue + + .method public hidebysig instance void + EnumConstant() cil managed + { + // Code size 116 (0x74) + .maxstack 7 + .locals init (class [System.Core]System.Linq.Expressions.Expression[] V_0) + IL_0000: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0005: ldtoken method instance void [mscorlib]System.Object::.ctor() + IL_000a: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_000f: castclass [mscorlib]System.Reflection.ConstructorInfo + IL_0014: ldc.i4.0 + IL_0015: newarr [System.Core]System.Linq.Expressions.Expression + IL_001a: call class [System.Core]System.Linq.Expressions.NewExpression [System.Core]System.Linq.Expressions.Expression::New(class [mscorlib]System.Reflection.ConstructorInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_001f: ldtoken method instance bool [mscorlib]System.Object::Equals(object) + IL_0024: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0029: castclass [mscorlib]System.Reflection.MethodInfo + IL_002e: ldc.i4.1 + IL_002f: newarr [System.Core]System.Linq.Expressions.Expression + IL_0034: stloc.0 + IL_0035: ldloc.0 + IL_0036: ldc.i4.0 + IL_0037: ldc.i4.0 + IL_0038: box [mscorlib]System.MidpointRounding + IL_003d: ldtoken [mscorlib]System.MidpointRounding + IL_0042: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0047: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_004c: ldtoken [mscorlib]System.Object + IL_0051: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0056: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_005b: stelem.ref + IL_005c: ldloc.0 + IL_005d: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_0062: ldc.i4.0 + IL_0063: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0068: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_006d: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0072: pop + IL_0073: ret + } // end of method ExpressionTrees::EnumConstant + + .method public hidebysig instance void + IndexerAccess() cil managed + { + // Code size 180 (0xb4) + .maxstack 7 + .locals init (class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass8' V_0, + class [System.Core]System.Linq.Expressions.Expression[] V_1) + IL_0000: newobj instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass8'::.ctor() + IL_0005: stloc.0 + IL_0006: ldloc.0 + IL_0007: ldc.i4.1 + IL_0008: ldc.i4.s 20 + IL_000a: call class [mscorlib]System.Collections.Generic.IEnumerable`1 [System.Core]System.Linq.Enumerable::Range(int32, + int32) + IL_000f: ldsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate7' + IL_0014: brtrue.s IL_0027 + + IL_0016: ldnull + IL_0017: ldftn string ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'b__6'(int32) + IL_001d: newobj instance void class [mscorlib]System.Func`2::.ctor(object, + native int) + IL_0022: stsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate7' + IL_0027: ldsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate7' + IL_002c: call class [mscorlib]System.Collections.Generic.Dictionary`2 [System.Core]System.Linq.Enumerable::ToDictionary(class [mscorlib]System.Collections.Generic.IEnumerable`1, + class [mscorlib]System.Func`2) + IL_0031: stfld class [mscorlib]System.Collections.Generic.Dictionary`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass8'::dict + IL_0036: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_003b: ldloc.0 + IL_003c: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object) + IL_0041: ldtoken field class [mscorlib]System.Collections.Generic.Dictionary`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass8'::dict + IL_0046: call class [mscorlib]System.Reflection.FieldInfo [mscorlib]System.Reflection.FieldInfo::GetFieldFromHandle(valuetype [mscorlib]System.RuntimeFieldHandle) + IL_004b: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Field(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.FieldInfo) + IL_0050: ldtoken method instance !1 class [mscorlib]System.Collections.Generic.Dictionary`2::get_Item(!0) + IL_0055: ldtoken class [mscorlib]System.Collections.Generic.Dictionary`2 + IL_005a: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle, + valuetype [mscorlib]System.RuntimeTypeHandle) + IL_005f: castclass [mscorlib]System.Reflection.MethodInfo + IL_0064: ldc.i4.1 + IL_0065: newarr [System.Core]System.Linq.Expressions.Expression + IL_006a: stloc.1 + IL_006b: ldloc.1 + IL_006c: ldc.i4.0 + IL_006d: ldstr "3" + IL_0072: ldtoken [mscorlib]System.String + IL_0077: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_007c: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0081: stelem.ref + IL_0082: ldloc.1 + IL_0083: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_0088: ldc.i4.3 + IL_0089: box [mscorlib]System.Int32 + IL_008e: ldtoken [mscorlib]System.Int32 + IL_0093: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0098: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_009d: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Equal(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_00a2: ldc.i4.0 + IL_00a3: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_00a8: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_00ad: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_00b2: pop + IL_00b3: ret + } // end of method ExpressionTrees::IndexerAccess + + .method public hidebysig instance void + IsOperator() cil managed + { + // Code size 64 (0x40) + .maxstack 3 + IL_0000: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0005: ldtoken method instance void [mscorlib]System.Object::.ctor() + IL_000a: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_000f: castclass [mscorlib]System.Reflection.ConstructorInfo + IL_0014: ldc.i4.0 + IL_0015: newarr [System.Core]System.Linq.Expressions.Expression + IL_001a: call class [System.Core]System.Linq.Expressions.NewExpression [System.Core]System.Linq.Expressions.Expression::New(class [mscorlib]System.Reflection.ConstructorInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_001f: ldtoken [mscorlib]System.String + IL_0024: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0029: call class [System.Core]System.Linq.Expressions.TypeBinaryExpression [System.Core]System.Linq.Expressions.Expression::TypeIs(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_002e: ldc.i4.0 + IL_002f: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0034: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0039: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_003e: pop + IL_003f: ret + } // end of method ExpressionTrees::IsOperator + + .method public hidebysig instance void + ListInitializer() cil managed + { + // Code size 370 (0x172) + .maxstack 9 + .locals init (class [System.Core]System.Linq.Expressions.ElementInit[] V_0, + class [System.Core]System.Linq.Expressions.Expression[] V_1, + class [System.Core]System.Linq.Expressions.Expression[] V_2, + class [System.Core]System.Linq.Expressions.Expression[] V_3) + IL_0000: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0005: ldtoken method instance void class [mscorlib]System.Collections.Generic.Dictionary`2::.ctor() + IL_000a: ldtoken class [mscorlib]System.Collections.Generic.Dictionary`2 + IL_000f: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle, + valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0014: castclass [mscorlib]System.Reflection.ConstructorInfo + IL_0019: ldc.i4.0 + IL_001a: newarr [System.Core]System.Linq.Expressions.Expression + IL_001f: call class [System.Core]System.Linq.Expressions.NewExpression [System.Core]System.Linq.Expressions.Expression::New(class [mscorlib]System.Reflection.ConstructorInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_0024: ldc.i4.3 + IL_0025: newarr [System.Core]System.Linq.Expressions.ElementInit + IL_002a: stloc.0 + IL_002b: ldloc.0 + IL_002c: ldc.i4.0 + IL_002d: ldtoken method instance void class [mscorlib]System.Collections.Generic.Dictionary`2::Add(!0, + !1) + IL_0032: ldtoken class [mscorlib]System.Collections.Generic.Dictionary`2 + IL_0037: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle, + valuetype [mscorlib]System.RuntimeTypeHandle) + IL_003c: castclass [mscorlib]System.Reflection.MethodInfo + IL_0041: ldc.i4.2 + IL_0042: newarr [System.Core]System.Linq.Expressions.Expression + IL_0047: stloc.1 + IL_0048: ldloc.1 + IL_0049: ldc.i4.0 + IL_004a: ldc.i4.1 + IL_004b: box [mscorlib]System.Int32 + IL_0050: ldtoken [mscorlib]System.Int32 + IL_0055: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_005a: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_005f: stelem.ref + IL_0060: ldloc.1 + IL_0061: ldc.i4.1 + IL_0062: ldc.i4.1 + IL_0063: box [mscorlib]System.Int32 + IL_0068: ldtoken [mscorlib]System.Int32 + IL_006d: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0072: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0077: stelem.ref + IL_0078: ldloc.1 + IL_0079: call class [System.Core]System.Linq.Expressions.ElementInit [System.Core]System.Linq.Expressions.Expression::ElementInit(class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_007e: stelem.ref + IL_007f: ldloc.0 + IL_0080: ldc.i4.1 + IL_0081: ldtoken method instance void class [mscorlib]System.Collections.Generic.Dictionary`2::Add(!0, + !1) + IL_0086: ldtoken class [mscorlib]System.Collections.Generic.Dictionary`2 + IL_008b: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle, + valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0090: castclass [mscorlib]System.Reflection.MethodInfo + IL_0095: ldc.i4.2 + IL_0096: newarr [System.Core]System.Linq.Expressions.Expression + IL_009b: stloc.2 + IL_009c: ldloc.2 + IL_009d: ldc.i4.0 + IL_009e: ldc.i4.2 + IL_009f: box [mscorlib]System.Int32 + IL_00a4: ldtoken [mscorlib]System.Int32 + IL_00a9: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00ae: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_00b3: stelem.ref + IL_00b4: ldloc.2 + IL_00b5: ldc.i4.1 + IL_00b6: ldc.i4.2 + IL_00b7: box [mscorlib]System.Int32 + IL_00bc: ldtoken [mscorlib]System.Int32 + IL_00c1: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00c6: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_00cb: stelem.ref + IL_00cc: ldloc.2 + IL_00cd: call class [System.Core]System.Linq.Expressions.ElementInit [System.Core]System.Linq.Expressions.Expression::ElementInit(class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_00d2: stelem.ref + IL_00d3: ldloc.0 + IL_00d4: ldc.i4.2 + IL_00d5: ldtoken method instance void class [mscorlib]System.Collections.Generic.Dictionary`2::Add(!0, + !1) + IL_00da: ldtoken class [mscorlib]System.Collections.Generic.Dictionary`2 + IL_00df: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle, + valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00e4: castclass [mscorlib]System.Reflection.MethodInfo + IL_00e9: ldc.i4.2 + IL_00ea: newarr [System.Core]System.Linq.Expressions.Expression + IL_00ef: stloc.3 + IL_00f0: ldloc.3 + IL_00f1: ldc.i4.0 + IL_00f2: ldc.i4.3 + IL_00f3: box [mscorlib]System.Int32 + IL_00f8: ldtoken [mscorlib]System.Int32 + IL_00fd: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0102: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0107: stelem.ref + IL_0108: ldloc.3 + IL_0109: ldc.i4.1 + IL_010a: ldc.i4.4 + IL_010b: box [mscorlib]System.Int32 + IL_0110: ldtoken [mscorlib]System.Int32 + IL_0115: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_011a: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_011f: stelem.ref + IL_0120: ldloc.3 + IL_0121: call class [System.Core]System.Linq.Expressions.ElementInit [System.Core]System.Linq.Expressions.Expression::ElementInit(class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_0126: stelem.ref + IL_0127: ldloc.0 + IL_0128: call class [System.Core]System.Linq.Expressions.ListInitExpression [System.Core]System.Linq.Expressions.Expression::ListInit(class [System.Core]System.Linq.Expressions.NewExpression, + class [System.Core]System.Linq.Expressions.ElementInit[]) + IL_012d: ldtoken method instance int32 class [mscorlib]System.Collections.Generic.Dictionary`2::get_Count() + IL_0132: ldtoken class [mscorlib]System.Collections.Generic.Dictionary`2 + IL_0137: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle, + valuetype [mscorlib]System.RuntimeTypeHandle) + IL_013c: castclass [mscorlib]System.Reflection.MethodInfo + IL_0141: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Property(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo) + IL_0146: ldc.i4.3 + IL_0147: box [mscorlib]System.Int32 + IL_014c: ldtoken [mscorlib]System.Int32 + IL_0151: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0156: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_015b: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Equal(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0160: ldc.i4.0 + IL_0161: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0166: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_016b: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0170: pop + IL_0171: ret + } // end of method ExpressionTrees::ListInitializer + + .method public hidebysig instance void + ListInitializer2() cil managed + { + // Code size 328 (0x148) + .maxstack 9 + .locals init (class [System.Core]System.Linq.Expressions.Expression[] V_0, + class [System.Core]System.Linq.Expressions.ElementInit[] V_1, + class [System.Core]System.Linq.Expressions.Expression[] V_2, + class [System.Core]System.Linq.Expressions.Expression[] V_3, + class [System.Core]System.Linq.Expressions.Expression[] V_4) + IL_0000: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0005: ldtoken method instance void class [mscorlib]System.Collections.Generic.List`1::.ctor(int32) + IL_000a: ldtoken class [mscorlib]System.Collections.Generic.List`1 + IL_000f: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle, + valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0014: castclass [mscorlib]System.Reflection.ConstructorInfo + IL_0019: ldc.i4.1 + IL_001a: newarr [System.Core]System.Linq.Expressions.Expression + IL_001f: stloc.0 + IL_0020: ldloc.0 + IL_0021: ldc.i4.0 + IL_0022: ldc.i4.s 50 + IL_0024: box [mscorlib]System.Int32 + IL_0029: ldtoken [mscorlib]System.Int32 + IL_002e: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0033: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0038: stelem.ref + IL_0039: ldloc.0 + IL_003a: call class [System.Core]System.Linq.Expressions.NewExpression [System.Core]System.Linq.Expressions.Expression::New(class [mscorlib]System.Reflection.ConstructorInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_003f: ldc.i4.3 + IL_0040: newarr [System.Core]System.Linq.Expressions.ElementInit + IL_0045: stloc.1 + IL_0046: ldloc.1 + IL_0047: ldc.i4.0 + IL_0048: ldtoken method instance void class [mscorlib]System.Collections.Generic.List`1::Add(!0) + IL_004d: ldtoken class [mscorlib]System.Collections.Generic.List`1 + IL_0052: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle, + valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0057: castclass [mscorlib]System.Reflection.MethodInfo + IL_005c: ldc.i4.1 + IL_005d: newarr [System.Core]System.Linq.Expressions.Expression + IL_0062: stloc.2 + IL_0063: ldloc.2 + IL_0064: ldc.i4.0 + IL_0065: ldc.i4.1 + IL_0066: box [mscorlib]System.Int32 + IL_006b: ldtoken [mscorlib]System.Int32 + IL_0070: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0075: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_007a: stelem.ref + IL_007b: ldloc.2 + IL_007c: call class [System.Core]System.Linq.Expressions.ElementInit [System.Core]System.Linq.Expressions.Expression::ElementInit(class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_0081: stelem.ref + IL_0082: ldloc.1 + IL_0083: ldc.i4.1 + IL_0084: ldtoken method instance void class [mscorlib]System.Collections.Generic.List`1::Add(!0) + IL_0089: ldtoken class [mscorlib]System.Collections.Generic.List`1 + IL_008e: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle, + valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0093: castclass [mscorlib]System.Reflection.MethodInfo + IL_0098: ldc.i4.1 + IL_0099: newarr [System.Core]System.Linq.Expressions.Expression + IL_009e: stloc.3 + IL_009f: ldloc.3 + IL_00a0: ldc.i4.0 + IL_00a1: ldc.i4.2 + IL_00a2: box [mscorlib]System.Int32 + IL_00a7: ldtoken [mscorlib]System.Int32 + IL_00ac: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00b1: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_00b6: stelem.ref + IL_00b7: ldloc.3 + IL_00b8: call class [System.Core]System.Linq.Expressions.ElementInit [System.Core]System.Linq.Expressions.Expression::ElementInit(class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_00bd: stelem.ref + IL_00be: ldloc.1 + IL_00bf: ldc.i4.2 + IL_00c0: ldtoken method instance void class [mscorlib]System.Collections.Generic.List`1::Add(!0) + IL_00c5: ldtoken class [mscorlib]System.Collections.Generic.List`1 + IL_00ca: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle, + valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00cf: castclass [mscorlib]System.Reflection.MethodInfo + IL_00d4: ldc.i4.1 + IL_00d5: newarr [System.Core]System.Linq.Expressions.Expression + IL_00da: stloc.s V_4 + IL_00dc: ldloc.s V_4 + IL_00de: ldc.i4.0 + IL_00df: ldc.i4.3 + IL_00e0: box [mscorlib]System.Int32 + IL_00e5: ldtoken [mscorlib]System.Int32 + IL_00ea: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00ef: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_00f4: stelem.ref + IL_00f5: ldloc.s V_4 + IL_00f7: call class [System.Core]System.Linq.Expressions.ElementInit [System.Core]System.Linq.Expressions.Expression::ElementInit(class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_00fc: stelem.ref + IL_00fd: ldloc.1 + IL_00fe: call class [System.Core]System.Linq.Expressions.ListInitExpression [System.Core]System.Linq.Expressions.Expression::ListInit(class [System.Core]System.Linq.Expressions.NewExpression, + class [System.Core]System.Linq.Expressions.ElementInit[]) + IL_0103: ldtoken method instance int32 class [mscorlib]System.Collections.Generic.List`1::get_Count() + IL_0108: ldtoken class [mscorlib]System.Collections.Generic.List`1 + IL_010d: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle, + valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0112: castclass [mscorlib]System.Reflection.MethodInfo + IL_0117: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Property(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo) + IL_011c: ldc.i4.3 + IL_011d: box [mscorlib]System.Int32 + IL_0122: ldtoken [mscorlib]System.Int32 + IL_0127: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_012c: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0131: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Equal(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0136: ldc.i4.0 + IL_0137: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_013c: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0141: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0146: pop + IL_0147: ret + } // end of method ExpressionTrees::ListInitializer2 + + .method public hidebysig instance void + ListInitializer3() cil managed + { + // Code size 298 (0x12a) + .maxstack 9 + .locals init (class [System.Core]System.Linq.Expressions.ElementInit[] V_0, + class [System.Core]System.Linq.Expressions.Expression[] V_1, + class [System.Core]System.Linq.Expressions.Expression[] V_2, + class [System.Core]System.Linq.Expressions.Expression[] V_3) + IL_0000: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0005: ldtoken method instance void class [mscorlib]System.Collections.Generic.List`1::.ctor() + IL_000a: ldtoken class [mscorlib]System.Collections.Generic.List`1 + IL_000f: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle, + valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0014: castclass [mscorlib]System.Reflection.ConstructorInfo + IL_0019: ldc.i4.0 + IL_001a: newarr [System.Core]System.Linq.Expressions.Expression + IL_001f: call class [System.Core]System.Linq.Expressions.NewExpression [System.Core]System.Linq.Expressions.Expression::New(class [mscorlib]System.Reflection.ConstructorInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_0024: ldc.i4.3 + IL_0025: newarr [System.Core]System.Linq.Expressions.ElementInit + IL_002a: stloc.0 + IL_002b: ldloc.0 + IL_002c: ldc.i4.0 + IL_002d: ldtoken method instance void class [mscorlib]System.Collections.Generic.List`1::Add(!0) + IL_0032: ldtoken class [mscorlib]System.Collections.Generic.List`1 + IL_0037: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle, + valuetype [mscorlib]System.RuntimeTypeHandle) + IL_003c: castclass [mscorlib]System.Reflection.MethodInfo + IL_0041: ldc.i4.1 + IL_0042: newarr [System.Core]System.Linq.Expressions.Expression + IL_0047: stloc.1 + IL_0048: ldloc.1 + IL_0049: ldc.i4.0 + IL_004a: ldc.i4.1 + IL_004b: box [mscorlib]System.Int32 + IL_0050: ldtoken [mscorlib]System.Int32 + IL_0055: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_005a: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_005f: stelem.ref + IL_0060: ldloc.1 + IL_0061: call class [System.Core]System.Linq.Expressions.ElementInit [System.Core]System.Linq.Expressions.Expression::ElementInit(class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_0066: stelem.ref + IL_0067: ldloc.0 + IL_0068: ldc.i4.1 + IL_0069: ldtoken method instance void class [mscorlib]System.Collections.Generic.List`1::Add(!0) + IL_006e: ldtoken class [mscorlib]System.Collections.Generic.List`1 + IL_0073: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle, + valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0078: castclass [mscorlib]System.Reflection.MethodInfo + IL_007d: ldc.i4.1 + IL_007e: newarr [System.Core]System.Linq.Expressions.Expression + IL_0083: stloc.2 + IL_0084: ldloc.2 + IL_0085: ldc.i4.0 + IL_0086: ldc.i4.2 + IL_0087: box [mscorlib]System.Int32 + IL_008c: ldtoken [mscorlib]System.Int32 + IL_0091: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0096: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_009b: stelem.ref + IL_009c: ldloc.2 + IL_009d: call class [System.Core]System.Linq.Expressions.ElementInit [System.Core]System.Linq.Expressions.Expression::ElementInit(class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_00a2: stelem.ref + IL_00a3: ldloc.0 + IL_00a4: ldc.i4.2 + IL_00a5: ldtoken method instance void class [mscorlib]System.Collections.Generic.List`1::Add(!0) + IL_00aa: ldtoken class [mscorlib]System.Collections.Generic.List`1 + IL_00af: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle, + valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00b4: castclass [mscorlib]System.Reflection.MethodInfo + IL_00b9: ldc.i4.1 + IL_00ba: newarr [System.Core]System.Linq.Expressions.Expression + IL_00bf: stloc.3 + IL_00c0: ldloc.3 + IL_00c1: ldc.i4.0 + IL_00c2: ldc.i4.3 + IL_00c3: box [mscorlib]System.Int32 + IL_00c8: ldtoken [mscorlib]System.Int32 + IL_00cd: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00d2: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_00d7: stelem.ref + IL_00d8: ldloc.3 + IL_00d9: call class [System.Core]System.Linq.Expressions.ElementInit [System.Core]System.Linq.Expressions.Expression::ElementInit(class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_00de: stelem.ref + IL_00df: ldloc.0 + IL_00e0: call class [System.Core]System.Linq.Expressions.ListInitExpression [System.Core]System.Linq.Expressions.Expression::ListInit(class [System.Core]System.Linq.Expressions.NewExpression, + class [System.Core]System.Linq.Expressions.ElementInit[]) + IL_00e5: ldtoken method instance int32 class [mscorlib]System.Collections.Generic.List`1::get_Count() + IL_00ea: ldtoken class [mscorlib]System.Collections.Generic.List`1 + IL_00ef: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle, + valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00f4: castclass [mscorlib]System.Reflection.MethodInfo + IL_00f9: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Property(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo) + IL_00fe: ldc.i4.3 + IL_00ff: box [mscorlib]System.Int32 + IL_0104: ldtoken [mscorlib]System.Int32 + IL_0109: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_010e: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0113: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Equal(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0118: ldc.i4.0 + IL_0119: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_011e: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0123: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0128: pop + IL_0129: ret + } // end of method ExpressionTrees::ListInitializer3 + + .method public hidebysig instance void + LiteralCharAndProperty() cil managed + { + // Code size 146 (0x92) + .maxstack 6 + .locals init (class [System.Core]System.Linq.Expressions.Expression[] V_0) + IL_0000: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0005: ldtoken method instance void [mscorlib]System.String::.ctor(char, + int32) + IL_000a: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_000f: castclass [mscorlib]System.Reflection.ConstructorInfo + IL_0014: ldc.i4.2 + IL_0015: newarr [System.Core]System.Linq.Expressions.Expression + IL_001a: stloc.0 + IL_001b: ldloc.0 + IL_001c: ldc.i4.0 + IL_001d: ldc.i4.s 32 + IL_001f: box [mscorlib]System.Char + IL_0024: ldtoken [mscorlib]System.Char + IL_0029: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_002e: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0033: stelem.ref + IL_0034: ldloc.0 + IL_0035: ldc.i4.1 + IL_0036: ldc.i4.3 + IL_0037: box [mscorlib]System.Int32 + IL_003c: ldtoken [mscorlib]System.Int32 + IL_0041: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0046: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_004b: stelem.ref + IL_004c: ldloc.0 + IL_004d: call class [System.Core]System.Linq.Expressions.NewExpression [System.Core]System.Linq.Expressions.Expression::New(class [mscorlib]System.Reflection.ConstructorInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_0052: ldtoken method instance int32 [mscorlib]System.String::get_Length() + IL_0057: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_005c: castclass [mscorlib]System.Reflection.MethodInfo + IL_0061: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Property(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo) + IL_0066: ldc.i4.1 + IL_0067: box [mscorlib]System.Int32 + IL_006c: ldtoken [mscorlib]System.Int32 + IL_0071: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0076: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_007b: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Equal(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0080: ldc.i4.0 + IL_0081: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0086: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_008b: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0090: pop + IL_0091: ret + } // end of method ExpressionTrees::LiteralCharAndProperty + + .method public hidebysig instance void + CharNoCast() cil managed + { + // Code size 137 (0x89) + .maxstack 7 + .locals init (class [System.Core]System.Linq.Expressions.Expression[] V_0) + IL_0000: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0005: ldstr "abc" + IL_000a: ldtoken [mscorlib]System.String + IL_000f: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0014: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0019: ldtoken method instance char [mscorlib]System.String::get_Chars(int32) + IL_001e: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0023: castclass [mscorlib]System.Reflection.MethodInfo + IL_0028: ldc.i4.1 + IL_0029: newarr [System.Core]System.Linq.Expressions.Expression + IL_002e: stloc.0 + IL_002f: ldloc.0 + IL_0030: ldc.i4.0 + IL_0031: ldc.i4.1 + IL_0032: box [mscorlib]System.Int32 + IL_0037: ldtoken [mscorlib]System.Int32 + IL_003c: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0041: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0046: stelem.ref + IL_0047: ldloc.0 + IL_0048: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_004d: ldtoken [mscorlib]System.Int32 + IL_0052: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0057: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_005c: ldc.i4.s 98 + IL_005e: box [mscorlib]System.Int32 + IL_0063: ldtoken [mscorlib]System.Int32 + IL_0068: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_006d: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0072: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Equal(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0077: ldc.i4.0 + IL_0078: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_007d: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0082: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0087: pop + IL_0088: ret + } // end of method ExpressionTrees::CharNoCast + + .method public hidebysig instance void + StringsImplicitCast() cil managed + { + // Code size 376 (0x178) + .maxstack 8 + .locals init (class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClassa' V_0) + IL_0000: newobj instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClassa'::.ctor() + IL_0005: stloc.0 + IL_0006: ldloc.0 + IL_0007: ldc.i4.1 + IL_0008: stfld int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClassa'::i + IL_000d: ldloc.0 + IL_000e: ldstr "X" + IL_0013: stfld string ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClassa'::x + IL_0018: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_001d: ldstr "a\n\\b" + IL_0022: ldtoken [mscorlib]System.String + IL_0027: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_002c: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0031: ldloc.0 + IL_0032: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object) + IL_0037: ldtoken field string ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClassa'::x + IL_003c: call class [mscorlib]System.Reflection.FieldInfo [mscorlib]System.Reflection.FieldInfo::GetFieldFromHandle(valuetype [mscorlib]System.RuntimeFieldHandle) + IL_0041: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Field(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.FieldInfo) + IL_0046: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Coalesce(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_004b: ldloc.0 + IL_004c: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object) + IL_0051: ldtoken field string ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClassa'::x + IL_0056: call class [mscorlib]System.Reflection.FieldInfo [mscorlib]System.Reflection.FieldInfo::GetFieldFromHandle(valuetype [mscorlib]System.RuntimeFieldHandle) + IL_005b: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Field(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.FieldInfo) + IL_0060: ldtoken method string [mscorlib]System.String::Concat(string, + string) + IL_0065: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_006a: castclass [mscorlib]System.Reflection.MethodInfo + IL_006f: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Add(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo) + IL_0074: ldtoken method instance int32 [mscorlib]System.String::get_Length() + IL_0079: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_007e: castclass [mscorlib]System.Reflection.MethodInfo + IL_0083: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Property(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo) + IL_0088: ldc.i4.2 + IL_0089: box [mscorlib]System.Int32 + IL_008e: ldtoken [mscorlib]System.Int32 + IL_0093: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0098: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_009d: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Equal(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_00a2: ldc.i4.0 + IL_00a3: box [mscorlib]System.Boolean + IL_00a8: ldtoken [mscorlib]System.Boolean + IL_00ad: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00b2: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_00b7: ldc.i4.1 + IL_00b8: box [mscorlib]System.Boolean + IL_00bd: ldtoken [mscorlib]System.Boolean + IL_00c2: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00c7: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_00cc: ldc.i4.1 + IL_00cd: newobj instance void [mscorlib]System.Decimal::.ctor(int32) + IL_00d2: box [mscorlib]System.Decimal + IL_00d7: ldtoken [mscorlib]System.Decimal + IL_00dc: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00e1: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_00e6: ldloc.0 + IL_00e7: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object) + IL_00ec: ldtoken field int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClassa'::i + IL_00f1: call class [mscorlib]System.Reflection.FieldInfo [mscorlib]System.Reflection.FieldInfo::GetFieldFromHandle(valuetype [mscorlib]System.RuntimeFieldHandle) + IL_00f6: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Field(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.FieldInfo) + IL_00fb: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Negate(class [System.Core]System.Linq.Expressions.Expression) + IL_0100: ldtoken [mscorlib]System.Decimal + IL_0105: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_010a: ldtoken method valuetype [mscorlib]System.Decimal [mscorlib]System.Decimal::op_Implicit(int32) + IL_010f: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0114: castclass [mscorlib]System.Reflection.MethodInfo + IL_0119: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type, + class [mscorlib]System.Reflection.MethodInfo) + IL_011e: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Add(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0123: ldc.i4.0 + IL_0124: newobj instance void [mscorlib]System.Decimal::.ctor(int32) + IL_0129: box [mscorlib]System.Decimal + IL_012e: ldtoken [mscorlib]System.Decimal + IL_0133: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0138: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_013d: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::GreaterThan(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0142: ldc.i4.0 + IL_0143: box [mscorlib]System.Boolean + IL_0148: ldtoken [mscorlib]System.Boolean + IL_014d: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0152: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0157: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::OrElse(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_015c: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::AndAlso(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0161: call class [System.Core]System.Linq.Expressions.ConditionalExpression [System.Core]System.Linq.Expressions.Expression::Condition(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0166: ldc.i4.0 + IL_0167: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_016c: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0171: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0176: pop + IL_0177: ret + } // end of method ExpressionTrees::StringsImplicitCast + + .method public hidebysig instance void + NotImplicitCast() cil managed + { + // Code size 104 (0x68) + .maxstack 4 + .locals init (class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClassc' V_0) + IL_0000: newobj instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClassc'::.ctor() + IL_0005: stloc.0 + IL_0006: ldloc.0 + IL_0007: ldc.i4.s 42 + IL_0009: stfld uint8 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClassc'::z + IL_000e: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0013: ldloc.0 + IL_0014: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object) + IL_0019: ldtoken field uint8 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClassc'::z + IL_001e: call class [mscorlib]System.Reflection.FieldInfo [mscorlib]System.Reflection.FieldInfo::GetFieldFromHandle(valuetype [mscorlib]System.RuntimeFieldHandle) + IL_0023: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Field(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.FieldInfo) + IL_0028: ldtoken [mscorlib]System.Int32 + IL_002d: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0032: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_0037: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Not(class [System.Core]System.Linq.Expressions.Expression) + IL_003c: ldc.i4.0 + IL_003d: box [mscorlib]System.Int32 + IL_0042: ldtoken [mscorlib]System.Int32 + IL_0047: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_004c: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0051: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Equal(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0056: ldc.i4.0 + IL_0057: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_005c: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0061: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0066: pop + IL_0067: ret + } // end of method ExpressionTrees::NotImplicitCast + + .method public hidebysig instance void + MembersBuiltin() cil managed + { + // Code size 405 (0x195) + .maxstack 7 + .locals init (class [System.Core]System.Linq.Expressions.Expression[] V_0, + class [System.Core]System.Linq.Expressions.Expression[] V_1) + IL_0000: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0005: ldc.i4.s 123 + IL_0007: ldc.i4.0 + IL_0008: ldc.i4.0 + IL_0009: ldc.i4.0 + IL_000a: ldc.i4.2 + IL_000b: newobj instance void [mscorlib]System.Decimal::.ctor(int32, + int32, + int32, + bool, + uint8) + IL_0010: box [mscorlib]System.Decimal + IL_0015: ldtoken [mscorlib]System.Decimal + IL_001a: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_001f: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0024: ldtoken method instance string [mscorlib]System.Decimal::ToString() + IL_0029: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_002e: castclass [mscorlib]System.Reflection.MethodInfo + IL_0033: ldc.i4.0 + IL_0034: newarr [System.Core]System.Linq.Expressions.Expression + IL_0039: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_003e: ldc.i4.0 + IL_003f: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0044: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0049: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_004e: pop + IL_004f: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0054: ldc.i4 0x7fff + IL_0059: box [mscorlib]System.AttributeTargets + IL_005e: ldtoken [mscorlib]System.AttributeTargets + IL_0063: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0068: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_006d: ldtoken method instance bool [mscorlib]System.Enum::HasFlag(class [mscorlib]System.Enum) + IL_0072: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0077: castclass [mscorlib]System.Reflection.MethodInfo + IL_007c: ldc.i4.1 + IL_007d: newarr [System.Core]System.Linq.Expressions.Expression + IL_0082: stloc.0 + IL_0083: ldloc.0 + IL_0084: ldc.i4.0 + IL_0085: ldc.i4.1 + IL_0086: box [mscorlib]System.AttributeTargets + IL_008b: ldtoken [mscorlib]System.AttributeTargets + IL_0090: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0095: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_009a: ldtoken [mscorlib]System.Enum + IL_009f: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00a4: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_00a9: stelem.ref + IL_00aa: ldloc.0 + IL_00ab: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_00b0: ldc.i4.0 + IL_00b1: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_00b6: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_00bb: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_00c0: pop + IL_00c1: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_00c6: ldstr "abc" + IL_00cb: ldtoken [mscorlib]System.String + IL_00d0: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00d5: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_00da: ldtoken method instance int32 [mscorlib]System.String::get_Length() + IL_00df: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_00e4: castclass [mscorlib]System.Reflection.MethodInfo + IL_00e9: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Property(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo) + IL_00ee: ldc.i4.3 + IL_00ef: box [mscorlib]System.Int32 + IL_00f4: ldtoken [mscorlib]System.Int32 + IL_00f9: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00fe: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0103: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Equal(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0108: ldc.i4.0 + IL_0109: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_010e: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0113: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0118: pop + IL_0119: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_011e: ldc.i4.s 97 + IL_0120: box [mscorlib]System.Char + IL_0125: ldtoken [mscorlib]System.Char + IL_012a: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_012f: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0134: ldtoken method instance int32 [mscorlib]System.Char::CompareTo(char) + IL_0139: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_013e: castclass [mscorlib]System.Reflection.MethodInfo + IL_0143: ldc.i4.1 + IL_0144: newarr [System.Core]System.Linq.Expressions.Expression + IL_0149: stloc.1 + IL_014a: ldloc.1 + IL_014b: ldc.i4.0 + IL_014c: ldc.i4.s 98 + IL_014e: box [mscorlib]System.Char + IL_0153: ldtoken [mscorlib]System.Char + IL_0158: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_015d: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0162: stelem.ref + IL_0163: ldloc.1 + IL_0164: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_0169: ldc.i4.0 + IL_016a: box [mscorlib]System.Int32 + IL_016f: ldtoken [mscorlib]System.Int32 + IL_0174: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0179: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_017e: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::LessThan(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0183: ldc.i4.0 + IL_0184: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0189: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_018e: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0193: pop + IL_0194: ret + } // end of method ExpressionTrees::MembersBuiltin + + .method public hidebysig instance void + MembersDefault() cil managed + { + // Code size 588 (0x24c) + .maxstack 7 + .locals init (valuetype [mscorlib]System.DateTime V_0, + class [System.Core]System.Linq.Expressions.Expression[] V_1) + IL_0000: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0005: ldloca.s V_0 + IL_0007: initobj [mscorlib]System.DateTime + IL_000d: ldloc.0 + IL_000e: box [mscorlib]System.DateTime + IL_0013: ldtoken [mscorlib]System.DateTime + IL_0018: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_001d: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0022: ldtoken method instance int64 [mscorlib]System.DateTime::get_Ticks() + IL_0027: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_002c: castclass [mscorlib]System.Reflection.MethodInfo + IL_0031: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Property(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo) + IL_0036: ldc.i4.0 + IL_0037: conv.i8 + IL_0038: box [mscorlib]System.Int64 + IL_003d: ldtoken [mscorlib]System.Int64 + IL_0042: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0047: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_004c: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Equal(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0051: ldc.i4.0 + IL_0052: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0057: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_005c: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0061: pop + IL_0062: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0067: ldnull + IL_0068: box [mscorlib]System.Array + IL_006d: ldtoken [mscorlib]System.Array + IL_0072: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0077: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_007c: ldtoken method instance int32 [mscorlib]System.Array::get_Length() + IL_0081: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0086: castclass [mscorlib]System.Reflection.MethodInfo + IL_008b: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Property(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo) + IL_0090: ldc.i4.0 + IL_0091: box [mscorlib]System.Int32 + IL_0096: ldtoken [mscorlib]System.Int32 + IL_009b: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00a0: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_00a5: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Equal(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_00aa: ldc.i4.0 + IL_00ab: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_00b0: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_00b5: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_00ba: pop + IL_00bb: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_00c0: ldnull + IL_00c1: box [mscorlib]System.Type + IL_00c6: ldtoken [mscorlib]System.Type + IL_00cb: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00d0: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_00d5: ldtoken method instance bool [mscorlib]System.Type::get_IsLayoutSequential() + IL_00da: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_00df: castclass [mscorlib]System.Reflection.MethodInfo + IL_00e4: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Property(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo) + IL_00e9: ldc.i4.0 + IL_00ea: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_00ef: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_00f4: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_00f9: pop + IL_00fa: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_00ff: ldnull + IL_0100: box class [mscorlib]System.Collections.Generic.List`1 + IL_0105: ldtoken class [mscorlib]System.Collections.Generic.List`1 + IL_010a: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_010f: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0114: ldtoken method instance int32 class [mscorlib]System.Collections.Generic.List`1::get_Count() + IL_0119: ldtoken class [mscorlib]System.Collections.Generic.List`1 + IL_011e: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle, + valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0123: castclass [mscorlib]System.Reflection.MethodInfo + IL_0128: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Property(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo) + IL_012d: ldc.i4.0 + IL_012e: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0133: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0138: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_013d: pop + IL_013e: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0143: ldnull + IL_0144: box [mscorlib]System.Array + IL_0149: ldtoken [mscorlib]System.Array + IL_014e: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0153: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0158: ldtoken method instance object [mscorlib]System.Array::Clone() + IL_015d: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0162: castclass [mscorlib]System.Reflection.MethodInfo + IL_0167: ldc.i4.0 + IL_0168: newarr [System.Core]System.Linq.Expressions.Expression + IL_016d: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_0172: ldnull + IL_0173: box [mscorlib]System.Object + IL_0178: ldtoken [mscorlib]System.Object + IL_017d: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0182: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0187: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Equal(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_018c: ldc.i4.0 + IL_018d: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0192: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0197: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_019c: pop + IL_019d: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_01a2: ldnull + IL_01a3: box [mscorlib]System.Type + IL_01a8: ldtoken [mscorlib]System.Type + IL_01ad: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_01b2: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_01b7: ldtoken method instance bool [mscorlib]System.Type::IsInstanceOfType(object) + IL_01bc: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_01c1: castclass [mscorlib]System.Reflection.MethodInfo + IL_01c6: ldc.i4.1 + IL_01c7: newarr [System.Core]System.Linq.Expressions.Expression + IL_01cc: stloc.1 + IL_01cd: ldloc.1 + IL_01ce: ldc.i4.0 + IL_01cf: ldtoken method instance void [mscorlib]System.Object::.ctor() + IL_01d4: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_01d9: castclass [mscorlib]System.Reflection.ConstructorInfo + IL_01de: ldc.i4.0 + IL_01df: newarr [System.Core]System.Linq.Expressions.Expression + IL_01e4: call class [System.Core]System.Linq.Expressions.NewExpression [System.Core]System.Linq.Expressions.Expression::New(class [mscorlib]System.Reflection.ConstructorInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_01e9: stelem.ref + IL_01ea: ldloc.1 + IL_01eb: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_01f0: ldc.i4.0 + IL_01f1: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_01f6: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_01fb: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0200: pop + IL_0201: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0206: ldnull + IL_0207: box class [mscorlib]System.Collections.Generic.List`1 + IL_020c: ldtoken class [mscorlib]System.Collections.Generic.List`1 + IL_0211: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0216: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_021b: ldtoken method instance class [mscorlib]System.Collections.ObjectModel.ReadOnlyCollection`1 class [mscorlib]System.Collections.Generic.List`1::AsReadOnly() + IL_0220: ldtoken class [mscorlib]System.Collections.Generic.List`1 + IL_0225: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle, + valuetype [mscorlib]System.RuntimeTypeHandle) + IL_022a: castclass [mscorlib]System.Reflection.MethodInfo + IL_022f: ldc.i4.0 + IL_0230: newarr [System.Core]System.Linq.Expressions.Expression + IL_0235: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_023a: ldc.i4.0 + IL_023b: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0240: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0245: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode>(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_024a: pop + IL_024b: ret + } // end of method ExpressionTrees::MembersDefault + + .method public hidebysig instance void + DoAssert() cil managed + { + // Code size 398 (0x18e) + .maxstack 8 + .locals init (class [System.Core]System.Linq.Expressions.Expression[] V_0, + class [System.Core]System.Linq.Expressions.Expression[] V_1, + class [System.Core]System.Linq.Expressions.Expression[] V_2) + IL_0000: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0005: ldarg.0 + IL_0006: box ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees + IL_000b: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees + IL_0010: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0015: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_001a: ldtoken field int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'field' + IL_001f: call class [mscorlib]System.Reflection.FieldInfo [mscorlib]System.Reflection.FieldInfo::GetFieldFromHandle(valuetype [mscorlib]System.RuntimeFieldHandle) + IL_0024: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Field(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.FieldInfo) + IL_0029: ldarg.0 + IL_002a: box ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees + IL_002f: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees + IL_0034: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0039: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_003e: ldtoken method instance int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::C() + IL_0043: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0048: castclass [mscorlib]System.Reflection.MethodInfo + IL_004d: ldc.i4.0 + IL_004e: newarr [System.Core]System.Linq.Expressions.Expression + IL_0053: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_0058: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::NotEqual(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_005d: ldc.i4.0 + IL_005e: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0063: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0068: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_006d: pop + IL_006e: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0073: ldnull + IL_0074: ldtoken method bool [mscorlib]System.Object::ReferenceEquals(object, + object) + IL_0079: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_007e: castclass [mscorlib]System.Reflection.MethodInfo + IL_0083: ldc.i4.2 + IL_0084: newarr [System.Core]System.Linq.Expressions.Expression + IL_0089: stloc.0 + IL_008a: ldloc.0 + IL_008b: ldc.i4.0 + IL_008c: ldarg.0 + IL_008d: box ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees + IL_0092: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees + IL_0097: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_009c: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_00a1: stelem.ref + IL_00a2: ldloc.0 + IL_00a3: ldc.i4.1 + IL_00a4: ldtoken method instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::.ctor() + IL_00a9: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_00ae: castclass [mscorlib]System.Reflection.ConstructorInfo + IL_00b3: ldc.i4.0 + IL_00b4: newarr [System.Core]System.Linq.Expressions.Expression + IL_00b9: call class [System.Core]System.Linq.Expressions.NewExpression [System.Core]System.Linq.Expressions.Expression::New(class [mscorlib]System.Reflection.ConstructorInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_00be: stelem.ref + IL_00bf: ldloc.0 + IL_00c0: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_00c5: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Not(class [System.Core]System.Linq.Expressions.Expression) + IL_00ca: ldc.i4.0 + IL_00cb: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_00d0: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_00d5: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_00da: pop + IL_00db: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_00e0: ldarg.0 + IL_00e1: box ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees + IL_00e6: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees + IL_00eb: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00f0: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_00f5: ldtoken method instance bool ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::MyEquals(class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees) + IL_00fa: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_00ff: castclass [mscorlib]System.Reflection.MethodInfo + IL_0104: ldc.i4.1 + IL_0105: newarr [System.Core]System.Linq.Expressions.Expression + IL_010a: stloc.1 + IL_010b: ldloc.1 + IL_010c: ldc.i4.0 + IL_010d: ldarg.0 + IL_010e: box ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees + IL_0113: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees + IL_0118: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_011d: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0122: stelem.ref + IL_0123: ldloc.1 + IL_0124: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_0129: ldarg.0 + IL_012a: box ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees + IL_012f: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees + IL_0134: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0139: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_013e: ldtoken method instance bool ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::MyEquals(class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees) + IL_0143: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0148: castclass [mscorlib]System.Reflection.MethodInfo + IL_014d: ldc.i4.1 + IL_014e: newarr [System.Core]System.Linq.Expressions.Expression + IL_0153: stloc.2 + IL_0154: ldloc.2 + IL_0155: ldc.i4.0 + IL_0156: ldnull + IL_0157: box ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees + IL_015c: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees + IL_0161: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0166: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_016b: stelem.ref + IL_016c: ldloc.2 + IL_016d: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_0172: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Not(class [System.Core]System.Linq.Expressions.Expression) + IL_0177: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::AndAlso(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_017c: ldc.i4.0 + IL_017d: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0182: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0187: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_018c: pop + IL_018d: ret + } // end of method ExpressionTrees::DoAssert + + .method private hidebysig instance int32 + C() cil managed + { + // Code size 6 (0x6) + .maxstack 8 + IL_0000: newobj instance void [mscorlib]System.NotImplementedException::.ctor() + IL_0005: throw + } // end of method ExpressionTrees::C + + .method private hidebysig instance bool + MyEquals(class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees other) cil managed + { + // Code size 6 (0x6) + .maxstack 8 + IL_0000: newobj instance void [mscorlib]System.NotImplementedException::.ctor() + IL_0005: throw + } // end of method ExpressionTrees::MyEquals + + .method public hidebysig instance void + MethodGroupAsExtensionMethod() cil managed + { + // Code size 287 (0x11f) + .maxstack 10 + .locals init (class [System.Core]System.Linq.Expressions.Expression[] V_0, + class [System.Core]System.Linq.Expressions.Expression[] V_1) + IL_0000: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0005: ldtoken method bool [System.Core]System.Linq.Enumerable::Any(class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_000a: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_000f: castclass [mscorlib]System.Reflection.MethodInfo + IL_0014: box [mscorlib]System.Reflection.MethodInfo + IL_0019: ldtoken [mscorlib]System.Reflection.MethodInfo + IL_001e: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0023: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0028: ldtoken method instance class [mscorlib]System.Delegate [mscorlib]System.Reflection.MethodInfo::CreateDelegate(class [mscorlib]System.Type, + object) + IL_002d: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0032: castclass [mscorlib]System.Reflection.MethodInfo + IL_0037: ldc.i4.2 + IL_0038: newarr [System.Core]System.Linq.Expressions.Expression + IL_003d: stloc.0 + IL_003e: ldloc.0 + IL_003f: ldc.i4.0 + IL_0040: ldtoken class [mscorlib]System.Func`1 + IL_0045: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_004a: box [mscorlib]System.Type + IL_004f: ldtoken [mscorlib]System.Type + IL_0054: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0059: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_005e: stelem.ref + IL_005f: ldloc.0 + IL_0060: ldc.i4.1 + IL_0061: ldtoken [mscorlib]System.Int32 + IL_0066: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_006b: ldc.i4.4 + IL_006c: newarr [System.Core]System.Linq.Expressions.Expression + IL_0071: stloc.1 + IL_0072: ldloc.1 + IL_0073: ldc.i4.0 + IL_0074: ldc.i4 0x7d0 + IL_0079: box [mscorlib]System.Int32 + IL_007e: ldtoken [mscorlib]System.Int32 + IL_0083: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0088: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_008d: stelem.ref + IL_008e: ldloc.1 + IL_008f: ldc.i4.1 + IL_0090: ldc.i4 0x7d4 + IL_0095: box [mscorlib]System.Int32 + IL_009a: ldtoken [mscorlib]System.Int32 + IL_009f: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00a4: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_00a9: stelem.ref + IL_00aa: ldloc.1 + IL_00ab: ldc.i4.2 + IL_00ac: ldc.i4 0x7d8 + IL_00b1: box [mscorlib]System.Int32 + IL_00b6: ldtoken [mscorlib]System.Int32 + IL_00bb: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00c0: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_00c5: stelem.ref + IL_00c6: ldloc.1 + IL_00c7: ldc.i4.3 + IL_00c8: ldc.i4 0x7dc + IL_00cd: box [mscorlib]System.Int32 + IL_00d2: ldtoken [mscorlib]System.Int32 + IL_00d7: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00dc: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_00e1: stelem.ref + IL_00e2: ldloc.1 + IL_00e3: call class [System.Core]System.Linq.Expressions.NewArrayExpression [System.Core]System.Linq.Expressions.Expression::NewArrayInit(class [mscorlib]System.Type, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_00e8: ldtoken class [mscorlib]System.Collections.Generic.IEnumerable`1 + IL_00ed: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00f2: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_00f7: stelem.ref + IL_00f8: ldloc.0 + IL_00f9: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_00fe: ldtoken class [mscorlib]System.Func`1 + IL_0103: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0108: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_010d: ldc.i4.0 + IL_010e: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0113: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0118: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode>(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_011d: pop + IL_011e: ret + } // end of method ExpressionTrees::MethodGroupAsExtensionMethod + + .method public hidebysig instance void + MethodGroupConstant() cil managed + { + // Code size 917 (0x395) + .maxstack 11 + .locals init (class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass10' V_0, + class [System.Core]System.Linq.Expressions.Expression[] V_1, + class [System.Core]System.Linq.Expressions.Expression[] V_2, + class [System.Core]System.Linq.Expressions.Expression[] V_3, + class [System.Core]System.Linq.Expressions.Expression[] V_4, + class [System.Core]System.Linq.Expressions.Expression[] V_5, + class [System.Core]System.Linq.Expressions.Expression[] V_6, + class [System.Core]System.Linq.Expressions.Expression[] V_7, + class [System.Core]System.Linq.Expressions.Expression[] V_8) + IL_0000: newobj instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass10'::.ctor() + IL_0005: stloc.0 + IL_0006: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_000b: ldnull + IL_000c: ldtoken method bool [mscorlib]System.Array::TrueForAll(!!0[], + class [mscorlib]System.Predicate`1) + IL_0011: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0016: castclass [mscorlib]System.Reflection.MethodInfo + IL_001b: ldc.i4.2 + IL_001c: newarr [System.Core]System.Linq.Expressions.Expression + IL_0021: stloc.1 + IL_0022: ldloc.1 + IL_0023: ldc.i4.0 + IL_0024: ldtoken [mscorlib]System.Int32 + IL_0029: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_002e: ldc.i4.4 + IL_002f: newarr [System.Core]System.Linq.Expressions.Expression + IL_0034: stloc.2 + IL_0035: ldloc.2 + IL_0036: ldc.i4.0 + IL_0037: ldc.i4 0x7d0 + IL_003c: box [mscorlib]System.Int32 + IL_0041: ldtoken [mscorlib]System.Int32 + IL_0046: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_004b: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0050: stelem.ref + IL_0051: ldloc.2 + IL_0052: ldc.i4.1 + IL_0053: ldc.i4 0x7d4 + IL_0058: box [mscorlib]System.Int32 + IL_005d: ldtoken [mscorlib]System.Int32 + IL_0062: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0067: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_006c: stelem.ref + IL_006d: ldloc.2 + IL_006e: ldc.i4.2 + IL_006f: ldc.i4 0x7d8 + IL_0074: box [mscorlib]System.Int32 + IL_0079: ldtoken [mscorlib]System.Int32 + IL_007e: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0083: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0088: stelem.ref + IL_0089: ldloc.2 + IL_008a: ldc.i4.3 + IL_008b: ldc.i4 0x7dc + IL_0090: box [mscorlib]System.Int32 + IL_0095: ldtoken [mscorlib]System.Int32 + IL_009a: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_009f: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_00a4: stelem.ref + IL_00a5: ldloc.2 + IL_00a6: call class [System.Core]System.Linq.Expressions.NewArrayExpression [System.Core]System.Linq.Expressions.Expression::NewArrayInit(class [mscorlib]System.Type, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_00ab: stelem.ref + IL_00ac: ldloc.1 + IL_00ad: ldc.i4.1 + IL_00ae: ldtoken method bool [mscorlib]System.DateTime::IsLeapYear(int32) + IL_00b3: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_00b8: castclass [mscorlib]System.Reflection.MethodInfo + IL_00bd: box [mscorlib]System.Reflection.MethodInfo + IL_00c2: ldtoken [mscorlib]System.Reflection.MethodInfo + IL_00c7: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00cc: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_00d1: ldtoken method instance class [mscorlib]System.Delegate [mscorlib]System.Reflection.MethodInfo::CreateDelegate(class [mscorlib]System.Type, + object) + IL_00d6: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_00db: castclass [mscorlib]System.Reflection.MethodInfo + IL_00e0: ldc.i4.2 + IL_00e1: newarr [System.Core]System.Linq.Expressions.Expression + IL_00e6: stloc.3 + IL_00e7: ldloc.3 + IL_00e8: ldc.i4.0 + IL_00e9: ldtoken class [mscorlib]System.Predicate`1 + IL_00ee: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00f3: box [mscorlib]System.Type + IL_00f8: ldtoken [mscorlib]System.Type + IL_00fd: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0102: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0107: stelem.ref + IL_0108: ldloc.3 + IL_0109: ldc.i4.1 + IL_010a: ldnull + IL_010b: ldtoken [mscorlib]System.Object + IL_0110: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0115: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_011a: stelem.ref + IL_011b: ldloc.3 + IL_011c: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_0121: ldtoken class [mscorlib]System.Predicate`1 + IL_0126: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_012b: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_0130: stelem.ref + IL_0131: ldloc.1 + IL_0132: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_0137: ldc.i4.0 + IL_0138: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_013d: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0142: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0147: pop + IL_0148: ldloc.0 + IL_0149: newobj instance void class [System.Core]System.Collections.Generic.HashSet`1::.ctor() + IL_014e: stfld class [System.Core]System.Collections.Generic.HashSet`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass10'::set + IL_0153: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0158: ldnull + IL_0159: ldtoken method bool [System.Core]System.Linq.Enumerable::All(class [mscorlib]System.Collections.Generic.IEnumerable`1, + class [mscorlib]System.Func`2) + IL_015e: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0163: castclass [mscorlib]System.Reflection.MethodInfo + IL_0168: ldc.i4.2 + IL_0169: newarr [System.Core]System.Linq.Expressions.Expression + IL_016e: stloc.s V_4 + IL_0170: ldloc.s V_4 + IL_0172: ldc.i4.0 + IL_0173: ldtoken [mscorlib]System.Int32 + IL_0178: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_017d: ldc.i4.4 + IL_017e: newarr [System.Core]System.Linq.Expressions.Expression + IL_0183: stloc.s V_5 + IL_0185: ldloc.s V_5 + IL_0187: ldc.i4.0 + IL_0188: ldc.i4 0x7d0 + IL_018d: box [mscorlib]System.Int32 + IL_0192: ldtoken [mscorlib]System.Int32 + IL_0197: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_019c: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_01a1: stelem.ref + IL_01a2: ldloc.s V_5 + IL_01a4: ldc.i4.1 + IL_01a5: ldc.i4 0x7d4 + IL_01aa: box [mscorlib]System.Int32 + IL_01af: ldtoken [mscorlib]System.Int32 + IL_01b4: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_01b9: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_01be: stelem.ref + IL_01bf: ldloc.s V_5 + IL_01c1: ldc.i4.2 + IL_01c2: ldc.i4 0x7d8 + IL_01c7: box [mscorlib]System.Int32 + IL_01cc: ldtoken [mscorlib]System.Int32 + IL_01d1: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_01d6: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_01db: stelem.ref + IL_01dc: ldloc.s V_5 + IL_01de: ldc.i4.3 + IL_01df: ldc.i4 0x7dc + IL_01e4: box [mscorlib]System.Int32 + IL_01e9: ldtoken [mscorlib]System.Int32 + IL_01ee: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_01f3: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_01f8: stelem.ref + IL_01f9: ldloc.s V_5 + IL_01fb: call class [System.Core]System.Linq.Expressions.NewArrayExpression [System.Core]System.Linq.Expressions.Expression::NewArrayInit(class [mscorlib]System.Type, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_0200: stelem.ref + IL_0201: ldloc.s V_4 + IL_0203: ldc.i4.1 + IL_0204: ldtoken method instance bool class [System.Core]System.Collections.Generic.HashSet`1::Add(!0) + IL_0209: ldtoken class [System.Core]System.Collections.Generic.HashSet`1 + IL_020e: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle, + valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0213: castclass [mscorlib]System.Reflection.MethodInfo + IL_0218: box [mscorlib]System.Reflection.MethodInfo + IL_021d: ldtoken [mscorlib]System.Reflection.MethodInfo + IL_0222: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0227: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_022c: ldtoken method instance class [mscorlib]System.Delegate [mscorlib]System.Reflection.MethodInfo::CreateDelegate(class [mscorlib]System.Type, + object) + IL_0231: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0236: castclass [mscorlib]System.Reflection.MethodInfo + IL_023b: ldc.i4.2 + IL_023c: newarr [System.Core]System.Linq.Expressions.Expression + IL_0241: stloc.s V_6 + IL_0243: ldloc.s V_6 + IL_0245: ldc.i4.0 + IL_0246: ldtoken class [mscorlib]System.Func`2 + IL_024b: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0250: box [mscorlib]System.Type + IL_0255: ldtoken [mscorlib]System.Type + IL_025a: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_025f: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0264: stelem.ref + IL_0265: ldloc.s V_6 + IL_0267: ldc.i4.1 + IL_0268: ldloc.0 + IL_0269: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object) + IL_026e: ldtoken field class [System.Core]System.Collections.Generic.HashSet`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass10'::set + IL_0273: call class [mscorlib]System.Reflection.FieldInfo [mscorlib]System.Reflection.FieldInfo::GetFieldFromHandle(valuetype [mscorlib]System.RuntimeFieldHandle) + IL_0278: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Field(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.FieldInfo) + IL_027d: stelem.ref + IL_027e: ldloc.s V_6 + IL_0280: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_0285: ldtoken class [mscorlib]System.Func`2 + IL_028a: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_028f: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_0294: stelem.ref + IL_0295: ldloc.s V_4 + IL_0297: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_029c: ldc.i4.0 + IL_029d: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_02a2: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_02a7: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_02ac: pop + IL_02ad: ldloc.0 + IL_02ae: ldsfld class [mscorlib]System.Func`2,bool> ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegatef' + IL_02b3: brtrue.s IL_02c6 + + IL_02b5: ldnull + IL_02b6: ldftn bool ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'b__e'(class [mscorlib]System.Func`3) + IL_02bc: newobj instance void class [mscorlib]System.Func`2,bool>::.ctor(object, + native int) + IL_02c1: stsfld class [mscorlib]System.Func`2,bool> ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegatef' + IL_02c6: ldsfld class [mscorlib]System.Func`2,bool> ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegatef' + IL_02cb: stfld class [mscorlib]System.Func`2,bool> ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass10'::sink + IL_02d0: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_02d5: ldloc.0 + IL_02d6: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object) + IL_02db: ldtoken field class [mscorlib]System.Func`2,bool> ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass10'::sink + IL_02e0: call class [mscorlib]System.Reflection.FieldInfo [mscorlib]System.Reflection.FieldInfo::GetFieldFromHandle(valuetype [mscorlib]System.RuntimeFieldHandle) + IL_02e5: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Field(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.FieldInfo) + IL_02ea: ldc.i4.1 + IL_02eb: newarr [System.Core]System.Linq.Expressions.Expression + IL_02f0: stloc.s V_7 + IL_02f2: ldloc.s V_7 + IL_02f4: ldc.i4.0 + IL_02f5: ldtoken method bool [mscorlib]System.Object::Equals(object, + object) + IL_02fa: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_02ff: castclass [mscorlib]System.Reflection.MethodInfo + IL_0304: box [mscorlib]System.Reflection.MethodInfo + IL_0309: ldtoken [mscorlib]System.Reflection.MethodInfo + IL_030e: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0313: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0318: ldtoken method instance class [mscorlib]System.Delegate [mscorlib]System.Reflection.MethodInfo::CreateDelegate(class [mscorlib]System.Type, + object) + IL_031d: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0322: castclass [mscorlib]System.Reflection.MethodInfo + IL_0327: ldc.i4.2 + IL_0328: newarr [System.Core]System.Linq.Expressions.Expression + IL_032d: stloc.s V_8 + IL_032f: ldloc.s V_8 + IL_0331: ldc.i4.0 + IL_0332: ldtoken class [mscorlib]System.Func`3 + IL_0337: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_033c: box [mscorlib]System.Type + IL_0341: ldtoken [mscorlib]System.Type + IL_0346: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_034b: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0350: stelem.ref + IL_0351: ldloc.s V_8 + IL_0353: ldc.i4.1 + IL_0354: ldnull + IL_0355: ldtoken [mscorlib]System.Object + IL_035a: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_035f: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0364: stelem.ref + IL_0365: ldloc.s V_8 + IL_0367: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_036c: ldtoken class [mscorlib]System.Func`3 + IL_0371: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0376: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_037b: stelem.ref + IL_037c: ldloc.s V_7 + IL_037e: call class [System.Core]System.Linq.Expressions.InvocationExpression [System.Core]System.Linq.Expressions.Expression::Invoke(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_0383: ldc.i4.0 + IL_0384: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0389: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_038e: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0393: pop + IL_0394: ret + } // end of method ExpressionTrees::MethodGroupConstant + + .method public hidebysig instance void + MultipleCasts() cil managed + { + // Code size 100 (0x64) + .maxstack 4 + IL_0000: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0005: ldc.i4.1 + IL_0006: box [mscorlib]System.Int32 + IL_000b: ldtoken [mscorlib]System.Int32 + IL_0010: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0015: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_001a: ldc.i4.1 + IL_001b: box [mscorlib]System.Int32 + IL_0020: ldtoken [mscorlib]System.Int32 + IL_0025: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_002a: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_002f: ldtoken [mscorlib]System.Object + IL_0034: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0039: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_003e: ldtoken [mscorlib]System.Int32 + IL_0043: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0048: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_004d: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Equal(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0052: ldc.i4.0 + IL_0053: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0058: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_005d: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0062: pop + IL_0063: ret + } // end of method ExpressionTrees::MultipleCasts + + .method public hidebysig instance void + MultipleDots() cil managed + { + // Code size 142 (0x8e) + .maxstack 4 + IL_0000: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0005: ldc.i4.3 + IL_0006: box [mscorlib]System.Int32 + IL_000b: ldtoken [mscorlib]System.Int32 + IL_0010: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0015: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_001a: ldtoken method instance string [mscorlib]System.Int32::ToString() + IL_001f: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0024: castclass [mscorlib]System.Reflection.MethodInfo + IL_0029: ldc.i4.0 + IL_002a: newarr [System.Core]System.Linq.Expressions.Expression + IL_002f: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_0034: ldtoken method instance string [mscorlib]System.Object::ToString() + IL_0039: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_003e: castclass [mscorlib]System.Reflection.MethodInfo + IL_0043: ldc.i4.0 + IL_0044: newarr [System.Core]System.Linq.Expressions.Expression + IL_0049: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_004e: ldtoken method instance int32 [mscorlib]System.String::get_Length() + IL_0053: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0058: castclass [mscorlib]System.Reflection.MethodInfo + IL_005d: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Property(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo) + IL_0062: ldc.i4.0 + IL_0063: box [mscorlib]System.Int32 + IL_0068: ldtoken [mscorlib]System.Int32 + IL_006d: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0072: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0077: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::GreaterThan(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_007c: ldc.i4.0 + IL_007d: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0082: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0087: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_008c: pop + IL_008d: ret + } // end of method ExpressionTrees::MultipleDots + + .method public hidebysig instance void + NestedLambda() cil managed + { + // Code size 572 (0x23c) + .maxstack 10 + .locals init (class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass14' V_0, + class [System.Core]System.Linq.Expressions.Expression[] V_1, + class [System.Core]System.Linq.Expressions.Expression[] V_2, + class [System.Core]System.Linq.Expressions.Expression[] V_3, + class [System.Core]System.Linq.Expressions.ParameterExpression V_4, + class [System.Core]System.Linq.Expressions.ParameterExpression[] V_5, + class [System.Core]System.Linq.Expressions.Expression[] V_6, + class [System.Core]System.Linq.Expressions.Expression[] V_7, + class [System.Core]System.Linq.Expressions.ParameterExpression V_8, + class [System.Core]System.Linq.Expressions.ParameterExpression V_9, + class [System.Core]System.Linq.Expressions.ParameterExpression[] V_10) + IL_0000: newobj instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass14'::.ctor() + IL_0005: stloc.0 + IL_0006: ldloc.0 + IL_0007: ldsfld class [mscorlib]System.Func`2,int32> ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate13' + IL_000c: brtrue.s IL_001f + + IL_000e: ldnull + IL_000f: ldftn int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'b__12'(class [mscorlib]System.Func`1) + IL_0015: newobj instance void class [mscorlib]System.Func`2,int32>::.ctor(object, + native int) + IL_001a: stsfld class [mscorlib]System.Func`2,int32> ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate13' + IL_001f: ldsfld class [mscorlib]System.Func`2,int32> ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate13' + IL_0024: stfld class [mscorlib]System.Func`2,int32> ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass14'::'call' + IL_0029: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_002e: ldloc.0 + IL_002f: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object) + IL_0034: ldtoken field class [mscorlib]System.Func`2,int32> ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass14'::'call' + IL_0039: call class [mscorlib]System.Reflection.FieldInfo [mscorlib]System.Reflection.FieldInfo::GetFieldFromHandle(valuetype [mscorlib]System.RuntimeFieldHandle) + IL_003e: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Field(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.FieldInfo) + IL_0043: ldc.i4.1 + IL_0044: newarr [System.Core]System.Linq.Expressions.Expression + IL_0049: stloc.1 + IL_004a: ldloc.1 + IL_004b: ldc.i4.0 + IL_004c: ldc.i4.s 42 + IL_004e: box [mscorlib]System.Int32 + IL_0053: ldtoken [mscorlib]System.Int32 + IL_0058: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_005d: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0062: ldc.i4.0 + IL_0063: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0068: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_006d: stelem.ref + IL_006e: ldloc.1 + IL_006f: call class [System.Core]System.Linq.Expressions.InvocationExpression [System.Core]System.Linq.Expressions.Expression::Invoke(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_0074: ldc.i4.0 + IL_0075: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_007a: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_007f: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0084: pop + IL_0085: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_008a: ldnull + IL_008b: ldtoken method class [mscorlib]System.Collections.Generic.IEnumerable`1 [System.Core]System.Linq.Enumerable::Select(class [mscorlib]System.Collections.Generic.IEnumerable`1, + class [mscorlib]System.Func`2) + IL_0090: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0095: castclass [mscorlib]System.Reflection.MethodInfo + IL_009a: ldc.i4.2 + IL_009b: newarr [System.Core]System.Linq.Expressions.Expression + IL_00a0: stloc.2 + IL_00a1: ldloc.2 + IL_00a2: ldc.i4.0 + IL_00a3: ldtoken [mscorlib]System.Int32 + IL_00a8: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00ad: ldc.i4.2 + IL_00ae: newarr [System.Core]System.Linq.Expressions.Expression + IL_00b3: stloc.3 + IL_00b4: ldloc.3 + IL_00b5: ldc.i4.0 + IL_00b6: ldc.i4.s 37 + IL_00b8: box [mscorlib]System.Int32 + IL_00bd: ldtoken [mscorlib]System.Int32 + IL_00c2: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00c7: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_00cc: stelem.ref + IL_00cd: ldloc.3 + IL_00ce: ldc.i4.1 + IL_00cf: ldc.i4.s 42 + IL_00d1: box [mscorlib]System.Int32 + IL_00d6: ldtoken [mscorlib]System.Int32 + IL_00db: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00e0: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_00e5: stelem.ref + IL_00e6: ldloc.3 + IL_00e7: call class [System.Core]System.Linq.Expressions.NewArrayExpression [System.Core]System.Linq.Expressions.Expression::NewArrayInit(class [mscorlib]System.Type, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_00ec: stelem.ref + IL_00ed: ldloc.2 + IL_00ee: ldc.i4.1 + IL_00ef: ldtoken [mscorlib]System.Int32 + IL_00f4: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00f9: ldstr "x" + IL_00fe: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0103: stloc.s V_4 + IL_0105: ldloc.s V_4 + IL_0107: ldc.i4.2 + IL_0108: box [mscorlib]System.Int32 + IL_010d: ldtoken [mscorlib]System.Int32 + IL_0112: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0117: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_011c: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Multiply(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0121: ldc.i4.1 + IL_0122: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0127: stloc.s V_5 + IL_0129: ldloc.s V_5 + IL_012b: ldc.i4.0 + IL_012c: ldloc.s V_4 + IL_012e: stelem.ref + IL_012f: ldloc.s V_5 + IL_0131: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0136: stelem.ref + IL_0137: ldloc.2 + IL_0138: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_013d: ldc.i4.0 + IL_013e: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0143: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0148: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode>(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_014d: pop + IL_014e: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0153: ldnull + IL_0154: ldtoken method class [mscorlib]System.Collections.Generic.IEnumerable`1 [System.Core]System.Linq.Enumerable::Select(class [mscorlib]System.Collections.Generic.IEnumerable`1, + class [mscorlib]System.Func`3) + IL_0159: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_015e: castclass [mscorlib]System.Reflection.MethodInfo + IL_0163: ldc.i4.2 + IL_0164: newarr [System.Core]System.Linq.Expressions.Expression + IL_0169: stloc.s V_6 + IL_016b: ldloc.s V_6 + IL_016d: ldc.i4.0 + IL_016e: ldtoken [mscorlib]System.Int32 + IL_0173: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0178: ldc.i4.2 + IL_0179: newarr [System.Core]System.Linq.Expressions.Expression + IL_017e: stloc.s V_7 + IL_0180: ldloc.s V_7 + IL_0182: ldc.i4.0 + IL_0183: ldc.i4.s 37 + IL_0185: box [mscorlib]System.Int32 + IL_018a: ldtoken [mscorlib]System.Int32 + IL_018f: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0194: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0199: stelem.ref + IL_019a: ldloc.s V_7 + IL_019c: ldc.i4.1 + IL_019d: ldc.i4.s 42 + IL_019f: box [mscorlib]System.Int32 + IL_01a4: ldtoken [mscorlib]System.Int32 + IL_01a9: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_01ae: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_01b3: stelem.ref + IL_01b4: ldloc.s V_7 + IL_01b6: call class [System.Core]System.Linq.Expressions.NewArrayExpression [System.Core]System.Linq.Expressions.Expression::NewArrayInit(class [mscorlib]System.Type, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_01bb: stelem.ref + IL_01bc: ldloc.s V_6 + IL_01be: ldc.i4.1 + IL_01bf: ldtoken [mscorlib]System.Int32 + IL_01c4: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_01c9: ldstr "x" + IL_01ce: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_01d3: stloc.s V_8 + IL_01d5: ldtoken [mscorlib]System.Int32 + IL_01da: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_01df: ldstr "i" + IL_01e4: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_01e9: stloc.s V_9 + IL_01eb: ldloc.s V_8 + IL_01ed: ldc.i4.2 + IL_01ee: box [mscorlib]System.Int32 + IL_01f3: ldtoken [mscorlib]System.Int32 + IL_01f8: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_01fd: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0202: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Multiply(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0207: ldc.i4.2 + IL_0208: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_020d: stloc.s V_10 + IL_020f: ldloc.s V_10 + IL_0211: ldc.i4.0 + IL_0212: ldloc.s V_8 + IL_0214: stelem.ref + IL_0215: ldloc.s V_10 + IL_0217: ldc.i4.1 + IL_0218: ldloc.s V_9 + IL_021a: stelem.ref + IL_021b: ldloc.s V_10 + IL_021d: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0222: stelem.ref + IL_0223: ldloc.s V_6 + IL_0225: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_022a: ldc.i4.0 + IL_022b: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0230: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0235: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode>(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_023a: pop + IL_023b: ret + } // end of method ExpressionTrees::NestedLambda + + .method public hidebysig instance void + CurriedLambda() cil managed + { + // Code size 145 (0x91) + .maxstack 5 + .locals init (class [System.Core]System.Linq.Expressions.ParameterExpression V_0, + class [System.Core]System.Linq.Expressions.ParameterExpression V_1, + class [System.Core]System.Linq.Expressions.ParameterExpression V_2, + class [System.Core]System.Linq.Expressions.ParameterExpression[] V_3, + class [System.Core]System.Linq.Expressions.ParameterExpression[] V_4, + class [System.Core]System.Linq.Expressions.ParameterExpression[] V_5) + IL_0000: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0005: ldtoken [mscorlib]System.Int32 + IL_000a: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_000f: ldstr "a" + IL_0014: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0019: stloc.0 + IL_001a: ldtoken [mscorlib]System.Int32 + IL_001f: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0024: ldstr "b" + IL_0029: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_002e: stloc.1 + IL_002f: ldtoken [mscorlib]System.Int32 + IL_0034: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0039: ldstr "c" + IL_003e: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0043: stloc.2 + IL_0044: ldloc.0 + IL_0045: ldloc.1 + IL_0046: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Add(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_004b: ldloc.2 + IL_004c: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Add(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0051: ldc.i4.1 + IL_0052: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0057: stloc.3 + IL_0058: ldloc.3 + IL_0059: ldc.i4.0 + IL_005a: ldloc.2 + IL_005b: stelem.ref + IL_005c: ldloc.3 + IL_005d: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0062: ldc.i4.1 + IL_0063: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0068: stloc.s V_4 + IL_006a: ldloc.s V_4 + IL_006c: ldc.i4.0 + IL_006d: ldloc.1 + IL_006e: stelem.ref + IL_006f: ldloc.s V_4 + IL_0071: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0076: ldc.i4.1 + IL_0077: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_007c: stloc.s V_5 + IL_007e: ldloc.s V_5 + IL_0080: ldc.i4.0 + IL_0081: ldloc.0 + IL_0082: stelem.ref + IL_0083: ldloc.s V_5 + IL_0085: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>>>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_008a: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode>>(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_008f: pop + IL_0090: ret + } // end of method ExpressionTrees::CurriedLambda + + .method private hidebysig instance bool + Fizz(class [mscorlib]System.Func`2 a) cil managed + { + // Code size 9 (0x9) + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldc.i4.s 42 + IL_0003: callvirt instance !1 class [mscorlib]System.Func`2::Invoke(!0) + IL_0008: ret + } // end of method ExpressionTrees::Fizz + + .method private hidebysig instance bool + Buzz(class [mscorlib]System.Func`2 a) cil managed + { + // Code size 9 (0x9) + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldc.i4.s 42 + IL_0003: callvirt instance !1 class [mscorlib]System.Func`2::Invoke(!0) + IL_0008: ret + } // end of method ExpressionTrees::Buzz + + .method private hidebysig instance bool + Fizz(class [mscorlib]System.Func`2 a) cil managed + { + // Code size 12 (0xc) + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldstr "42" + IL_0006: callvirt instance !1 class [mscorlib]System.Func`2::Invoke(!0) + IL_000b: ret + } // end of method ExpressionTrees::Fizz + + .method private hidebysig instance bool + Fizz(class [mscorlib]System.Func`2 a) cil managed + { + // Code size 8 (0x8) + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldnull + IL_0002: callvirt instance !1 class [mscorlib]System.Func`2::Invoke(!0) + IL_0007: ret + } // end of method ExpressionTrees::Fizz + + .method public hidebysig instance void + NestedLambda2() cil managed + { + // Code size 1310 (0x51e) + .maxstack 12 + .locals init (class [System.Core]System.Linq.Expressions.Expression[] V_0, + class [System.Core]System.Linq.Expressions.ParameterExpression V_1, + class [System.Core]System.Linq.Expressions.ParameterExpression[] V_2, + class [System.Core]System.Linq.Expressions.Expression[] V_3, + class [System.Core]System.Linq.Expressions.ParameterExpression V_4, + class [System.Core]System.Linq.Expressions.ParameterExpression[] V_5, + class [System.Core]System.Linq.Expressions.Expression[] V_6, + class [System.Core]System.Linq.Expressions.ParameterExpression V_7, + class [System.Core]System.Linq.Expressions.Expression[] V_8, + class [System.Core]System.Linq.Expressions.ParameterExpression[] V_9, + class [System.Core]System.Linq.Expressions.Expression[] V_10, + class [System.Core]System.Linq.Expressions.ParameterExpression V_11, + class [System.Core]System.Linq.Expressions.Expression[] V_12, + class [System.Core]System.Linq.Expressions.ParameterExpression[] V_13, + class [System.Core]System.Linq.Expressions.Expression[] V_14, + class [System.Core]System.Linq.Expressions.ParameterExpression V_15, + class [System.Core]System.Linq.Expressions.ParameterExpression[] V_16, + class [System.Core]System.Linq.Expressions.Expression[] V_17, + class [System.Core]System.Linq.Expressions.ParameterExpression V_18, + class [System.Core]System.Linq.Expressions.ParameterExpression[] V_19, + class [System.Core]System.Linq.Expressions.Expression[] V_20, + class [System.Core]System.Linq.Expressions.ParameterExpression V_21, + class [System.Core]System.Linq.Expressions.ParameterExpression[] V_22) + IL_0000: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0005: ldarg.0 + IL_0006: box ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees + IL_000b: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees + IL_0010: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0015: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_001a: ldtoken method instance bool ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Fizz(class [mscorlib]System.Func`2) + IL_001f: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0024: castclass [mscorlib]System.Reflection.MethodInfo + IL_0029: ldc.i4.1 + IL_002a: newarr [System.Core]System.Linq.Expressions.Expression + IL_002f: stloc.0 + IL_0030: ldloc.0 + IL_0031: ldc.i4.0 + IL_0032: ldtoken [mscorlib]System.String + IL_0037: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_003c: ldstr "x" + IL_0041: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0046: stloc.1 + IL_0047: ldloc.1 + IL_0048: ldstr "a" + IL_004d: ldtoken [mscorlib]System.String + IL_0052: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0057: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_005c: ldc.i4.0 + IL_005d: ldtoken method bool [mscorlib]System.String::op_Equality(string, + string) + IL_0062: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0067: castclass [mscorlib]System.Reflection.MethodInfo + IL_006c: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Equal(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression, + bool, + class [mscorlib]System.Reflection.MethodInfo) + IL_0071: ldc.i4.1 + IL_0072: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0077: stloc.2 + IL_0078: ldloc.2 + IL_0079: ldc.i4.0 + IL_007a: ldloc.1 + IL_007b: stelem.ref + IL_007c: ldloc.2 + IL_007d: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0082: stelem.ref + IL_0083: ldloc.0 + IL_0084: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_0089: ldc.i4.0 + IL_008a: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_008f: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0094: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0099: pop + IL_009a: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_009f: ldarg.0 + IL_00a0: box ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees + IL_00a5: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees + IL_00aa: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00af: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_00b4: ldtoken method instance bool ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Fizz(class [mscorlib]System.Func`2) + IL_00b9: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_00be: castclass [mscorlib]System.Reflection.MethodInfo + IL_00c3: ldc.i4.1 + IL_00c4: newarr [System.Core]System.Linq.Expressions.Expression + IL_00c9: stloc.3 + IL_00ca: ldloc.3 + IL_00cb: ldc.i4.0 + IL_00cc: ldtoken [mscorlib]System.String + IL_00d1: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00d6: ldstr "x" + IL_00db: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_00e0: stloc.s V_4 + IL_00e2: ldloc.s V_4 + IL_00e4: ldstr "a" + IL_00e9: ldtoken [mscorlib]System.String + IL_00ee: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00f3: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_00f8: ldc.i4.0 + IL_00f9: ldtoken method bool [mscorlib]System.String::op_Inequality(string, + string) + IL_00fe: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0103: castclass [mscorlib]System.Reflection.MethodInfo + IL_0108: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::NotEqual(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression, + bool, + class [mscorlib]System.Reflection.MethodInfo) + IL_010d: ldc.i4.1 + IL_010e: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0113: stloc.s V_5 + IL_0115: ldloc.s V_5 + IL_0117: ldc.i4.0 + IL_0118: ldloc.s V_4 + IL_011a: stelem.ref + IL_011b: ldloc.s V_5 + IL_011d: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0122: stelem.ref + IL_0123: ldloc.3 + IL_0124: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_0129: ldc.i4.0 + IL_012a: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_012f: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0134: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0139: pop + IL_013a: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_013f: ldarg.0 + IL_0140: box ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees + IL_0145: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees + IL_014a: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_014f: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0154: ldtoken method instance bool ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Fizz(class [mscorlib]System.Func`2) + IL_0159: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_015e: castclass [mscorlib]System.Reflection.MethodInfo + IL_0163: ldc.i4.1 + IL_0164: newarr [System.Core]System.Linq.Expressions.Expression + IL_0169: stloc.s V_6 + IL_016b: ldloc.s V_6 + IL_016d: ldc.i4.0 + IL_016e: ldtoken [mscorlib]System.Action + IL_0173: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0178: ldstr "x" + IL_017d: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0182: stloc.s V_7 + IL_0184: ldloc.s V_7 + IL_0186: ldtoken method instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::NestedLambda2() + IL_018b: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0190: castclass [mscorlib]System.Reflection.MethodInfo + IL_0195: box [mscorlib]System.Reflection.MethodInfo + IL_019a: ldtoken [mscorlib]System.Reflection.MethodInfo + IL_019f: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_01a4: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_01a9: ldtoken method instance class [mscorlib]System.Delegate [mscorlib]System.Reflection.MethodInfo::CreateDelegate(class [mscorlib]System.Type, + object) + IL_01ae: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_01b3: castclass [mscorlib]System.Reflection.MethodInfo + IL_01b8: ldc.i4.2 + IL_01b9: newarr [System.Core]System.Linq.Expressions.Expression + IL_01be: stloc.s V_8 + IL_01c0: ldloc.s V_8 + IL_01c2: ldc.i4.0 + IL_01c3: ldtoken [mscorlib]System.Action + IL_01c8: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_01cd: box [mscorlib]System.Type + IL_01d2: ldtoken [mscorlib]System.Type + IL_01d7: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_01dc: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_01e1: stelem.ref + IL_01e2: ldloc.s V_8 + IL_01e4: ldc.i4.1 + IL_01e5: ldarg.0 + IL_01e6: box ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees + IL_01eb: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees + IL_01f0: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_01f5: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_01fa: stelem.ref + IL_01fb: ldloc.s V_8 + IL_01fd: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_0202: ldtoken [mscorlib]System.Action + IL_0207: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_020c: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_0211: ldc.i4.0 + IL_0212: ldtoken method bool [mscorlib]System.Delegate::op_Equality(class [mscorlib]System.Delegate, + class [mscorlib]System.Delegate) + IL_0217: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_021c: castclass [mscorlib]System.Reflection.MethodInfo + IL_0221: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Equal(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression, + bool, + class [mscorlib]System.Reflection.MethodInfo) + IL_0226: ldc.i4.1 + IL_0227: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_022c: stloc.s V_9 + IL_022e: ldloc.s V_9 + IL_0230: ldc.i4.0 + IL_0231: ldloc.s V_7 + IL_0233: stelem.ref + IL_0234: ldloc.s V_9 + IL_0236: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_023b: stelem.ref + IL_023c: ldloc.s V_6 + IL_023e: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_0243: ldc.i4.0 + IL_0244: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0249: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_024e: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0253: pop + IL_0254: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0259: ldarg.0 + IL_025a: box ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees + IL_025f: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees + IL_0264: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0269: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_026e: ldtoken method instance bool ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Fizz(class [mscorlib]System.Func`2) + IL_0273: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0278: castclass [mscorlib]System.Reflection.MethodInfo + IL_027d: ldc.i4.1 + IL_027e: newarr [System.Core]System.Linq.Expressions.Expression + IL_0283: stloc.s V_10 + IL_0285: ldloc.s V_10 + IL_0287: ldc.i4.0 + IL_0288: ldtoken [mscorlib]System.Action + IL_028d: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0292: ldstr "x" + IL_0297: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_029c: stloc.s V_11 + IL_029e: ldloc.s V_11 + IL_02a0: ldtoken method instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::NestedLambda2() + IL_02a5: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_02aa: castclass [mscorlib]System.Reflection.MethodInfo + IL_02af: box [mscorlib]System.Reflection.MethodInfo + IL_02b4: ldtoken [mscorlib]System.Reflection.MethodInfo + IL_02b9: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_02be: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_02c3: ldtoken method instance class [mscorlib]System.Delegate [mscorlib]System.Reflection.MethodInfo::CreateDelegate(class [mscorlib]System.Type, + object) + IL_02c8: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_02cd: castclass [mscorlib]System.Reflection.MethodInfo + IL_02d2: ldc.i4.2 + IL_02d3: newarr [System.Core]System.Linq.Expressions.Expression + IL_02d8: stloc.s V_12 + IL_02da: ldloc.s V_12 + IL_02dc: ldc.i4.0 + IL_02dd: ldtoken [mscorlib]System.Action + IL_02e2: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_02e7: box [mscorlib]System.Type + IL_02ec: ldtoken [mscorlib]System.Type + IL_02f1: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_02f6: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_02fb: stelem.ref + IL_02fc: ldloc.s V_12 + IL_02fe: ldc.i4.1 + IL_02ff: ldarg.0 + IL_0300: box ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees + IL_0305: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees + IL_030a: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_030f: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0314: stelem.ref + IL_0315: ldloc.s V_12 + IL_0317: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_031c: ldtoken [mscorlib]System.Action + IL_0321: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0326: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_032b: ldc.i4.0 + IL_032c: ldtoken method bool [mscorlib]System.Delegate::op_Inequality(class [mscorlib]System.Delegate, + class [mscorlib]System.Delegate) + IL_0331: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0336: castclass [mscorlib]System.Reflection.MethodInfo + IL_033b: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::NotEqual(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression, + bool, + class [mscorlib]System.Reflection.MethodInfo) + IL_0340: ldc.i4.1 + IL_0341: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0346: stloc.s V_13 + IL_0348: ldloc.s V_13 + IL_034a: ldc.i4.0 + IL_034b: ldloc.s V_11 + IL_034d: stelem.ref + IL_034e: ldloc.s V_13 + IL_0350: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0355: stelem.ref + IL_0356: ldloc.s V_10 + IL_0358: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_035d: ldc.i4.0 + IL_035e: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0363: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0368: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_036d: pop + IL_036e: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0373: ldarg.0 + IL_0374: box ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees + IL_0379: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees + IL_037e: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0383: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0388: ldtoken method instance bool ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Fizz(class [mscorlib]System.Func`2) + IL_038d: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0392: castclass [mscorlib]System.Reflection.MethodInfo + IL_0397: ldc.i4.1 + IL_0398: newarr [System.Core]System.Linq.Expressions.Expression + IL_039d: stloc.s V_14 + IL_039f: ldloc.s V_14 + IL_03a1: ldc.i4.0 + IL_03a2: ldtoken [mscorlib]System.Int32 + IL_03a7: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_03ac: ldstr "x" + IL_03b1: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_03b6: stloc.s V_15 + IL_03b8: ldloc.s V_15 + IL_03ba: ldc.i4.s 37 + IL_03bc: box [mscorlib]System.Int32 + IL_03c1: ldtoken [mscorlib]System.Int32 + IL_03c6: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_03cb: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_03d0: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Equal(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_03d5: ldc.i4.1 + IL_03d6: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_03db: stloc.s V_16 + IL_03dd: ldloc.s V_16 + IL_03df: ldc.i4.0 + IL_03e0: ldloc.s V_15 + IL_03e2: stelem.ref + IL_03e3: ldloc.s V_16 + IL_03e5: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_03ea: stelem.ref + IL_03eb: ldloc.s V_14 + IL_03ed: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_03f2: ldc.i4.0 + IL_03f3: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_03f8: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_03fd: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0402: pop + IL_0403: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0408: ldarg.0 + IL_0409: box ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees + IL_040e: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees + IL_0413: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0418: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_041d: ldtoken method instance bool ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Fizz(class [mscorlib]System.Func`2) + IL_0422: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0427: castclass [mscorlib]System.Reflection.MethodInfo + IL_042c: ldc.i4.1 + IL_042d: newarr [System.Core]System.Linq.Expressions.Expression + IL_0432: stloc.s V_17 + IL_0434: ldloc.s V_17 + IL_0436: ldc.i4.0 + IL_0437: ldtoken [mscorlib]System.Int32 + IL_043c: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0441: ldstr "x" + IL_0446: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_044b: stloc.s V_18 + IL_044d: ldc.i4.1 + IL_044e: box [mscorlib]System.Boolean + IL_0453: ldtoken [mscorlib]System.Boolean + IL_0458: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_045d: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0462: ldc.i4.1 + IL_0463: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0468: stloc.s V_19 + IL_046a: ldloc.s V_19 + IL_046c: ldc.i4.0 + IL_046d: ldloc.s V_18 + IL_046f: stelem.ref + IL_0470: ldloc.s V_19 + IL_0472: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0477: stelem.ref + IL_0478: ldloc.s V_17 + IL_047a: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_047f: ldc.i4.0 + IL_0480: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0485: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_048a: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_048f: pop + IL_0490: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0495: ldarg.0 + IL_0496: box ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees + IL_049b: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees + IL_04a0: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_04a5: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_04aa: ldtoken method instance bool ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Buzz(class [mscorlib]System.Func`2) + IL_04af: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_04b4: castclass [mscorlib]System.Reflection.MethodInfo + IL_04b9: ldc.i4.1 + IL_04ba: newarr [System.Core]System.Linq.Expressions.Expression + IL_04bf: stloc.s V_20 + IL_04c1: ldloc.s V_20 + IL_04c3: ldc.i4.0 + IL_04c4: ldtoken [mscorlib]System.Int32 + IL_04c9: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_04ce: ldstr "x" + IL_04d3: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_04d8: stloc.s V_21 + IL_04da: ldc.i4.1 + IL_04db: box [mscorlib]System.Boolean + IL_04e0: ldtoken [mscorlib]System.Boolean + IL_04e5: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_04ea: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_04ef: ldc.i4.1 + IL_04f0: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_04f5: stloc.s V_22 + IL_04f7: ldloc.s V_22 + IL_04f9: ldc.i4.0 + IL_04fa: ldloc.s V_21 + IL_04fc: stelem.ref + IL_04fd: ldloc.s V_22 + IL_04ff: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0504: stelem.ref + IL_0505: ldloc.s V_20 + IL_0507: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_050c: ldc.i4.0 + IL_050d: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0512: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0517: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_051c: pop + IL_051d: ret + } // end of method ExpressionTrees::NestedLambda2 + + .method public hidebysig instance void + NewArrayAndExtensionMethod() cil managed + { + // Code size 296 (0x128) + .maxstack 10 + .locals init (class [System.Core]System.Linq.Expressions.Expression[] V_0, + class [System.Core]System.Linq.Expressions.Expression[] V_1, + class [System.Core]System.Linq.Expressions.Expression[] V_2) + IL_0000: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0005: ldnull + IL_0006: ldtoken method bool [System.Core]System.Linq.Enumerable::SequenceEqual(class [mscorlib]System.Collections.Generic.IEnumerable`1, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_000b: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0010: castclass [mscorlib]System.Reflection.MethodInfo + IL_0015: ldc.i4.2 + IL_0016: newarr [System.Core]System.Linq.Expressions.Expression + IL_001b: stloc.0 + IL_001c: ldloc.0 + IL_001d: ldc.i4.0 + IL_001e: ldtoken [mscorlib]System.Double + IL_0023: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0028: ldc.i4.3 + IL_0029: newarr [System.Core]System.Linq.Expressions.Expression + IL_002e: stloc.1 + IL_002f: ldloc.1 + IL_0030: ldc.i4.0 + IL_0031: ldc.r8 1. + IL_003a: box [mscorlib]System.Double + IL_003f: ldtoken [mscorlib]System.Double + IL_0044: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0049: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_004e: stelem.ref + IL_004f: ldloc.1 + IL_0050: ldc.i4.1 + IL_0051: ldc.r8 2.0099999999999998 + IL_005a: box [mscorlib]System.Double + IL_005f: ldtoken [mscorlib]System.Double + IL_0064: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0069: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_006e: stelem.ref + IL_006f: ldloc.1 + IL_0070: ldc.i4.2 + IL_0071: ldc.r8 3.5 + IL_007a: box [mscorlib]System.Double + IL_007f: ldtoken [mscorlib]System.Double + IL_0084: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0089: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_008e: stelem.ref + IL_008f: ldloc.1 + IL_0090: call class [System.Core]System.Linq.Expressions.NewArrayExpression [System.Core]System.Linq.Expressions.Expression::NewArrayInit(class [mscorlib]System.Type, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_0095: stelem.ref + IL_0096: ldloc.0 + IL_0097: ldc.i4.1 + IL_0098: ldtoken [mscorlib]System.Double + IL_009d: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00a2: ldc.i4.3 + IL_00a3: newarr [System.Core]System.Linq.Expressions.Expression + IL_00a8: stloc.2 + IL_00a9: ldloc.2 + IL_00aa: ldc.i4.0 + IL_00ab: ldc.r8 1. + IL_00b4: box [mscorlib]System.Double + IL_00b9: ldtoken [mscorlib]System.Double + IL_00be: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00c3: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_00c8: stelem.ref + IL_00c9: ldloc.2 + IL_00ca: ldc.i4.1 + IL_00cb: ldc.r8 2.0099999999999998 + IL_00d4: box [mscorlib]System.Double + IL_00d9: ldtoken [mscorlib]System.Double + IL_00de: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00e3: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_00e8: stelem.ref + IL_00e9: ldloc.2 + IL_00ea: ldc.i4.2 + IL_00eb: ldc.r8 3.5 + IL_00f4: box [mscorlib]System.Double + IL_00f9: ldtoken [mscorlib]System.Double + IL_00fe: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0103: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0108: stelem.ref + IL_0109: ldloc.2 + IL_010a: call class [System.Core]System.Linq.Expressions.NewArrayExpression [System.Core]System.Linq.Expressions.Expression::NewArrayInit(class [mscorlib]System.Type, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_010f: stelem.ref + IL_0110: ldloc.0 + IL_0111: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_0116: ldc.i4.0 + IL_0117: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_011c: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0121: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0126: pop + IL_0127: ret + } // end of method ExpressionTrees::NewArrayAndExtensionMethod + + .method public hidebysig instance void + NewMultiDimArray() cil managed + { + // Code size 140 (0x8c) + .maxstack 6 + .locals init (class [System.Core]System.Linq.Expressions.Expression[] V_0) + IL_0000: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0005: ldtoken [mscorlib]System.Int32 + IL_000a: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_000f: ldc.i4.2 + IL_0010: newarr [System.Core]System.Linq.Expressions.Expression + IL_0015: stloc.0 + IL_0016: ldloc.0 + IL_0017: ldc.i4.0 + IL_0018: ldc.i4.3 + IL_0019: box [mscorlib]System.Int32 + IL_001e: ldtoken [mscorlib]System.Int32 + IL_0023: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0028: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_002d: stelem.ref + IL_002e: ldloc.0 + IL_002f: ldc.i4.1 + IL_0030: ldc.i4.4 + IL_0031: box [mscorlib]System.Int32 + IL_0036: ldtoken [mscorlib]System.Int32 + IL_003b: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0040: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0045: stelem.ref + IL_0046: ldloc.0 + IL_0047: call class [System.Core]System.Linq.Expressions.NewArrayExpression [System.Core]System.Linq.Expressions.Expression::NewArrayBounds(class [mscorlib]System.Type, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_004c: ldtoken method instance int32 [mscorlib]System.Array::get_Length() + IL_0051: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0056: castclass [mscorlib]System.Reflection.MethodInfo + IL_005b: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Property(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo) + IL_0060: ldc.i4.1 + IL_0061: box [mscorlib]System.Int32 + IL_0066: ldtoken [mscorlib]System.Int32 + IL_006b: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0070: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0075: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Equal(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_007a: ldc.i4.0 + IL_007b: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0080: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0085: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_008a: pop + IL_008b: ret + } // end of method ExpressionTrees::NewMultiDimArray + + .method public hidebysig instance void + NewObject() cil managed + { + // Code size 80 (0x50) + .maxstack 4 + IL_0000: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0005: ldtoken method instance void [mscorlib]System.Object::.ctor() + IL_000a: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_000f: castclass [mscorlib]System.Reflection.ConstructorInfo + IL_0014: ldc.i4.0 + IL_0015: newarr [System.Core]System.Linq.Expressions.Expression + IL_001a: call class [System.Core]System.Linq.Expressions.NewExpression [System.Core]System.Linq.Expressions.Expression::New(class [mscorlib]System.Reflection.ConstructorInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_001f: ldtoken method instance void [mscorlib]System.Object::.ctor() + IL_0024: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0029: castclass [mscorlib]System.Reflection.ConstructorInfo + IL_002e: ldc.i4.0 + IL_002f: newarr [System.Core]System.Linq.Expressions.Expression + IL_0034: call class [System.Core]System.Linq.Expressions.NewExpression [System.Core]System.Linq.Expressions.Expression::New(class [mscorlib]System.Reflection.ConstructorInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_0039: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::NotEqual(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_003e: ldc.i4.0 + IL_003f: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0044: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0049: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_004e: pop + IL_004f: ret + } // end of method ExpressionTrees::NewObject + + .method public hidebysig instance void + NotOperator() cil managed + { + // Code size 240 (0xf0) + .maxstack 4 + .locals init (class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass16' V_0) + IL_0000: newobj instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass16'::.ctor() + IL_0005: stloc.0 + IL_0006: ldloc.0 + IL_0007: ldc.i4.1 + IL_0008: stfld bool ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass16'::x + IL_000d: ldloc.0 + IL_000e: ldc.i4.3 + IL_000f: stfld int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass16'::y + IL_0014: ldloc.0 + IL_0015: ldc.i4.s 42 + IL_0017: stfld uint8 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass16'::z + IL_001c: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0021: ldloc.0 + IL_0022: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object) + IL_0027: ldtoken field uint8 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass16'::z + IL_002c: call class [mscorlib]System.Reflection.FieldInfo [mscorlib]System.Reflection.FieldInfo::GetFieldFromHandle(valuetype [mscorlib]System.RuntimeFieldHandle) + IL_0031: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Field(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.FieldInfo) + IL_0036: ldtoken [mscorlib]System.Int32 + IL_003b: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0040: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_0045: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Not(class [System.Core]System.Linq.Expressions.Expression) + IL_004a: ldc.i4.0 + IL_004b: box [mscorlib]System.Int32 + IL_0050: ldtoken [mscorlib]System.Int32 + IL_0055: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_005a: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_005f: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Equal(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0064: ldc.i4.0 + IL_0065: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_006a: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_006f: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0074: pop + IL_0075: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_007a: ldloc.0 + IL_007b: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object) + IL_0080: ldtoken field int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass16'::y + IL_0085: call class [mscorlib]System.Reflection.FieldInfo [mscorlib]System.Reflection.FieldInfo::GetFieldFromHandle(valuetype [mscorlib]System.RuntimeFieldHandle) + IL_008a: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Field(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.FieldInfo) + IL_008f: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Not(class [System.Core]System.Linq.Expressions.Expression) + IL_0094: ldc.i4.0 + IL_0095: box [mscorlib]System.Int32 + IL_009a: ldtoken [mscorlib]System.Int32 + IL_009f: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00a4: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_00a9: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Equal(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_00ae: ldc.i4.0 + IL_00af: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_00b4: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_00b9: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_00be: pop + IL_00bf: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_00c4: ldloc.0 + IL_00c5: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object) + IL_00ca: ldtoken field bool ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass16'::x + IL_00cf: call class [mscorlib]System.Reflection.FieldInfo [mscorlib]System.Reflection.FieldInfo::GetFieldFromHandle(valuetype [mscorlib]System.RuntimeFieldHandle) + IL_00d4: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Field(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.FieldInfo) + IL_00d9: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Not(class [System.Core]System.Linq.Expressions.Expression) + IL_00de: ldc.i4.0 + IL_00df: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_00e4: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_00e9: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_00ee: pop + IL_00ef: ret + } // end of method ExpressionTrees::NotOperator + + .method public hidebysig instance void + ObjectInitializers() cil managed + { + // Code size 275 (0x113) + .maxstack 7 + .locals init (class [System.Xml]System.Xml.XmlReaderSettings V_0, + class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass19' V_1, + class [System.Core]System.Linq.Expressions.MemberBinding[] V_2, + class [System.Core]System.Linq.Expressions.Expression[] V_3) + IL_0000: newobj instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass19'::.ctor() + IL_0005: stloc.1 + IL_0006: ldloc.1 + IL_0007: newobj instance void [System.Xml]System.Xml.XmlReaderSettings::.ctor() + IL_000c: stloc.0 + IL_000d: ldloc.0 + IL_000e: ldc.i4.0 + IL_000f: callvirt instance void [System.Xml]System.Xml.XmlReaderSettings::set_CloseInput(bool) + IL_0014: ldloc.0 + IL_0015: ldc.i4.0 + IL_0016: callvirt instance void [System.Xml]System.Xml.XmlReaderSettings::set_CheckCharacters(bool) + IL_001b: ldloc.0 + IL_001c: stfld class [System.Xml]System.Xml.XmlReaderSettings ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass19'::s + IL_0021: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0026: ldtoken method instance void [System.Xml]System.Xml.XmlReaderSettings::.ctor() + IL_002b: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0030: castclass [mscorlib]System.Reflection.ConstructorInfo + IL_0035: ldc.i4.0 + IL_0036: newarr [System.Core]System.Linq.Expressions.Expression + IL_003b: call class [System.Core]System.Linq.Expressions.NewExpression [System.Core]System.Linq.Expressions.Expression::New(class [mscorlib]System.Reflection.ConstructorInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_0040: ldc.i4.2 + IL_0041: newarr [System.Core]System.Linq.Expressions.MemberBinding + IL_0046: stloc.2 + IL_0047: ldloc.2 + IL_0048: ldc.i4.0 + IL_0049: ldtoken method instance void [System.Xml]System.Xml.XmlReaderSettings::set_CloseInput(bool) + IL_004e: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0053: castclass [mscorlib]System.Reflection.MethodInfo + IL_0058: ldloc.1 + IL_0059: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object) + IL_005e: ldtoken field class [System.Xml]System.Xml.XmlReaderSettings ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass19'::s + IL_0063: call class [mscorlib]System.Reflection.FieldInfo [mscorlib]System.Reflection.FieldInfo::GetFieldFromHandle(valuetype [mscorlib]System.RuntimeFieldHandle) + IL_0068: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Field(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.FieldInfo) + IL_006d: ldtoken method instance bool [System.Xml]System.Xml.XmlReaderSettings::get_CloseInput() + IL_0072: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0077: castclass [mscorlib]System.Reflection.MethodInfo + IL_007c: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Property(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo) + IL_0081: call class [System.Core]System.Linq.Expressions.MemberAssignment [System.Core]System.Linq.Expressions.Expression::Bind(class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression) + IL_0086: stelem.ref + IL_0087: ldloc.2 + IL_0088: ldc.i4.1 + IL_0089: ldtoken method instance void [System.Xml]System.Xml.XmlReaderSettings::set_CheckCharacters(bool) + IL_008e: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0093: castclass [mscorlib]System.Reflection.MethodInfo + IL_0098: ldloc.1 + IL_0099: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object) + IL_009e: ldtoken field class [System.Xml]System.Xml.XmlReaderSettings ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass19'::s + IL_00a3: call class [mscorlib]System.Reflection.FieldInfo [mscorlib]System.Reflection.FieldInfo::GetFieldFromHandle(valuetype [mscorlib]System.RuntimeFieldHandle) + IL_00a8: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Field(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.FieldInfo) + IL_00ad: ldtoken method instance bool [System.Xml]System.Xml.XmlReaderSettings::get_CheckCharacters() + IL_00b2: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_00b7: castclass [mscorlib]System.Reflection.MethodInfo + IL_00bc: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Property(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo) + IL_00c1: call class [System.Core]System.Linq.Expressions.MemberAssignment [System.Core]System.Linq.Expressions.Expression::Bind(class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression) + IL_00c6: stelem.ref + IL_00c7: ldloc.2 + IL_00c8: call class [System.Core]System.Linq.Expressions.MemberInitExpression [System.Core]System.Linq.Expressions.Expression::MemberInit(class [System.Core]System.Linq.Expressions.NewExpression, + class [System.Core]System.Linq.Expressions.MemberBinding[]) + IL_00cd: ldtoken method instance bool [mscorlib]System.Object::Equals(object) + IL_00d2: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_00d7: castclass [mscorlib]System.Reflection.MethodInfo + IL_00dc: ldc.i4.1 + IL_00dd: newarr [System.Core]System.Linq.Expressions.Expression + IL_00e2: stloc.3 + IL_00e3: ldloc.3 + IL_00e4: ldc.i4.0 + IL_00e5: ldloc.1 + IL_00e6: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object) + IL_00eb: ldtoken field class [System.Xml]System.Xml.XmlReaderSettings ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass19'::s + IL_00f0: call class [mscorlib]System.Reflection.FieldInfo [mscorlib]System.Reflection.FieldInfo::GetFieldFromHandle(valuetype [mscorlib]System.RuntimeFieldHandle) + IL_00f5: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Field(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.FieldInfo) + IL_00fa: stelem.ref + IL_00fb: ldloc.3 + IL_00fc: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_0101: ldc.i4.0 + IL_0102: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0107: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_010c: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0111: pop + IL_0112: ret + } // end of method ExpressionTrees::ObjectInitializers + + .method public hidebysig instance void + Quoted() cil managed + { + // Code size 180 (0xb4) + .maxstack 5 + .locals init (class [System.Core]System.Linq.Expressions.ParameterExpression V_0, + class [System.Core]System.Linq.Expressions.ParameterExpression V_1, + class [System.Core]System.Linq.Expressions.ParameterExpression[] V_2) + IL_0000: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0005: ldtoken [mscorlib]System.Int32 + IL_000a: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_000f: ldstr "n" + IL_0014: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0019: stloc.0 + IL_001a: ldtoken [mscorlib]System.String + IL_001f: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0024: ldstr "s" + IL_0029: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_002e: stloc.1 + IL_002f: ldloc.1 + IL_0030: ldloc.0 + IL_0031: ldtoken method instance string [mscorlib]System.Int32::ToString() + IL_0036: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_003b: castclass [mscorlib]System.Reflection.MethodInfo + IL_0040: ldc.i4.0 + IL_0041: newarr [System.Core]System.Linq.Expressions.Expression + IL_0046: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_004b: ldtoken method string [mscorlib]System.String::Concat(string, + string) + IL_0050: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0055: castclass [mscorlib]System.Reflection.MethodInfo + IL_005a: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Add(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo) + IL_005f: ldc.i4.2 + IL_0060: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0065: stloc.2 + IL_0066: ldloc.2 + IL_0067: ldc.i4.0 + IL_0068: ldloc.0 + IL_0069: stelem.ref + IL_006a: ldloc.2 + IL_006b: ldc.i4.1 + IL_006c: ldloc.1 + IL_006d: stelem.ref + IL_006e: ldloc.2 + IL_006f: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0074: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Quote(class [System.Core]System.Linq.Expressions.Expression) + IL_0079: ldtoken class [System.Core]System.Linq.Expressions.Expression`1> + IL_007e: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0083: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_0088: ldnull + IL_0089: box [mscorlib]System.Object + IL_008e: ldtoken [mscorlib]System.Object + IL_0093: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0098: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_009d: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::NotEqual(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_00a2: ldc.i4.0 + IL_00a3: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_00a8: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_00ad: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_00b2: pop + IL_00b3: ret + } // end of method ExpressionTrees::Quoted + + .method public hidebysig instance void + Quoted2() cil managed + { + // Code size 174 (0xae) + .maxstack 8 + .locals init (class [System.Core]System.Linq.Expressions.Expression[] V_0, + class [System.Core]System.Linq.Expressions.Expression[] V_1) + IL_0000: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0005: ldnull + IL_0006: ldtoken method object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_000b: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0010: castclass [mscorlib]System.Reflection.MethodInfo + IL_0015: ldc.i4.2 + IL_0016: newarr [System.Core]System.Linq.Expressions.Expression + IL_001b: stloc.0 + IL_001c: ldloc.0 + IL_001d: ldc.i4.0 + IL_001e: ldnull + IL_001f: ldtoken method object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0024: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0029: castclass [mscorlib]System.Reflection.MethodInfo + IL_002e: ldc.i4.0 + IL_002f: newarr [System.Core]System.Linq.Expressions.Expression + IL_0034: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_0039: stelem.ref + IL_003a: ldloc.0 + IL_003b: ldc.i4.1 + IL_003c: ldc.i4.1 + IL_003d: box [mscorlib]System.Boolean + IL_0042: ldtoken [mscorlib]System.Boolean + IL_0047: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_004c: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0051: ldc.i4.0 + IL_0052: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0057: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_005c: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Quote(class [System.Core]System.Linq.Expressions.Expression) + IL_0061: stelem.ref + IL_0062: ldloc.0 + IL_0063: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_0068: ldtoken method instance bool [mscorlib]System.Object::Equals(object) + IL_006d: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0072: castclass [mscorlib]System.Reflection.MethodInfo + IL_0077: ldc.i4.1 + IL_0078: newarr [System.Core]System.Linq.Expressions.Expression + IL_007d: stloc.1 + IL_007e: ldloc.1 + IL_007f: ldc.i4.0 + IL_0080: ldnull + IL_0081: box [mscorlib]System.Object + IL_0086: ldtoken [mscorlib]System.Object + IL_008b: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0090: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0095: stelem.ref + IL_0096: ldloc.1 + IL_0097: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_009c: ldc.i4.0 + IL_009d: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_00a2: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_00a7: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_00ac: pop + IL_00ad: ret + } // end of method ExpressionTrees::Quoted2 + + .method public hidebysig instance void + QuotedWithAnonymous() cil managed + { + // Code size 370 (0x172) + .maxstack 18 + .locals init (class [System.Core]System.Linq.Expressions.Expression[] V_0, + class [System.Core]System.Linq.Expressions.Expression[] V_1, + class [System.Core]System.Linq.Expressions.Expression[] V_2, + class [System.Core]System.Linq.Expressions.Expression[] V_3, + class [mscorlib]System.Reflection.MethodInfo[] V_4, + class [System.Core]System.Linq.Expressions.ParameterExpression V_5, + class [System.Core]System.Linq.Expressions.ParameterExpression[] V_6) + IL_0000: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0005: ldnull + IL_0006: ldtoken method !!0 [System.Core]System.Linq.Enumerable::Single(class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_000b: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0010: castclass [mscorlib]System.Reflection.MethodInfo + IL_0015: ldc.i4.1 + IL_0016: newarr [System.Core]System.Linq.Expressions.Expression + IL_001b: stloc.0 + IL_001c: ldloc.0 + IL_001d: ldc.i4.0 + IL_001e: ldnull + IL_001f: ldtoken method class [mscorlib]System.Collections.Generic.IEnumerable`1 [System.Core]System.Linq.Enumerable::Selectf__AnonymousType1`2',string>(class [mscorlib]System.Collections.Generic.IEnumerable`1, + class [mscorlib]System.Func`2) + IL_0024: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0029: castclass [mscorlib]System.Reflection.MethodInfo + IL_002e: ldc.i4.2 + IL_002f: newarr [System.Core]System.Linq.Expressions.Expression + IL_0034: stloc.1 + IL_0035: ldloc.1 + IL_0036: ldc.i4.0 + IL_0037: ldtoken class '<>f__AnonymousType1`2' + IL_003c: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0041: ldc.i4.1 + IL_0042: newarr [System.Core]System.Linq.Expressions.Expression + IL_0047: stloc.2 + IL_0048: ldloc.2 + IL_0049: ldc.i4.0 + IL_004a: ldtoken method instance void class '<>f__AnonymousType1`2'::.ctor(!0, + !1) + IL_004f: ldtoken class '<>f__AnonymousType1`2' + IL_0054: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle, + valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0059: castclass [mscorlib]System.Reflection.ConstructorInfo + IL_005e: ldc.i4.2 + IL_005f: newarr [System.Core]System.Linq.Expressions.Expression + IL_0064: stloc.3 + IL_0065: ldloc.3 + IL_0066: ldc.i4.0 + IL_0067: ldstr "a" + IL_006c: ldtoken [mscorlib]System.String + IL_0071: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0076: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_007b: stelem.ref + IL_007c: ldloc.3 + IL_007d: ldc.i4.1 + IL_007e: ldstr "b" + IL_0083: ldtoken [mscorlib]System.String + IL_0088: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_008d: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0092: stelem.ref + IL_0093: ldloc.3 + IL_0094: ldc.i4.2 + IL_0095: newarr [mscorlib]System.Reflection.MethodInfo + IL_009a: stloc.s V_4 + IL_009c: ldloc.s V_4 + IL_009e: ldc.i4.0 + IL_009f: ldtoken method instance !0 class '<>f__AnonymousType1`2'::get_X() + IL_00a4: ldtoken class '<>f__AnonymousType1`2' + IL_00a9: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle, + valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00ae: castclass [mscorlib]System.Reflection.MethodInfo + IL_00b3: stelem.ref + IL_00b4: ldloc.s V_4 + IL_00b6: ldc.i4.1 + IL_00b7: ldtoken method instance !1 class '<>f__AnonymousType1`2'::get_Y() + IL_00bc: ldtoken class '<>f__AnonymousType1`2' + IL_00c1: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle, + valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00c6: castclass [mscorlib]System.Reflection.MethodInfo + IL_00cb: stelem.ref + IL_00cc: ldloc.s V_4 + IL_00ce: call class [System.Core]System.Linq.Expressions.NewExpression [System.Core]System.Linq.Expressions.Expression::New(class [mscorlib]System.Reflection.ConstructorInfo, + class [mscorlib]System.Collections.Generic.IEnumerable`1, + class [mscorlib]System.Reflection.MemberInfo[]) + IL_00d3: stelem.ref + IL_00d4: ldloc.2 + IL_00d5: call class [System.Core]System.Linq.Expressions.NewArrayExpression [System.Core]System.Linq.Expressions.Expression::NewArrayInit(class [mscorlib]System.Type, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_00da: stelem.ref + IL_00db: ldloc.1 + IL_00dc: ldc.i4.1 + IL_00dd: ldtoken class '<>f__AnonymousType1`2' + IL_00e2: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00e7: ldstr "o" + IL_00ec: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_00f1: stloc.s V_5 + IL_00f3: ldloc.s V_5 + IL_00f5: ldtoken method instance !0 class '<>f__AnonymousType1`2'::get_X() + IL_00fa: ldtoken class '<>f__AnonymousType1`2' + IL_00ff: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle, + valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0104: castclass [mscorlib]System.Reflection.MethodInfo + IL_0109: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Property(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo) + IL_010e: ldloc.s V_5 + IL_0110: ldtoken method instance !1 class '<>f__AnonymousType1`2'::get_Y() + IL_0115: ldtoken class '<>f__AnonymousType1`2' + IL_011a: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle, + valuetype [mscorlib]System.RuntimeTypeHandle) + IL_011f: castclass [mscorlib]System.Reflection.MethodInfo + IL_0124: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Property(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo) + IL_0129: ldtoken method string [mscorlib]System.String::Concat(string, + string) + IL_012e: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0133: castclass [mscorlib]System.Reflection.MethodInfo + IL_0138: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Add(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo) + IL_013d: ldc.i4.1 + IL_013e: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0143: stloc.s V_6 + IL_0145: ldloc.s V_6 + IL_0147: ldc.i4.0 + IL_0148: ldloc.s V_5 + IL_014a: stelem.ref + IL_014b: ldloc.s V_6 + IL_014d: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambdaf__AnonymousType1`2',string>>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0152: stelem.ref + IL_0153: ldloc.1 + IL_0154: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_0159: stelem.ref + IL_015a: ldloc.0 + IL_015b: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_0160: ldc.i4.0 + IL_0161: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0166: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_016b: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0170: pop + IL_0171: ret + } // end of method ExpressionTrees::QuotedWithAnonymous + + .method public hidebysig instance void + StaticCall() cil managed + { + // Code size 130 (0x82) + .maxstack 7 + .locals init (class [System.Core]System.Linq.Expressions.Expression[] V_0) + IL_0000: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0005: ldnull + IL_0006: ldtoken method bool [mscorlib]System.Object::Equals(object, + object) + IL_000b: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0010: castclass [mscorlib]System.Reflection.MethodInfo + IL_0015: ldc.i4.2 + IL_0016: newarr [System.Core]System.Linq.Expressions.Expression + IL_001b: stloc.0 + IL_001c: ldloc.0 + IL_001d: ldc.i4.0 + IL_001e: ldc.i4.3 + IL_001f: box [mscorlib]System.Int32 + IL_0024: ldtoken [mscorlib]System.Int32 + IL_0029: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_002e: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0033: ldtoken [mscorlib]System.Object + IL_0038: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_003d: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_0042: stelem.ref + IL_0043: ldloc.0 + IL_0044: ldc.i4.1 + IL_0045: ldc.i4.0 + IL_0046: box [mscorlib]System.Int32 + IL_004b: ldtoken [mscorlib]System.Int32 + IL_0050: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0055: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_005a: ldtoken [mscorlib]System.Object + IL_005f: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0064: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_0069: stelem.ref + IL_006a: ldloc.0 + IL_006b: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_0070: ldc.i4.0 + IL_0071: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0076: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_007b: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0080: pop + IL_0081: ret + } // end of method ExpressionTrees::StaticCall + + .method public hidebysig instance void + ThisCall() cil managed + { + // Code size 116 (0x74) + .maxstack 7 + .locals init (class [System.Core]System.Linq.Expressions.Expression[] V_0) + IL_0000: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0005: ldarg.0 + IL_0006: box ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees + IL_000b: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees + IL_0010: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0015: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_001a: ldtoken method instance bool [mscorlib]System.Object::Equals(object) + IL_001f: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0024: castclass [mscorlib]System.Reflection.MethodInfo + IL_0029: ldc.i4.1 + IL_002a: newarr [System.Core]System.Linq.Expressions.Expression + IL_002f: stloc.0 + IL_0030: ldloc.0 + IL_0031: ldc.i4.0 + IL_0032: ldc.i4.3 + IL_0033: box [mscorlib]System.Int32 + IL_0038: ldtoken [mscorlib]System.Int32 + IL_003d: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0042: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0047: ldtoken [mscorlib]System.Object + IL_004c: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0051: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_0056: stelem.ref + IL_0057: ldloc.0 + IL_0058: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_005d: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Not(class [System.Core]System.Linq.Expressions.Expression) + IL_0062: ldc.i4.0 + IL_0063: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0068: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_006d: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0072: pop + IL_0073: ret + } // end of method ExpressionTrees::ThisCall + + .method public hidebysig instance void + ThisExplicit() cil managed + { + // Code size 115 (0x73) + .maxstack 7 + .locals init (class [System.Core]System.Linq.Expressions.Expression[] V_0) + IL_0000: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0005: ldnull + IL_0006: ldtoken method bool [mscorlib]System.Object::Equals(object, + object) + IL_000b: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0010: castclass [mscorlib]System.Reflection.MethodInfo + IL_0015: ldc.i4.2 + IL_0016: newarr [System.Core]System.Linq.Expressions.Expression + IL_001b: stloc.0 + IL_001c: ldloc.0 + IL_001d: ldc.i4.0 + IL_001e: ldarg.0 + IL_001f: box ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees + IL_0024: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees + IL_0029: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_002e: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0033: stelem.ref + IL_0034: ldloc.0 + IL_0035: ldc.i4.1 + IL_0036: ldc.i4.3 + IL_0037: box [mscorlib]System.Int32 + IL_003c: ldtoken [mscorlib]System.Int32 + IL_0041: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0046: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_004b: ldtoken [mscorlib]System.Object + IL_0050: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0055: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_005a: stelem.ref + IL_005b: ldloc.0 + IL_005c: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_0061: ldc.i4.0 + IL_0062: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0067: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_006c: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0071: pop + IL_0072: ret + } // end of method ExpressionTrees::ThisExplicit + + .method public hidebysig instance void + TypedConstant() cil managed + { + // Code size 112 (0x70) + .maxstack 6 + .locals init (class [System.Core]System.Linq.Expressions.Expression[] V_0) + IL_0000: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0005: ldtoken [mscorlib]System.Type + IL_000a: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_000f: ldc.i4.2 + IL_0010: newarr [System.Core]System.Linq.Expressions.Expression + IL_0015: stloc.0 + IL_0016: ldloc.0 + IL_0017: ldc.i4.0 + IL_0018: ldtoken [mscorlib]System.Int32 + IL_001d: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0022: box [mscorlib]System.Type + IL_0027: ldtoken [mscorlib]System.Type + IL_002c: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0031: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0036: stelem.ref + IL_0037: ldloc.0 + IL_0038: ldc.i4.1 + IL_0039: ldtoken [mscorlib]System.String + IL_003e: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0043: box [mscorlib]System.Type + IL_0048: ldtoken [mscorlib]System.Type + IL_004d: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0052: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0057: stelem.ref + IL_0058: ldloc.0 + IL_0059: call class [System.Core]System.Linq.Expressions.NewArrayExpression [System.Core]System.Linq.Expressions.Expression::NewArrayInit(class [mscorlib]System.Type, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_005e: ldc.i4.0 + IL_005f: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0064: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0069: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_006e: pop + IL_006f: ret + } // end of method ExpressionTrees::TypedConstant + + .method public hidebysig instance void + StaticCallImplicitCast() cil managed + { + // Code size 130 (0x82) + .maxstack 7 + .locals init (class [System.Core]System.Linq.Expressions.Expression[] V_0) + IL_0000: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0005: ldnull + IL_0006: ldtoken method bool [mscorlib]System.Object::Equals(object, + object) + IL_000b: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0010: castclass [mscorlib]System.Reflection.MethodInfo + IL_0015: ldc.i4.2 + IL_0016: newarr [System.Core]System.Linq.Expressions.Expression + IL_001b: stloc.0 + IL_001c: ldloc.0 + IL_001d: ldc.i4.0 + IL_001e: ldc.i4.3 + IL_001f: box [mscorlib]System.Int32 + IL_0024: ldtoken [mscorlib]System.Int32 + IL_0029: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_002e: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0033: ldtoken [mscorlib]System.Object + IL_0038: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_003d: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_0042: stelem.ref + IL_0043: ldloc.0 + IL_0044: ldc.i4.1 + IL_0045: ldc.i4.0 + IL_0046: box [mscorlib]System.Int32 + IL_004b: ldtoken [mscorlib]System.Int32 + IL_0050: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0055: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_005a: ldtoken [mscorlib]System.Object + IL_005f: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0064: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_0069: stelem.ref + IL_006a: ldloc.0 + IL_006b: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_0070: ldc.i4.0 + IL_0071: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0076: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_007b: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0080: pop + IL_0081: ret + } // end of method ExpressionTrees::StaticCallImplicitCast + + .method public hidebysig instance void + StaticMembers() cil managed + { + // Code size 234 (0xea) + .maxstack 9 + .locals init (class [System.Core]System.Linq.Expressions.Expression[] V_0) + IL_0000: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0005: ldnull + IL_0006: ldtoken method valuetype [mscorlib]System.DateTime [mscorlib]System.DateTime::get_Now() + IL_000b: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0010: castclass [mscorlib]System.Reflection.MethodInfo + IL_0015: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Property(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo) + IL_001a: ldnull + IL_001b: ldtoken method valuetype [mscorlib]System.DateTime [mscorlib]System.DateTime::get_Now() + IL_0020: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0025: castclass [mscorlib]System.Reflection.MethodInfo + IL_002a: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Property(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo) + IL_002f: ldnull + IL_0030: ldtoken method valuetype [mscorlib]System.TimeSpan [mscorlib]System.TimeSpan::FromMilliseconds(float64) + IL_0035: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_003a: castclass [mscorlib]System.Reflection.MethodInfo + IL_003f: ldc.i4.1 + IL_0040: newarr [System.Core]System.Linq.Expressions.Expression + IL_0045: stloc.0 + IL_0046: ldloc.0 + IL_0047: ldc.i4.0 + IL_0048: ldc.r8 10.000999999999999 + IL_0051: box [mscorlib]System.Double + IL_0056: ldtoken [mscorlib]System.Double + IL_005b: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0060: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0065: stelem.ref + IL_0066: ldloc.0 + IL_0067: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_006c: ldtoken method valuetype [mscorlib]System.DateTime [mscorlib]System.DateTime::op_Addition(valuetype [mscorlib]System.DateTime, + valuetype [mscorlib]System.TimeSpan) + IL_0071: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0076: castclass [mscorlib]System.Reflection.MethodInfo + IL_007b: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Add(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo) + IL_0080: ldc.i4.0 + IL_0081: ldtoken method bool [mscorlib]System.DateTime::op_GreaterThan(valuetype [mscorlib]System.DateTime, + valuetype [mscorlib]System.DateTime) + IL_0086: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_008b: castclass [mscorlib]System.Reflection.MethodInfo + IL_0090: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::GreaterThan(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression, + bool, + class [mscorlib]System.Reflection.MethodInfo) + IL_0095: ldtoken method instance string [mscorlib]System.Boolean::ToString() + IL_009a: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_009f: castclass [mscorlib]System.Reflection.MethodInfo + IL_00a4: ldc.i4.0 + IL_00a5: newarr [System.Core]System.Linq.Expressions.Expression + IL_00aa: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_00af: ldstr "False" + IL_00b4: ldtoken [mscorlib]System.String + IL_00b9: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00be: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_00c3: ldc.i4.0 + IL_00c4: ldtoken method bool [mscorlib]System.String::op_Equality(string, + string) + IL_00c9: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_00ce: castclass [mscorlib]System.Reflection.MethodInfo + IL_00d3: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Equal(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression, + bool, + class [mscorlib]System.Reflection.MethodInfo) + IL_00d8: ldc.i4.0 + IL_00d9: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_00de: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_00e3: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_00e8: pop + IL_00e9: ret + } // end of method ExpressionTrees::StaticMembers + + .method public hidebysig instance void + Strings() cil managed + { + // Code size 376 (0x178) + .maxstack 8 + .locals init (class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass1b' V_0) + IL_0000: newobj instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass1b'::.ctor() + IL_0005: stloc.0 + IL_0006: ldloc.0 + IL_0007: ldc.i4.1 + IL_0008: stfld int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass1b'::i + IL_000d: ldloc.0 + IL_000e: ldstr "X" + IL_0013: stfld string ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass1b'::x + IL_0018: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_001d: ldstr "a\n\\b" + IL_0022: ldtoken [mscorlib]System.String + IL_0027: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_002c: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0031: ldloc.0 + IL_0032: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object) + IL_0037: ldtoken field string ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass1b'::x + IL_003c: call class [mscorlib]System.Reflection.FieldInfo [mscorlib]System.Reflection.FieldInfo::GetFieldFromHandle(valuetype [mscorlib]System.RuntimeFieldHandle) + IL_0041: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Field(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.FieldInfo) + IL_0046: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Coalesce(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_004b: ldloc.0 + IL_004c: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object) + IL_0051: ldtoken field string ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass1b'::x + IL_0056: call class [mscorlib]System.Reflection.FieldInfo [mscorlib]System.Reflection.FieldInfo::GetFieldFromHandle(valuetype [mscorlib]System.RuntimeFieldHandle) + IL_005b: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Field(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.FieldInfo) + IL_0060: ldtoken method string [mscorlib]System.String::Concat(string, + string) + IL_0065: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_006a: castclass [mscorlib]System.Reflection.MethodInfo + IL_006f: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Add(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo) + IL_0074: ldtoken method instance int32 [mscorlib]System.String::get_Length() + IL_0079: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_007e: castclass [mscorlib]System.Reflection.MethodInfo + IL_0083: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Property(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo) + IL_0088: ldc.i4.2 + IL_0089: box [mscorlib]System.Int32 + IL_008e: ldtoken [mscorlib]System.Int32 + IL_0093: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0098: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_009d: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Equal(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_00a2: ldc.i4.0 + IL_00a3: box [mscorlib]System.Boolean + IL_00a8: ldtoken [mscorlib]System.Boolean + IL_00ad: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00b2: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_00b7: ldc.i4.1 + IL_00b8: box [mscorlib]System.Boolean + IL_00bd: ldtoken [mscorlib]System.Boolean + IL_00c2: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00c7: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_00cc: ldc.i4.1 + IL_00cd: newobj instance void [mscorlib]System.Decimal::.ctor(int32) + IL_00d2: box [mscorlib]System.Decimal + IL_00d7: ldtoken [mscorlib]System.Decimal + IL_00dc: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00e1: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_00e6: ldloc.0 + IL_00e7: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object) + IL_00ec: ldtoken field int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass1b'::i + IL_00f1: call class [mscorlib]System.Reflection.FieldInfo [mscorlib]System.Reflection.FieldInfo::GetFieldFromHandle(valuetype [mscorlib]System.RuntimeFieldHandle) + IL_00f6: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Field(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.FieldInfo) + IL_00fb: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Negate(class [System.Core]System.Linq.Expressions.Expression) + IL_0100: ldtoken [mscorlib]System.Decimal + IL_0105: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_010a: ldtoken method valuetype [mscorlib]System.Decimal [mscorlib]System.Decimal::op_Implicit(int32) + IL_010f: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0114: castclass [mscorlib]System.Reflection.MethodInfo + IL_0119: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type, + class [mscorlib]System.Reflection.MethodInfo) + IL_011e: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Add(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0123: ldc.i4.0 + IL_0124: newobj instance void [mscorlib]System.Decimal::.ctor(int32) + IL_0129: box [mscorlib]System.Decimal + IL_012e: ldtoken [mscorlib]System.Decimal + IL_0133: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0138: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_013d: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::GreaterThan(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0142: ldc.i4.0 + IL_0143: box [mscorlib]System.Boolean + IL_0148: ldtoken [mscorlib]System.Boolean + IL_014d: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0152: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0157: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::OrElse(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_015c: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::AndAlso(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0161: call class [System.Core]System.Linq.Expressions.ConditionalExpression [System.Core]System.Linq.Expressions.Expression::Condition(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0166: ldc.i4.0 + IL_0167: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_016c: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0171: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0176: pop + IL_0177: ret + } // end of method ExpressionTrees::Strings + + .method public hidebysig instance void + GenericClassInstance() cil managed + { + // Code size 150 (0x96) + .maxstack 5 + IL_0000: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0005: ldtoken method instance void class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/GenericClass`1::.ctor() + IL_000a: ldtoken class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/GenericClass`1 + IL_000f: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle, + valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0014: castclass [mscorlib]System.Reflection.ConstructorInfo + IL_0019: ldc.i4.0 + IL_001a: newarr [System.Core]System.Linq.Expressions.Expression + IL_001f: call class [System.Core]System.Linq.Expressions.NewExpression [System.Core]System.Linq.Expressions.Expression::New(class [mscorlib]System.Reflection.ConstructorInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_0024: ldtoken field !0 class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/GenericClass`1::InstanceField + IL_0029: ldtoken class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/GenericClass`1 + IL_002e: call class [mscorlib]System.Reflection.FieldInfo [mscorlib]System.Reflection.FieldInfo::GetFieldFromHandle(valuetype [mscorlib]System.RuntimeFieldHandle, + valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0033: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Field(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.FieldInfo) + IL_0038: ldtoken [mscorlib]System.Double + IL_003d: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0042: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_0047: ldtoken method instance void class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/GenericClass`1::.ctor() + IL_004c: ldtoken class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/GenericClass`1 + IL_0051: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle, + valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0056: castclass [mscorlib]System.Reflection.ConstructorInfo + IL_005b: ldc.i4.0 + IL_005c: newarr [System.Core]System.Linq.Expressions.Expression + IL_0061: call class [System.Core]System.Linq.Expressions.NewExpression [System.Core]System.Linq.Expressions.Expression::New(class [mscorlib]System.Reflection.ConstructorInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_0066: ldtoken method instance !0 class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/GenericClass`1::get_InstanceProperty() + IL_006b: ldtoken class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/GenericClass`1 + IL_0070: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle, + valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0075: castclass [mscorlib]System.Reflection.MethodInfo + IL_007a: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Property(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo) + IL_007f: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Add(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0084: ldc.i4.0 + IL_0085: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_008a: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_008f: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0094: pop + IL_0095: ret + } // end of method ExpressionTrees::GenericClassInstance + + .method public hidebysig instance void + GenericClassStatic() cil managed + { + // Code size 90 (0x5a) + .maxstack 5 + IL_0000: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0005: ldnull + IL_0006: ldtoken field !0 class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/GenericClass`1::StaticField + IL_000b: ldtoken class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/GenericClass`1 + IL_0010: call class [mscorlib]System.Reflection.FieldInfo [mscorlib]System.Reflection.FieldInfo::GetFieldFromHandle(valuetype [mscorlib]System.RuntimeFieldHandle, + valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0015: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Field(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.FieldInfo) + IL_001a: ldtoken [mscorlib]System.Double + IL_001f: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0024: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_0029: ldnull + IL_002a: ldtoken method !0 class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/GenericClass`1::get_StaticProperty() + IL_002f: ldtoken class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/GenericClass`1 + IL_0034: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle, + valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0039: castclass [mscorlib]System.Reflection.MethodInfo + IL_003e: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Property(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo) + IL_0043: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Add(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0048: ldc.i4.0 + IL_0049: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_004e: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0053: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0058: pop + IL_0059: ret + } // end of method ExpressionTrees::GenericClassStatic + + .method public hidebysig instance void + InvokeGenericMethod() cil managed + { + // Code size 55 (0x37) + .maxstack 8 + IL_0000: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0005: ldnull + IL_0006: ldtoken method bool class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/GenericClass`1::GenericMethod() + IL_000b: ldtoken class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/GenericClass`1 + IL_0010: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle, + valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0015: castclass [mscorlib]System.Reflection.MethodInfo + IL_001a: ldc.i4.0 + IL_001b: newarr [System.Core]System.Linq.Expressions.Expression + IL_0020: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_0025: ldc.i4.0 + IL_0026: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_002b: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0030: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0035: pop + IL_0036: ret + } // end of method ExpressionTrees::InvokeGenericMethod + + .method private hidebysig static void Test(!!T delegateExpression, + class [System.Core]System.Linq.Expressions.Expression`1 expressionTree) cil managed + { + // Code size 1 (0x1) + .maxstack 8 + IL_0000: ret + } // end of method ExpressionTrees::Test + + .method public hidebysig static void ArrayIndexer() cil managed + { + // Code size 645 (0x285) + .maxstack 6 + .locals init (class [System.Core]System.Linq.Expressions.ParameterExpression V_0, + class [System.Core]System.Linq.Expressions.ParameterExpression[] V_1, + class [System.Core]System.Linq.Expressions.ParameterExpression V_2, + class [System.Core]System.Linq.Expressions.ParameterExpression V_3, + class [System.Core]System.Linq.Expressions.ParameterExpression[] V_4, + class [System.Core]System.Linq.Expressions.ParameterExpression V_5, + class [System.Core]System.Linq.Expressions.Expression[] V_6, + class [System.Core]System.Linq.Expressions.ParameterExpression[] V_7, + class [System.Core]System.Linq.Expressions.ParameterExpression V_8, + class [System.Core]System.Linq.Expressions.ParameterExpression V_9, + class [System.Core]System.Linq.Expressions.Expression[] V_10, + class [System.Core]System.Linq.Expressions.ParameterExpression[] V_11, + class [System.Core]System.Linq.Expressions.ParameterExpression V_12, + class [System.Core]System.Linq.Expressions.ParameterExpression V_13, + class [System.Core]System.Linq.Expressions.ParameterExpression[] V_14) + IL_0000: ldsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate22' + IL_0005: brtrue.s IL_0018 + + IL_0007: ldnull + IL_0008: ldftn int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'b__1d'(int32[]) + IL_000e: newobj instance void class [mscorlib]System.Func`2::.ctor(object, + native int) + IL_0013: stsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate22' + IL_0018: ldsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate22' + IL_001d: ldtoken int32[] + IL_0022: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0027: ldstr "array" + IL_002c: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0031: stloc.0 + IL_0032: ldloc.0 + IL_0033: ldc.i4.0 + IL_0034: box [mscorlib]System.Int32 + IL_0039: ldtoken [mscorlib]System.Int32 + IL_003e: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0043: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0048: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::ArrayIndex(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_004d: ldc.i4.1 + IL_004e: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0053: stloc.1 + IL_0054: ldloc.1 + IL_0055: ldc.i4.0 + IL_0056: ldloc.0 + IL_0057: stelem.ref + IL_0058: ldloc.1 + IL_0059: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_005e: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_0063: ldsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate23' + IL_0068: brtrue.s IL_007b + + IL_006a: ldnull + IL_006b: ldftn int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'b__1e'(int32[], + int32) + IL_0071: newobj instance void class [mscorlib]System.Func`3::.ctor(object, + native int) + IL_0076: stsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate23' + IL_007b: ldsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate23' + IL_0080: ldtoken int32[] + IL_0085: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_008a: ldstr "array" + IL_008f: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0094: stloc.2 + IL_0095: ldtoken [mscorlib]System.Int32 + IL_009a: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_009f: ldstr "index" + IL_00a4: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_00a9: stloc.3 + IL_00aa: ldloc.2 + IL_00ab: ldloc.3 + IL_00ac: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::ArrayIndex(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_00b1: ldc.i4.2 + IL_00b2: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_00b7: stloc.s V_4 + IL_00b9: ldloc.s V_4 + IL_00bb: ldc.i4.0 + IL_00bc: ldloc.2 + IL_00bd: stelem.ref + IL_00be: ldloc.s V_4 + IL_00c0: ldc.i4.1 + IL_00c1: ldloc.3 + IL_00c2: stelem.ref + IL_00c3: ldloc.s V_4 + IL_00c5: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_00ca: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_00cf: ldsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate24' + IL_00d4: brtrue.s IL_00e7 + + IL_00d6: ldnull + IL_00d7: ldftn int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'b__1f'(int32[0...,0...]) + IL_00dd: newobj instance void class [mscorlib]System.Func`2::.ctor(object, + native int) + IL_00e2: stsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate24' + IL_00e7: ldsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate24' + IL_00ec: ldtoken int32[0...,0...] + IL_00f1: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00f6: ldstr "array" + IL_00fb: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0100: stloc.s V_5 + IL_0102: ldloc.s V_5 + IL_0104: ldc.i4.2 + IL_0105: newarr [System.Core]System.Linq.Expressions.Expression + IL_010a: stloc.s V_6 + IL_010c: ldloc.s V_6 + IL_010e: ldc.i4.0 + IL_010f: ldc.i4.0 + IL_0110: box [mscorlib]System.Int32 + IL_0115: ldtoken [mscorlib]System.Int32 + IL_011a: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_011f: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0124: stelem.ref + IL_0125: ldloc.s V_6 + IL_0127: ldc.i4.1 + IL_0128: ldc.i4.5 + IL_0129: box [mscorlib]System.Int32 + IL_012e: ldtoken [mscorlib]System.Int32 + IL_0133: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0138: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_013d: stelem.ref + IL_013e: ldloc.s V_6 + IL_0140: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::ArrayIndex(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_0145: ldc.i4.1 + IL_0146: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_014b: stloc.s V_7 + IL_014d: ldloc.s V_7 + IL_014f: ldc.i4.0 + IL_0150: ldloc.s V_5 + IL_0152: stelem.ref + IL_0153: ldloc.s V_7 + IL_0155: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_015a: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_015f: ldsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate25' + IL_0164: brtrue.s IL_0177 + + IL_0166: ldnull + IL_0167: ldftn int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'b__20'(int32[0...,0...], + int32) + IL_016d: newobj instance void class [mscorlib]System.Func`3::.ctor(object, + native int) + IL_0172: stsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate25' + IL_0177: ldsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate25' + IL_017c: ldtoken int32[0...,0...] + IL_0181: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0186: ldstr "array" + IL_018b: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0190: stloc.s V_8 + IL_0192: ldtoken [mscorlib]System.Int32 + IL_0197: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_019c: ldstr "index" + IL_01a1: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_01a6: stloc.s V_9 + IL_01a8: ldloc.s V_8 + IL_01aa: ldc.i4.2 + IL_01ab: newarr [System.Core]System.Linq.Expressions.Expression + IL_01b0: stloc.s V_10 + IL_01b2: ldloc.s V_10 + IL_01b4: ldc.i4.0 + IL_01b5: ldloc.s V_9 + IL_01b7: stelem.ref + IL_01b8: ldloc.s V_10 + IL_01ba: ldc.i4.1 + IL_01bb: ldc.i4.7 + IL_01bc: box [mscorlib]System.Int32 + IL_01c1: ldtoken [mscorlib]System.Int32 + IL_01c6: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_01cb: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_01d0: stelem.ref + IL_01d1: ldloc.s V_10 + IL_01d3: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::ArrayIndex(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_01d8: ldc.i4.2 + IL_01d9: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_01de: stloc.s V_11 + IL_01e0: ldloc.s V_11 + IL_01e2: ldc.i4.0 + IL_01e3: ldloc.s V_8 + IL_01e5: stelem.ref + IL_01e6: ldloc.s V_11 + IL_01e8: ldc.i4.1 + IL_01e9: ldloc.s V_9 + IL_01eb: stelem.ref + IL_01ec: ldloc.s V_11 + IL_01ee: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_01f3: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_01f8: ldsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate26' + IL_01fd: brtrue.s IL_0210 + + IL_01ff: ldnull + IL_0200: ldftn int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'b__21'(int32[][], + int32) + IL_0206: newobj instance void class [mscorlib]System.Func`3::.ctor(object, + native int) + IL_020b: stsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate26' + IL_0210: ldsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate26' + IL_0215: ldtoken int32[][] + IL_021a: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_021f: ldstr "array" + IL_0224: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0229: stloc.s V_12 + IL_022b: ldtoken [mscorlib]System.Int32 + IL_0230: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0235: ldstr "index" + IL_023a: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_023f: stloc.s V_13 + IL_0241: ldloc.s V_12 + IL_0243: ldloc.s V_13 + IL_0245: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::ArrayIndex(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_024a: ldc.i4.7 + IL_024b: box [mscorlib]System.Int32 + IL_0250: ldtoken [mscorlib]System.Int32 + IL_0255: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_025a: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_025f: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::ArrayIndex(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0264: ldc.i4.2 + IL_0265: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_026a: stloc.s V_14 + IL_026c: ldloc.s V_14 + IL_026e: ldc.i4.0 + IL_026f: ldloc.s V_12 + IL_0271: stelem.ref + IL_0272: ldloc.s V_14 + IL_0274: ldc.i4.1 + IL_0275: ldloc.s V_13 + IL_0277: stelem.ref + IL_0278: ldloc.s V_14 + IL_027a: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_027f: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_0284: ret + } // end of method ExpressionTrees::ArrayIndexer + + .method public hidebysig static void ArrayLength() cil managed + { + // Code size 165 (0xa5) + .maxstack 5 + .locals init (class [System.Core]System.Linq.Expressions.ParameterExpression V_0, + class [System.Core]System.Linq.Expressions.ParameterExpression[] V_1) + IL_0000: ldsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate29' + IL_0005: brtrue.s IL_0018 + + IL_0007: ldnull + IL_0008: ldftn int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'b__27'(int32[]) + IL_000e: newobj instance void class [mscorlib]System.Func`2::.ctor(object, + native int) + IL_0013: stsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate29' + IL_0018: ldsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate29' + IL_001d: ldtoken int32[] + IL_0022: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0027: ldstr "array" + IL_002c: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0031: stloc.0 + IL_0032: ldloc.0 + IL_0033: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::ArrayLength(class [System.Core]System.Linq.Expressions.Expression) + IL_0038: ldc.i4.1 + IL_0039: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_003e: stloc.1 + IL_003f: ldloc.1 + IL_0040: ldc.i4.0 + IL_0041: ldloc.0 + IL_0042: stelem.ref + IL_0043: ldloc.1 + IL_0044: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0049: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_004e: ldsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate2a' + IL_0053: brtrue.s IL_0066 + + IL_0055: ldnull + IL_0056: ldftn int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'b__28'() + IL_005c: newobj instance void class [mscorlib]System.Func`1::.ctor(object, + native int) + IL_0061: stsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate2a' + IL_0066: ldsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate2a' + IL_006b: ldnull + IL_006c: box [mscorlib]System.Array + IL_0071: ldtoken [mscorlib]System.Array + IL_0076: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_007b: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0080: ldtoken method instance int32 [mscorlib]System.Array::get_Length() + IL_0085: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_008a: castclass [mscorlib]System.Reflection.MethodInfo + IL_008f: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Property(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo) + IL_0094: ldc.i4.0 + IL_0095: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_009a: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_009f: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_00a4: ret + } // end of method ExpressionTrees::ArrayLength + + .method public hidebysig static void NewObj() cil managed + { + // Code size 591 (0x24f) + .maxstack 6 + .locals init (class [System.Core]System.Linq.Expressions.Expression[] V_0, + class [System.Core]System.Linq.Expressions.Expression[] V_1, + class [System.Core]System.Linq.Expressions.Expression[] V_2) + IL_0000: ldsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate32' + IL_0005: brtrue.s IL_0018 + + IL_0007: ldnull + IL_0008: ldftn object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'b__2b'() + IL_000e: newobj instance void class [mscorlib]System.Func`1::.ctor(object, + native int) + IL_0013: stsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate32' + IL_0018: ldsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate32' + IL_001d: ldtoken method instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.SimpleType::.ctor() + IL_0022: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0027: castclass [mscorlib]System.Reflection.ConstructorInfo + IL_002c: ldc.i4.0 + IL_002d: newarr [System.Core]System.Linq.Expressions.Expression + IL_0032: call class [System.Core]System.Linq.Expressions.NewExpression [System.Core]System.Linq.Expressions.Expression::New(class [mscorlib]System.Reflection.ConstructorInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_0037: ldc.i4.0 + IL_0038: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_003d: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0042: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_0047: ldsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate33' + IL_004c: brtrue.s IL_005f + + IL_004e: ldnull + IL_004f: ldftn object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'b__2c'() + IL_0055: newobj instance void class [mscorlib]System.Func`1::.ctor(object, + native int) + IL_005a: stsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate33' + IL_005f: ldsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate33' + IL_0064: ldtoken method instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.SimpleTypeWithCtor::.ctor(int32) + IL_0069: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_006e: castclass [mscorlib]System.Reflection.ConstructorInfo + IL_0073: ldc.i4.1 + IL_0074: newarr [System.Core]System.Linq.Expressions.Expression + IL_0079: stloc.0 + IL_007a: ldloc.0 + IL_007b: ldc.i4.0 + IL_007c: ldc.i4.5 + IL_007d: box [mscorlib]System.Int32 + IL_0082: ldtoken [mscorlib]System.Int32 + IL_0087: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_008c: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0091: stelem.ref + IL_0092: ldloc.0 + IL_0093: call class [System.Core]System.Linq.Expressions.NewExpression [System.Core]System.Linq.Expressions.Expression::New(class [mscorlib]System.Reflection.ConstructorInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_0098: ldc.i4.0 + IL_0099: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_009e: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_00a3: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_00a8: ldsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate34' + IL_00ad: brtrue.s IL_00c0 + + IL_00af: ldnull + IL_00b0: ldftn object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'b__2d'() + IL_00b6: newobj instance void class [mscorlib]System.Func`1::.ctor(object, + native int) + IL_00bb: stsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate34' + IL_00c0: ldsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate34' + IL_00c5: ldtoken method instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.SimpleTypeWithMultipleCtors::.ctor() + IL_00ca: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_00cf: castclass [mscorlib]System.Reflection.ConstructorInfo + IL_00d4: ldc.i4.0 + IL_00d5: newarr [System.Core]System.Linq.Expressions.Expression + IL_00da: call class [System.Core]System.Linq.Expressions.NewExpression [System.Core]System.Linq.Expressions.Expression::New(class [mscorlib]System.Reflection.ConstructorInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_00df: ldc.i4.0 + IL_00e0: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_00e5: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_00ea: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_00ef: ldsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate35' + IL_00f4: brtrue.s IL_0107 + + IL_00f6: ldnull + IL_00f7: ldftn object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'b__2e'() + IL_00fd: newobj instance void class [mscorlib]System.Func`1::.ctor(object, + native int) + IL_0102: stsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate35' + IL_0107: ldsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate35' + IL_010c: ldtoken method instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.SimpleTypeWithMultipleCtors::.ctor(int32) + IL_0111: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0116: castclass [mscorlib]System.Reflection.ConstructorInfo + IL_011b: ldc.i4.1 + IL_011c: newarr [System.Core]System.Linq.Expressions.Expression + IL_0121: stloc.1 + IL_0122: ldloc.1 + IL_0123: ldc.i4.0 + IL_0124: ldc.i4.5 + IL_0125: box [mscorlib]System.Int32 + IL_012a: ldtoken [mscorlib]System.Int32 + IL_012f: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0134: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0139: stelem.ref + IL_013a: ldloc.1 + IL_013b: call class [System.Core]System.Linq.Expressions.NewExpression [System.Core]System.Linq.Expressions.Expression::New(class [mscorlib]System.Reflection.ConstructorInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_0140: ldc.i4.0 + IL_0141: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0146: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_014b: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_0150: ldsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate36' + IL_0155: brtrue.s IL_0168 + + IL_0157: ldnull + IL_0158: ldftn object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'b__2f'() + IL_015e: newobj instance void class [mscorlib]System.Func`1::.ctor(object, + native int) + IL_0163: stsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate36' + IL_0168: ldsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate36' + IL_016d: ldtoken method instance void class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/GenericClass`1::.ctor() + IL_0172: ldtoken class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/GenericClass`1 + IL_0177: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle, + valuetype [mscorlib]System.RuntimeTypeHandle) + IL_017c: castclass [mscorlib]System.Reflection.ConstructorInfo + IL_0181: ldc.i4.0 + IL_0182: newarr [System.Core]System.Linq.Expressions.Expression + IL_0187: call class [System.Core]System.Linq.Expressions.NewExpression [System.Core]System.Linq.Expressions.Expression::New(class [mscorlib]System.Reflection.ConstructorInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_018c: ldc.i4.0 + IL_018d: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0192: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0197: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_019c: ldsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate37' + IL_01a1: brtrue.s IL_01b4 + + IL_01a3: ldnull + IL_01a4: ldftn object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'b__30'() + IL_01aa: newobj instance void class [mscorlib]System.Func`1::.ctor(object, + native int) + IL_01af: stsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate37' + IL_01b4: ldsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate37' + IL_01b9: ldtoken method instance void class ICSharpCode.Decompiler.Tests.TestCases.Pretty.GenericClassWithCtor`1::.ctor() + IL_01be: ldtoken class ICSharpCode.Decompiler.Tests.TestCases.Pretty.GenericClassWithCtor`1 + IL_01c3: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle, + valuetype [mscorlib]System.RuntimeTypeHandle) + IL_01c8: castclass [mscorlib]System.Reflection.ConstructorInfo + IL_01cd: ldc.i4.0 + IL_01ce: newarr [System.Core]System.Linq.Expressions.Expression + IL_01d3: call class [System.Core]System.Linq.Expressions.NewExpression [System.Core]System.Linq.Expressions.Expression::New(class [mscorlib]System.Reflection.ConstructorInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_01d8: ldc.i4.0 + IL_01d9: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_01de: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_01e3: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_01e8: ldsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate38' + IL_01ed: brtrue.s IL_0200 + + IL_01ef: ldnull + IL_01f0: ldftn object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'b__31'() + IL_01f6: newobj instance void class [mscorlib]System.Func`1::.ctor(object, + native int) + IL_01fb: stsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate38' + IL_0200: ldsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate38' + IL_0205: ldtoken method instance void class ICSharpCode.Decompiler.Tests.TestCases.Pretty.GenericClassWithMultipleCtors`1::.ctor(int32) + IL_020a: ldtoken class ICSharpCode.Decompiler.Tests.TestCases.Pretty.GenericClassWithMultipleCtors`1 + IL_020f: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle, + valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0214: castclass [mscorlib]System.Reflection.ConstructorInfo + IL_0219: ldc.i4.1 + IL_021a: newarr [System.Core]System.Linq.Expressions.Expression + IL_021f: stloc.2 + IL_0220: ldloc.2 + IL_0221: ldc.i4.0 + IL_0222: ldc.i4.5 + IL_0223: box [mscorlib]System.Int32 + IL_0228: ldtoken [mscorlib]System.Int32 + IL_022d: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0232: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0237: stelem.ref + IL_0238: ldloc.2 + IL_0239: call class [System.Core]System.Linq.Expressions.NewExpression [System.Core]System.Linq.Expressions.Expression::New(class [mscorlib]System.Reflection.ConstructorInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_023e: ldc.i4.0 + IL_023f: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0244: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0249: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_024e: ret + } // end of method ExpressionTrees::NewObj + + .method public hidebysig static void TypeOfExpr() cil managed + { + // Code size 376 (0x178) + .maxstack 3 + IL_0000: ldsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate3e' + IL_0005: brtrue.s IL_0018 + + IL_0007: ldnull + IL_0008: ldftn class [mscorlib]System.Type ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'b__39'() + IL_000e: newobj instance void class [mscorlib]System.Func`1::.ctor(object, + native int) + IL_0013: stsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate3e' + IL_0018: ldsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate3e' + IL_001d: ldtoken [mscorlib]System.Int32 + IL_0022: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0027: box [mscorlib]System.Type + IL_002c: ldtoken [mscorlib]System.Type + IL_0031: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0036: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_003b: ldc.i4.0 + IL_003c: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0041: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0046: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_004b: ldsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate3f' + IL_0050: brtrue.s IL_0063 + + IL_0052: ldnull + IL_0053: ldftn class [mscorlib]System.Type ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'b__3a'() + IL_0059: newobj instance void class [mscorlib]System.Func`1::.ctor(object, + native int) + IL_005e: stsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate3f' + IL_0063: ldsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate3f' + IL_0068: ldtoken [mscorlib]System.Object + IL_006d: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0072: box [mscorlib]System.Type + IL_0077: ldtoken [mscorlib]System.Type + IL_007c: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0081: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0086: ldc.i4.0 + IL_0087: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_008c: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0091: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_0096: ldsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate40' + IL_009b: brtrue.s IL_00ae + + IL_009d: ldnull + IL_009e: ldftn class [mscorlib]System.Type ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'b__3b'() + IL_00a4: newobj instance void class [mscorlib]System.Func`1::.ctor(object, + native int) + IL_00a9: stsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate40' + IL_00ae: ldsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate40' + IL_00b3: ldtoken [mscorlib]System.Collections.Generic.List`1 + IL_00b8: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00bd: box [mscorlib]System.Type + IL_00c2: ldtoken [mscorlib]System.Type + IL_00c7: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00cc: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_00d1: ldc.i4.0 + IL_00d2: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_00d7: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_00dc: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_00e1: ldsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate41' + IL_00e6: brtrue.s IL_00f9 + + IL_00e8: ldnull + IL_00e9: ldftn class [mscorlib]System.Type ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'b__3c'() + IL_00ef: newobj instance void class [mscorlib]System.Func`1::.ctor(object, + native int) + IL_00f4: stsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate41' + IL_00f9: ldsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate41' + IL_00fe: ldtoken class [mscorlib]System.Collections.Generic.List`1 + IL_0103: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0108: box [mscorlib]System.Type + IL_010d: ldtoken [mscorlib]System.Type + IL_0112: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0117: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_011c: ldc.i4.0 + IL_011d: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0122: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0127: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_012c: ldsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate42' + IL_0131: brtrue.s IL_0144 + + IL_0133: ldnull + IL_0134: ldftn class [mscorlib]System.Type ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'b__3d'() + IL_013a: newobj instance void class [mscorlib]System.Func`1::.ctor(object, + native int) + IL_013f: stsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate42' + IL_0144: ldsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate42' + IL_0149: ldtoken int32* + IL_014e: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0153: box [mscorlib]System.Type + IL_0158: ldtoken [mscorlib]System.Type + IL_015d: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0162: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0167: ldc.i4.0 + IL_0168: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_016d: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0172: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_0177: ret + } // end of method ExpressionTrees::TypeOfExpr + + .method public hidebysig static void AsTypeExpr() cil managed + { + // Code size 177 (0xb1) + .maxstack 5 + .locals init (class [System.Core]System.Linq.Expressions.ParameterExpression V_0, + class [System.Core]System.Linq.Expressions.ParameterExpression[] V_1, + class [System.Core]System.Linq.Expressions.ParameterExpression V_2, + class [System.Core]System.Linq.Expressions.ParameterExpression[] V_3) + IL_0000: ldsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate45' + IL_0005: brtrue.s IL_0018 + + IL_0007: ldnull + IL_0008: ldftn class ICSharpCode.Decompiler.Tests.TestCases.Pretty.MyClass ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'b__43'(object) + IL_000e: newobj instance void class [mscorlib]System.Func`2::.ctor(object, + native int) + IL_0013: stsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate45' + IL_0018: ldsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate45' + IL_001d: ldtoken [mscorlib]System.Object + IL_0022: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0027: ldstr "obj" + IL_002c: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0031: stloc.0 + IL_0032: ldloc.0 + IL_0033: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.MyClass + IL_0038: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_003d: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::TypeAs(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_0042: ldc.i4.1 + IL_0043: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0048: stloc.1 + IL_0049: ldloc.1 + IL_004a: ldc.i4.0 + IL_004b: ldloc.0 + IL_004c: stelem.ref + IL_004d: ldloc.1 + IL_004e: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0053: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_0058: ldsfld class [mscorlib]System.Func`2> ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate46' + IL_005d: brtrue.s IL_0070 + + IL_005f: ldnull + IL_0060: ldftn class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/GenericClass`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'b__44'(object) + IL_0066: newobj instance void class [mscorlib]System.Func`2>::.ctor(object, + native int) + IL_006b: stsfld class [mscorlib]System.Func`2> ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate46' + IL_0070: ldsfld class [mscorlib]System.Func`2> ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate46' + IL_0075: ldtoken [mscorlib]System.Object + IL_007a: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_007f: ldstr "obj" + IL_0084: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0089: stloc.2 + IL_008a: ldloc.2 + IL_008b: ldtoken class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/GenericClass`1 + IL_0090: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0095: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::TypeAs(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_009a: ldc.i4.1 + IL_009b: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_00a0: stloc.3 + IL_00a1: ldloc.3 + IL_00a2: ldc.i4.0 + IL_00a3: ldloc.2 + IL_00a4: stelem.ref + IL_00a5: ldloc.3 + IL_00a6: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_00ab: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_00b0: ret + } // end of method ExpressionTrees::AsTypeExpr + + .method public hidebysig static void IsTypeExpr() cil managed + { + // Code size 89 (0x59) + .maxstack 5 + .locals init (class [System.Core]System.Linq.Expressions.ParameterExpression V_0, + class [System.Core]System.Linq.Expressions.ParameterExpression[] V_1) + IL_0000: ldsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate48' + IL_0005: brtrue.s IL_0018 + + IL_0007: ldnull + IL_0008: ldftn bool ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'b__47'(object) + IL_000e: newobj instance void class [mscorlib]System.Func`2::.ctor(object, + native int) + IL_0013: stsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate48' + IL_0018: ldsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate48' + IL_001d: ldtoken [mscorlib]System.Object + IL_0022: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0027: ldstr "obj" + IL_002c: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0031: stloc.0 + IL_0032: ldloc.0 + IL_0033: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.MyClass + IL_0038: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_003d: call class [System.Core]System.Linq.Expressions.TypeBinaryExpression [System.Core]System.Linq.Expressions.Expression::TypeIs(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_0042: ldc.i4.1 + IL_0043: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0048: stloc.1 + IL_0049: ldloc.1 + IL_004a: ldc.i4.0 + IL_004b: ldloc.0 + IL_004c: stelem.ref + IL_004d: ldloc.1 + IL_004e: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0053: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_0058: ret + } // end of method ExpressionTrees::IsTypeExpr + + .method public hidebysig static void UnaryLogicalOperators() cil managed + { + // Code size 79 (0x4f) + .maxstack 5 + .locals init (class [System.Core]System.Linq.Expressions.ParameterExpression V_0, + class [System.Core]System.Linq.Expressions.ParameterExpression[] V_1) + IL_0000: ldsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate4a' + IL_0005: brtrue.s IL_0018 + + IL_0007: ldnull + IL_0008: ldftn bool ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'b__49'(bool) + IL_000e: newobj instance void class [mscorlib]System.Func`2::.ctor(object, + native int) + IL_0013: stsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate4a' + IL_0018: ldsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate4a' + IL_001d: ldtoken [mscorlib]System.Boolean + IL_0022: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0027: ldstr "a" + IL_002c: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0031: stloc.0 + IL_0032: ldloc.0 + IL_0033: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Not(class [System.Core]System.Linq.Expressions.Expression) + IL_0038: ldc.i4.1 + IL_0039: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_003e: stloc.1 + IL_003f: ldloc.1 + IL_0040: ldc.i4.0 + IL_0041: ldloc.0 + IL_0042: stelem.ref + IL_0043: ldloc.1 + IL_0044: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0049: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_004e: ret + } // end of method ExpressionTrees::UnaryLogicalOperators + + .method public hidebysig static void ConditionalOperator() cil managed + { + // Code size 172 (0xac) + .maxstack 5 + .locals init (class [System.Core]System.Linq.Expressions.ParameterExpression V_0, + class [System.Core]System.Linq.Expressions.ParameterExpression[] V_1, + class [System.Core]System.Linq.Expressions.ParameterExpression V_2, + class [System.Core]System.Linq.Expressions.ParameterExpression[] V_3) + IL_0000: ldnull + IL_0001: ldtoken [mscorlib]System.Boolean + IL_0006: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_000b: ldstr "a" + IL_0010: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0015: stloc.0 + IL_0016: ldloc.0 + IL_0017: ldc.i4.5 + IL_0018: box [mscorlib]System.Int32 + IL_001d: ldtoken [mscorlib]System.Int32 + IL_0022: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0027: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_002c: ldc.i4.s 10 + IL_002e: box [mscorlib]System.Int32 + IL_0033: ldtoken [mscorlib]System.Int32 + IL_0038: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_003d: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0042: call class [System.Core]System.Linq.Expressions.ConditionalExpression [System.Core]System.Linq.Expressions.Expression::Condition(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0047: ldc.i4.1 + IL_0048: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_004d: stloc.1 + IL_004e: ldloc.1 + IL_004f: ldc.i4.0 + IL_0050: ldloc.0 + IL_0051: stelem.ref + IL_0052: ldloc.1 + IL_0053: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0058: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_005d: pop + IL_005e: ldnull + IL_005f: ldtoken [mscorlib]System.Object + IL_0064: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0069: ldstr "a" + IL_006e: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0073: stloc.2 + IL_0074: ldloc.2 + IL_0075: ldtoken method instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.MyClass::.ctor() + IL_007a: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_007f: castclass [mscorlib]System.Reflection.ConstructorInfo + IL_0084: ldc.i4.0 + IL_0085: newarr [System.Core]System.Linq.Expressions.Expression + IL_008a: call class [System.Core]System.Linq.Expressions.NewExpression [System.Core]System.Linq.Expressions.Expression::New(class [mscorlib]System.Reflection.ConstructorInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_008f: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Coalesce(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0094: ldc.i4.1 + IL_0095: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_009a: stloc.3 + IL_009b: ldloc.3 + IL_009c: ldc.i4.0 + IL_009d: ldloc.2 + IL_009e: stelem.ref + IL_009f: ldloc.3 + IL_00a0: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_00a5: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_00aa: pop + IL_00ab: ret + } // end of method ExpressionTrees::ConditionalOperator + + .method public hidebysig static void BinaryLogicalOperators() cil managed + { + // Code size 1795 (0x703) + .maxstack 5 + .locals init (class [System.Core]System.Linq.Expressions.ParameterExpression V_0, + class [System.Core]System.Linq.Expressions.ParameterExpression V_1, + class [System.Core]System.Linq.Expressions.ParameterExpression[] V_2, + class [System.Core]System.Linq.Expressions.ParameterExpression V_3, + class [System.Core]System.Linq.Expressions.ParameterExpression V_4, + class [System.Core]System.Linq.Expressions.ParameterExpression[] V_5, + class [System.Core]System.Linq.Expressions.ParameterExpression V_6, + class [System.Core]System.Linq.Expressions.ParameterExpression V_7, + class [System.Core]System.Linq.Expressions.ParameterExpression[] V_8, + class [System.Core]System.Linq.Expressions.ParameterExpression V_9, + class [System.Core]System.Linq.Expressions.ParameterExpression V_10, + class [System.Core]System.Linq.Expressions.ParameterExpression[] V_11, + class [System.Core]System.Linq.Expressions.ParameterExpression V_12, + class [System.Core]System.Linq.Expressions.ParameterExpression V_13, + class [System.Core]System.Linq.Expressions.ParameterExpression[] V_14, + class [System.Core]System.Linq.Expressions.ParameterExpression V_15, + class [System.Core]System.Linq.Expressions.ParameterExpression V_16, + class [System.Core]System.Linq.Expressions.ParameterExpression[] V_17, + class [System.Core]System.Linq.Expressions.ParameterExpression V_18, + class [System.Core]System.Linq.Expressions.ParameterExpression V_19, + class [System.Core]System.Linq.Expressions.ParameterExpression[] V_20, + class [System.Core]System.Linq.Expressions.ParameterExpression V_21, + class [System.Core]System.Linq.Expressions.ParameterExpression V_22, + class [System.Core]System.Linq.Expressions.ParameterExpression[] V_23, + class [System.Core]System.Linq.Expressions.ParameterExpression V_24, + class [System.Core]System.Linq.Expressions.ParameterExpression V_25, + class [System.Core]System.Linq.Expressions.ParameterExpression[] V_26, + class [System.Core]System.Linq.Expressions.ParameterExpression V_27, + class [System.Core]System.Linq.Expressions.ParameterExpression V_28, + class [System.Core]System.Linq.Expressions.ParameterExpression[] V_29, + class [System.Core]System.Linq.Expressions.ParameterExpression V_30, + class [System.Core]System.Linq.Expressions.ParameterExpression V_31, + class [System.Core]System.Linq.Expressions.ParameterExpression[] V_32, + class [System.Core]System.Linq.Expressions.ParameterExpression V_33, + class [System.Core]System.Linq.Expressions.ParameterExpression V_34, + class [System.Core]System.Linq.Expressions.ParameterExpression[] V_35, + class [System.Core]System.Linq.Expressions.ParameterExpression V_36, + class [System.Core]System.Linq.Expressions.ParameterExpression V_37, + class [System.Core]System.Linq.Expressions.ParameterExpression[] V_38, + class [System.Core]System.Linq.Expressions.ParameterExpression V_39, + class [System.Core]System.Linq.Expressions.ParameterExpression V_40, + class [System.Core]System.Linq.Expressions.ParameterExpression[] V_41, + class [System.Core]System.Linq.Expressions.ParameterExpression V_42, + class [System.Core]System.Linq.Expressions.ParameterExpression V_43, + class [System.Core]System.Linq.Expressions.ParameterExpression[] V_44, + class [System.Core]System.Linq.Expressions.ParameterExpression V_45, + class [System.Core]System.Linq.Expressions.ParameterExpression V_46, + class [System.Core]System.Linq.Expressions.ParameterExpression[] V_47, + class [System.Core]System.Linq.Expressions.ParameterExpression V_48, + class [System.Core]System.Linq.Expressions.ParameterExpression V_49, + class [System.Core]System.Linq.Expressions.ParameterExpression[] V_50) + IL_0000: ldnull + IL_0001: ldtoken [mscorlib]System.Int32 + IL_0006: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_000b: ldstr "a" + IL_0010: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0015: stloc.0 + IL_0016: ldtoken [mscorlib]System.Int32 + IL_001b: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0020: ldstr "b" + IL_0025: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_002a: stloc.1 + IL_002b: ldloc.0 + IL_002c: ldloc.1 + IL_002d: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Equal(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0032: ldc.i4.2 + IL_0033: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0038: stloc.2 + IL_0039: ldloc.2 + IL_003a: ldc.i4.0 + IL_003b: ldloc.0 + IL_003c: stelem.ref + IL_003d: ldloc.2 + IL_003e: ldc.i4.1 + IL_003f: ldloc.1 + IL_0040: stelem.ref + IL_0041: ldloc.2 + IL_0042: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0047: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_004c: pop + IL_004d: ldnull + IL_004e: ldtoken [mscorlib]System.Int32 + IL_0053: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0058: ldstr "a" + IL_005d: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0062: stloc.3 + IL_0063: ldtoken [mscorlib]System.Int32 + IL_0068: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_006d: ldstr "b" + IL_0072: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0077: stloc.s V_4 + IL_0079: ldloc.3 + IL_007a: ldloc.s V_4 + IL_007c: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::NotEqual(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0081: ldc.i4.2 + IL_0082: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0087: stloc.s V_5 + IL_0089: ldloc.s V_5 + IL_008b: ldc.i4.0 + IL_008c: ldloc.3 + IL_008d: stelem.ref + IL_008e: ldloc.s V_5 + IL_0090: ldc.i4.1 + IL_0091: ldloc.s V_4 + IL_0093: stelem.ref + IL_0094: ldloc.s V_5 + IL_0096: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_009b: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_00a0: pop + IL_00a1: ldnull + IL_00a2: ldtoken [mscorlib]System.Int32 + IL_00a7: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00ac: ldstr "a" + IL_00b1: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_00b6: stloc.s V_6 + IL_00b8: ldtoken [mscorlib]System.Int32 + IL_00bd: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00c2: ldstr "b" + IL_00c7: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_00cc: stloc.s V_7 + IL_00ce: ldloc.s V_6 + IL_00d0: ldloc.s V_7 + IL_00d2: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::LessThan(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_00d7: ldc.i4.2 + IL_00d8: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_00dd: stloc.s V_8 + IL_00df: ldloc.s V_8 + IL_00e1: ldc.i4.0 + IL_00e2: ldloc.s V_6 + IL_00e4: stelem.ref + IL_00e5: ldloc.s V_8 + IL_00e7: ldc.i4.1 + IL_00e8: ldloc.s V_7 + IL_00ea: stelem.ref + IL_00eb: ldloc.s V_8 + IL_00ed: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_00f2: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_00f7: pop + IL_00f8: ldnull + IL_00f9: ldtoken [mscorlib]System.Int32 + IL_00fe: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0103: ldstr "a" + IL_0108: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_010d: stloc.s V_9 + IL_010f: ldtoken [mscorlib]System.Int32 + IL_0114: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0119: ldstr "b" + IL_011e: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0123: stloc.s V_10 + IL_0125: ldloc.s V_9 + IL_0127: ldloc.s V_10 + IL_0129: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::LessThanOrEqual(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_012e: ldc.i4.2 + IL_012f: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0134: stloc.s V_11 + IL_0136: ldloc.s V_11 + IL_0138: ldc.i4.0 + IL_0139: ldloc.s V_9 + IL_013b: stelem.ref + IL_013c: ldloc.s V_11 + IL_013e: ldc.i4.1 + IL_013f: ldloc.s V_10 + IL_0141: stelem.ref + IL_0142: ldloc.s V_11 + IL_0144: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0149: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_014e: pop + IL_014f: ldnull + IL_0150: ldtoken [mscorlib]System.Int32 + IL_0155: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_015a: ldstr "a" + IL_015f: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0164: stloc.s V_12 + IL_0166: ldtoken [mscorlib]System.Int32 + IL_016b: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0170: ldstr "b" + IL_0175: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_017a: stloc.s V_13 + IL_017c: ldloc.s V_12 + IL_017e: ldloc.s V_13 + IL_0180: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::GreaterThan(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0185: ldc.i4.2 + IL_0186: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_018b: stloc.s V_14 + IL_018d: ldloc.s V_14 + IL_018f: ldc.i4.0 + IL_0190: ldloc.s V_12 + IL_0192: stelem.ref + IL_0193: ldloc.s V_14 + IL_0195: ldc.i4.1 + IL_0196: ldloc.s V_13 + IL_0198: stelem.ref + IL_0199: ldloc.s V_14 + IL_019b: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_01a0: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_01a5: pop + IL_01a6: ldnull + IL_01a7: ldtoken [mscorlib]System.Int32 + IL_01ac: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_01b1: ldstr "a" + IL_01b6: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_01bb: stloc.s V_15 + IL_01bd: ldtoken [mscorlib]System.Int32 + IL_01c2: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_01c7: ldstr "b" + IL_01cc: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_01d1: stloc.s V_16 + IL_01d3: ldloc.s V_15 + IL_01d5: ldloc.s V_16 + IL_01d7: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::GreaterThanOrEqual(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_01dc: ldc.i4.2 + IL_01dd: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_01e2: stloc.s V_17 + IL_01e4: ldloc.s V_17 + IL_01e6: ldc.i4.0 + IL_01e7: ldloc.s V_15 + IL_01e9: stelem.ref + IL_01ea: ldloc.s V_17 + IL_01ec: ldc.i4.1 + IL_01ed: ldloc.s V_16 + IL_01ef: stelem.ref + IL_01f0: ldloc.s V_17 + IL_01f2: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_01f7: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_01fc: pop + IL_01fd: ldnull + IL_01fe: ldtoken [mscorlib]System.Int32 + IL_0203: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0208: ldstr "a" + IL_020d: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0212: stloc.s V_18 + IL_0214: ldtoken [mscorlib]System.Int32 + IL_0219: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_021e: ldstr "b" + IL_0223: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0228: stloc.s V_19 + IL_022a: ldloc.s V_18 + IL_022c: ldc.i4.1 + IL_022d: box [mscorlib]System.Int32 + IL_0232: ldtoken [mscorlib]System.Int32 + IL_0237: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_023c: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0241: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Equal(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0246: ldloc.s V_19 + IL_0248: ldc.i4.2 + IL_0249: box [mscorlib]System.Int32 + IL_024e: ldtoken [mscorlib]System.Int32 + IL_0253: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0258: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_025d: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Equal(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0262: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::AndAlso(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0267: ldc.i4.2 + IL_0268: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_026d: stloc.s V_20 + IL_026f: ldloc.s V_20 + IL_0271: ldc.i4.0 + IL_0272: ldloc.s V_18 + IL_0274: stelem.ref + IL_0275: ldloc.s V_20 + IL_0277: ldc.i4.1 + IL_0278: ldloc.s V_19 + IL_027a: stelem.ref + IL_027b: ldloc.s V_20 + IL_027d: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0282: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0287: pop + IL_0288: ldnull + IL_0289: ldtoken [mscorlib]System.Int32 + IL_028e: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0293: ldstr "a" + IL_0298: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_029d: stloc.s V_21 + IL_029f: ldtoken [mscorlib]System.Int32 + IL_02a4: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_02a9: ldstr "b" + IL_02ae: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_02b3: stloc.s V_22 + IL_02b5: ldloc.s V_21 + IL_02b7: ldc.i4.1 + IL_02b8: box [mscorlib]System.Int32 + IL_02bd: ldtoken [mscorlib]System.Int32 + IL_02c2: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_02c7: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_02cc: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Equal(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_02d1: ldloc.s V_22 + IL_02d3: ldc.i4.2 + IL_02d4: box [mscorlib]System.Int32 + IL_02d9: ldtoken [mscorlib]System.Int32 + IL_02de: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_02e3: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_02e8: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Equal(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_02ed: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::OrElse(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_02f2: ldc.i4.2 + IL_02f3: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_02f8: stloc.s V_23 + IL_02fa: ldloc.s V_23 + IL_02fc: ldc.i4.0 + IL_02fd: ldloc.s V_21 + IL_02ff: stelem.ref + IL_0300: ldloc.s V_23 + IL_0302: ldc.i4.1 + IL_0303: ldloc.s V_22 + IL_0305: stelem.ref + IL_0306: ldloc.s V_23 + IL_0308: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_030d: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0312: pop + IL_0313: ldnull + IL_0314: ldtoken [mscorlib]System.Int32 + IL_0319: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_031e: ldstr "a" + IL_0323: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0328: stloc.s V_24 + IL_032a: ldtoken [mscorlib]System.Int16 + IL_032f: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0334: ldstr "b" + IL_0339: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_033e: stloc.s V_25 + IL_0340: ldloc.s V_24 + IL_0342: ldloc.s V_25 + IL_0344: ldtoken [mscorlib]System.Int32 + IL_0349: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_034e: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_0353: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Equal(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0358: ldc.i4.2 + IL_0359: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_035e: stloc.s V_26 + IL_0360: ldloc.s V_26 + IL_0362: ldc.i4.0 + IL_0363: ldloc.s V_24 + IL_0365: stelem.ref + IL_0366: ldloc.s V_26 + IL_0368: ldc.i4.1 + IL_0369: ldloc.s V_25 + IL_036b: stelem.ref + IL_036c: ldloc.s V_26 + IL_036e: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0373: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0378: pop + IL_0379: ldnull + IL_037a: ldtoken [mscorlib]System.UInt16 + IL_037f: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0384: ldstr "a" + IL_0389: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_038e: stloc.s V_27 + IL_0390: ldtoken [mscorlib]System.Int32 + IL_0395: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_039a: ldstr "b" + IL_039f: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_03a4: stloc.s V_28 + IL_03a6: ldloc.s V_27 + IL_03a8: ldtoken [mscorlib]System.Int32 + IL_03ad: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_03b2: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_03b7: ldloc.s V_28 + IL_03b9: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::NotEqual(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_03be: ldc.i4.2 + IL_03bf: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_03c4: stloc.s V_29 + IL_03c6: ldloc.s V_29 + IL_03c8: ldc.i4.0 + IL_03c9: ldloc.s V_27 + IL_03cb: stelem.ref + IL_03cc: ldloc.s V_29 + IL_03ce: ldc.i4.1 + IL_03cf: ldloc.s V_28 + IL_03d1: stelem.ref + IL_03d2: ldloc.s V_29 + IL_03d4: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_03d9: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_03de: pop + IL_03df: ldnull + IL_03e0: ldtoken [mscorlib]System.Int32 + IL_03e5: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_03ea: ldstr "a" + IL_03ef: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_03f4: stloc.s V_30 + IL_03f6: ldtoken [mscorlib]System.Int64 + IL_03fb: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0400: ldstr "b" + IL_0405: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_040a: stloc.s V_31 + IL_040c: ldloc.s V_30 + IL_040e: ldtoken [mscorlib]System.Int64 + IL_0413: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0418: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_041d: ldloc.s V_31 + IL_041f: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::LessThan(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0424: ldc.i4.2 + IL_0425: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_042a: stloc.s V_32 + IL_042c: ldloc.s V_32 + IL_042e: ldc.i4.0 + IL_042f: ldloc.s V_30 + IL_0431: stelem.ref + IL_0432: ldloc.s V_32 + IL_0434: ldc.i4.1 + IL_0435: ldloc.s V_31 + IL_0437: stelem.ref + IL_0438: ldloc.s V_32 + IL_043a: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_043f: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0444: pop + IL_0445: ldnull + IL_0446: ldtoken [mscorlib]System.UInt64 + IL_044b: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0450: ldstr "a" + IL_0455: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_045a: stloc.s V_33 + IL_045c: ldtoken [mscorlib]System.UInt32 + IL_0461: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0466: ldstr "b" + IL_046b: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0470: stloc.s V_34 + IL_0472: ldloc.s V_33 + IL_0474: ldloc.s V_34 + IL_0476: ldtoken [mscorlib]System.UInt64 + IL_047b: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0480: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_0485: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::LessThanOrEqual(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_048a: ldc.i4.2 + IL_048b: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0490: stloc.s V_35 + IL_0492: ldloc.s V_35 + IL_0494: ldc.i4.0 + IL_0495: ldloc.s V_33 + IL_0497: stelem.ref + IL_0498: ldloc.s V_35 + IL_049a: ldc.i4.1 + IL_049b: ldloc.s V_34 + IL_049d: stelem.ref + IL_049e: ldloc.s V_35 + IL_04a0: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_04a5: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_04aa: pop + IL_04ab: ldnull + IL_04ac: ldtoken [mscorlib]System.Int32 + IL_04b1: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_04b6: ldstr "a" + IL_04bb: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_04c0: stloc.s V_36 + IL_04c2: ldtoken [mscorlib]System.UInt32 + IL_04c7: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_04cc: ldstr "b" + IL_04d1: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_04d6: stloc.s V_37 + IL_04d8: ldloc.s V_36 + IL_04da: ldtoken [mscorlib]System.Int64 + IL_04df: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_04e4: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_04e9: ldloc.s V_37 + IL_04eb: ldtoken [mscorlib]System.Int64 + IL_04f0: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_04f5: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_04fa: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::LessThanOrEqual(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_04ff: ldc.i4.2 + IL_0500: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0505: stloc.s V_38 + IL_0507: ldloc.s V_38 + IL_0509: ldc.i4.0 + IL_050a: ldloc.s V_36 + IL_050c: stelem.ref + IL_050d: ldloc.s V_38 + IL_050f: ldc.i4.1 + IL_0510: ldloc.s V_37 + IL_0512: stelem.ref + IL_0513: ldloc.s V_38 + IL_0515: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_051a: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_051f: pop + IL_0520: ldnull + IL_0521: ldtoken [mscorlib]System.Int32 + IL_0526: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_052b: ldstr "a" + IL_0530: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0535: stloc.s V_39 + IL_0537: ldtoken [mscorlib]System.Int64 + IL_053c: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0541: ldstr "b" + IL_0546: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_054b: stloc.s V_40 + IL_054d: ldloc.s V_39 + IL_054f: ldtoken [mscorlib]System.Int64 + IL_0554: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0559: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_055e: ldloc.s V_40 + IL_0560: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::GreaterThan(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0565: ldc.i4.2 + IL_0566: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_056b: stloc.s V_41 + IL_056d: ldloc.s V_41 + IL_056f: ldc.i4.0 + IL_0570: ldloc.s V_39 + IL_0572: stelem.ref + IL_0573: ldloc.s V_41 + IL_0575: ldc.i4.1 + IL_0576: ldloc.s V_40 + IL_0578: stelem.ref + IL_0579: ldloc.s V_41 + IL_057b: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0580: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0585: pop + IL_0586: ldnull + IL_0587: ldtoken [mscorlib]System.Int16 + IL_058c: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0591: ldstr "a" + IL_0596: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_059b: stloc.s V_42 + IL_059d: ldtoken [mscorlib]System.Int64 + IL_05a2: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_05a7: ldstr "b" + IL_05ac: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_05b1: stloc.s V_43 + IL_05b3: ldloc.s V_42 + IL_05b5: ldtoken [mscorlib]System.Int64 + IL_05ba: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_05bf: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_05c4: ldloc.s V_43 + IL_05c6: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::GreaterThanOrEqual(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_05cb: ldc.i4.2 + IL_05cc: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_05d1: stloc.s V_44 + IL_05d3: ldloc.s V_44 + IL_05d5: ldc.i4.0 + IL_05d6: ldloc.s V_42 + IL_05d8: stelem.ref + IL_05d9: ldloc.s V_44 + IL_05db: ldc.i4.1 + IL_05dc: ldloc.s V_43 + IL_05de: stelem.ref + IL_05df: ldloc.s V_44 + IL_05e1: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_05e6: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_05eb: pop + IL_05ec: ldnull + IL_05ed: ldtoken [mscorlib]System.Int32 + IL_05f2: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_05f7: ldstr "a" + IL_05fc: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0601: stloc.s V_45 + IL_0603: ldtoken [mscorlib]System.Int32 + IL_0608: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_060d: ldstr "b" + IL_0612: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0617: stloc.s V_46 + IL_0619: ldloc.s V_45 + IL_061b: ldc.i4.1 + IL_061c: box [mscorlib]System.Int32 + IL_0621: ldtoken [mscorlib]System.Int32 + IL_0626: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_062b: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0630: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Equal(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0635: ldloc.s V_46 + IL_0637: ldc.i4.2 + IL_0638: box [mscorlib]System.Int32 + IL_063d: ldtoken [mscorlib]System.Int32 + IL_0642: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0647: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_064c: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Equal(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0651: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::AndAlso(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0656: ldc.i4.2 + IL_0657: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_065c: stloc.s V_47 + IL_065e: ldloc.s V_47 + IL_0660: ldc.i4.0 + IL_0661: ldloc.s V_45 + IL_0663: stelem.ref + IL_0664: ldloc.s V_47 + IL_0666: ldc.i4.1 + IL_0667: ldloc.s V_46 + IL_0669: stelem.ref + IL_066a: ldloc.s V_47 + IL_066c: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0671: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0676: pop + IL_0677: ldnull + IL_0678: ldtoken [mscorlib]System.Int32 + IL_067d: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0682: ldstr "a" + IL_0687: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_068c: stloc.s V_48 + IL_068e: ldtoken [mscorlib]System.Int32 + IL_0693: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0698: ldstr "b" + IL_069d: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_06a2: stloc.s V_49 + IL_06a4: ldloc.s V_48 + IL_06a6: ldc.i4.1 + IL_06a7: box [mscorlib]System.Int32 + IL_06ac: ldtoken [mscorlib]System.Int32 + IL_06b1: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_06b6: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_06bb: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Equal(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_06c0: ldloc.s V_49 + IL_06c2: ldc.i4.2 + IL_06c3: box [mscorlib]System.Int32 + IL_06c8: ldtoken [mscorlib]System.Int32 + IL_06cd: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_06d2: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_06d7: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Equal(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_06dc: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::OrElse(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_06e1: ldc.i4.2 + IL_06e2: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_06e7: stloc.s V_50 + IL_06e9: ldloc.s V_50 + IL_06eb: ldc.i4.0 + IL_06ec: ldloc.s V_48 + IL_06ee: stelem.ref + IL_06ef: ldloc.s V_50 + IL_06f1: ldc.i4.1 + IL_06f2: ldloc.s V_49 + IL_06f4: stelem.ref + IL_06f5: ldloc.s V_50 + IL_06f7: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_06fc: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0701: pop + IL_0702: ret + } // end of method ExpressionTrees::BinaryLogicalOperators + + .method public hidebysig static void UnaryArithmeticOperators() cil managed + { + // Code size 152 (0x98) + .maxstack 5 + .locals init (class [System.Core]System.Linq.Expressions.ParameterExpression V_0, + class [System.Core]System.Linq.Expressions.ParameterExpression[] V_1, + class [System.Core]System.Linq.Expressions.ParameterExpression V_2, + class [System.Core]System.Linq.Expressions.ParameterExpression[] V_3) + IL_0000: ldsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate4d' + IL_0005: brtrue.s IL_0018 + + IL_0007: ldnull + IL_0008: ldftn int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'b__4b'(int32) + IL_000e: newobj instance void class [mscorlib]System.Func`2::.ctor(object, + native int) + IL_0013: stsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate4d' + IL_0018: ldsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate4d' + IL_001d: ldtoken [mscorlib]System.Int32 + IL_0022: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0027: ldstr "a" + IL_002c: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0031: stloc.0 + IL_0032: ldloc.0 + IL_0033: ldc.i4.1 + IL_0034: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0039: stloc.1 + IL_003a: ldloc.1 + IL_003b: ldc.i4.0 + IL_003c: ldloc.0 + IL_003d: stelem.ref + IL_003e: ldloc.1 + IL_003f: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0044: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_0049: ldsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate4e' + IL_004e: brtrue.s IL_0061 + + IL_0050: ldnull + IL_0051: ldftn int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'b__4c'(int32) + IL_0057: newobj instance void class [mscorlib]System.Func`2::.ctor(object, + native int) + IL_005c: stsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate4e' + IL_0061: ldsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate4e' + IL_0066: ldtoken [mscorlib]System.Int32 + IL_006b: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0070: ldstr "a" + IL_0075: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_007a: stloc.2 + IL_007b: ldloc.2 + IL_007c: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Negate(class [System.Core]System.Linq.Expressions.Expression) + IL_0081: ldc.i4.1 + IL_0082: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0087: stloc.3 + IL_0088: ldloc.3 + IL_0089: ldc.i4.0 + IL_008a: ldloc.2 + IL_008b: stelem.ref + IL_008c: ldloc.3 + IL_008d: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0092: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_0097: ret + } // end of method ExpressionTrees::UnaryArithmeticOperators + + .method public hidebysig static void BinaryArithmeticOperators() cil managed + { + // Code size 1848 (0x738) + .maxstack 5 + .locals init (class [System.Core]System.Linq.Expressions.ParameterExpression V_0, + class [System.Core]System.Linq.Expressions.ParameterExpression V_1, + class [System.Core]System.Linq.Expressions.ParameterExpression[] V_2, + class [System.Core]System.Linq.Expressions.ParameterExpression V_3, + class [System.Core]System.Linq.Expressions.ParameterExpression V_4, + class [System.Core]System.Linq.Expressions.ParameterExpression[] V_5, + class [System.Core]System.Linq.Expressions.ParameterExpression V_6, + class [System.Core]System.Linq.Expressions.ParameterExpression V_7, + class [System.Core]System.Linq.Expressions.ParameterExpression[] V_8, + class [System.Core]System.Linq.Expressions.ParameterExpression V_9, + class [System.Core]System.Linq.Expressions.ParameterExpression V_10, + class [System.Core]System.Linq.Expressions.ParameterExpression[] V_11, + class [System.Core]System.Linq.Expressions.ParameterExpression V_12, + class [System.Core]System.Linq.Expressions.ParameterExpression V_13, + class [System.Core]System.Linq.Expressions.ParameterExpression[] V_14, + class [System.Core]System.Linq.Expressions.ParameterExpression V_15, + class [System.Core]System.Linq.Expressions.ParameterExpression V_16, + class [System.Core]System.Linq.Expressions.ParameterExpression[] V_17, + class [System.Core]System.Linq.Expressions.ParameterExpression V_18, + class [System.Core]System.Linq.Expressions.ParameterExpression V_19, + class [System.Core]System.Linq.Expressions.ParameterExpression[] V_20, + class [System.Core]System.Linq.Expressions.ParameterExpression V_21, + class [System.Core]System.Linq.Expressions.ParameterExpression V_22, + class [System.Core]System.Linq.Expressions.ParameterExpression[] V_23, + class [System.Core]System.Linq.Expressions.ParameterExpression V_24, + class [System.Core]System.Linq.Expressions.ParameterExpression V_25, + class [System.Core]System.Linq.Expressions.ParameterExpression[] V_26, + class [System.Core]System.Linq.Expressions.ParameterExpression V_27, + class [System.Core]System.Linq.Expressions.ParameterExpression V_28, + class [System.Core]System.Linq.Expressions.ParameterExpression[] V_29, + class [System.Core]System.Linq.Expressions.ParameterExpression V_30, + class [System.Core]System.Linq.Expressions.ParameterExpression V_31, + class [System.Core]System.Linq.Expressions.ParameterExpression[] V_32, + class [System.Core]System.Linq.Expressions.ParameterExpression V_33, + class [System.Core]System.Linq.Expressions.ParameterExpression V_34, + class [System.Core]System.Linq.Expressions.ParameterExpression[] V_35, + class [System.Core]System.Linq.Expressions.ParameterExpression V_36, + class [System.Core]System.Linq.Expressions.ParameterExpression V_37, + class [System.Core]System.Linq.Expressions.ParameterExpression[] V_38, + class [System.Core]System.Linq.Expressions.ParameterExpression V_39, + class [System.Core]System.Linq.Expressions.ParameterExpression V_40, + class [System.Core]System.Linq.Expressions.ParameterExpression[] V_41, + class [System.Core]System.Linq.Expressions.ParameterExpression V_42, + class [System.Core]System.Linq.Expressions.ParameterExpression V_43, + class [System.Core]System.Linq.Expressions.ParameterExpression[] V_44) + IL_0000: ldsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate5e' + IL_0005: brtrue.s IL_0018 + + IL_0007: ldnull + IL_0008: ldftn int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'b__4f'(int32, + int32) + IL_000e: newobj instance void class [mscorlib]System.Func`3::.ctor(object, + native int) + IL_0013: stsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate5e' + IL_0018: ldsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate5e' + IL_001d: ldtoken [mscorlib]System.Int32 + IL_0022: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0027: ldstr "a" + IL_002c: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0031: stloc.0 + IL_0032: ldtoken [mscorlib]System.Int32 + IL_0037: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_003c: ldstr "b" + IL_0041: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0046: stloc.1 + IL_0047: ldloc.0 + IL_0048: ldloc.1 + IL_0049: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Add(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_004e: ldc.i4.2 + IL_004f: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0054: stloc.2 + IL_0055: ldloc.2 + IL_0056: ldc.i4.0 + IL_0057: ldloc.0 + IL_0058: stelem.ref + IL_0059: ldloc.2 + IL_005a: ldc.i4.1 + IL_005b: ldloc.1 + IL_005c: stelem.ref + IL_005d: ldloc.2 + IL_005e: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0063: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_0068: ldsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate5f' + IL_006d: brtrue.s IL_0080 + + IL_006f: ldnull + IL_0070: ldftn int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'b__50'(int32, + int32) + IL_0076: newobj instance void class [mscorlib]System.Func`3::.ctor(object, + native int) + IL_007b: stsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate5f' + IL_0080: ldsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate5f' + IL_0085: ldtoken [mscorlib]System.Int32 + IL_008a: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_008f: ldstr "a" + IL_0094: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0099: stloc.3 + IL_009a: ldtoken [mscorlib]System.Int32 + IL_009f: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00a4: ldstr "b" + IL_00a9: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_00ae: stloc.s V_4 + IL_00b0: ldloc.3 + IL_00b1: ldloc.s V_4 + IL_00b3: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Subtract(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_00b8: ldc.i4.2 + IL_00b9: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_00be: stloc.s V_5 + IL_00c0: ldloc.s V_5 + IL_00c2: ldc.i4.0 + IL_00c3: ldloc.3 + IL_00c4: stelem.ref + IL_00c5: ldloc.s V_5 + IL_00c7: ldc.i4.1 + IL_00c8: ldloc.s V_4 + IL_00ca: stelem.ref + IL_00cb: ldloc.s V_5 + IL_00cd: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_00d2: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_00d7: ldsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate60' + IL_00dc: brtrue.s IL_00ef + + IL_00de: ldnull + IL_00df: ldftn int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'b__51'(int32, + int32) + IL_00e5: newobj instance void class [mscorlib]System.Func`3::.ctor(object, + native int) + IL_00ea: stsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate60' + IL_00ef: ldsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate60' + IL_00f4: ldtoken [mscorlib]System.Int32 + IL_00f9: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00fe: ldstr "a" + IL_0103: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0108: stloc.s V_6 + IL_010a: ldtoken [mscorlib]System.Int32 + IL_010f: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0114: ldstr "b" + IL_0119: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_011e: stloc.s V_7 + IL_0120: ldloc.s V_6 + IL_0122: ldloc.s V_7 + IL_0124: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Multiply(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0129: ldc.i4.2 + IL_012a: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_012f: stloc.s V_8 + IL_0131: ldloc.s V_8 + IL_0133: ldc.i4.0 + IL_0134: ldloc.s V_6 + IL_0136: stelem.ref + IL_0137: ldloc.s V_8 + IL_0139: ldc.i4.1 + IL_013a: ldloc.s V_7 + IL_013c: stelem.ref + IL_013d: ldloc.s V_8 + IL_013f: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0144: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_0149: ldsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate61' + IL_014e: brtrue.s IL_0161 + + IL_0150: ldnull + IL_0151: ldftn int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'b__52'(int32, + int32) + IL_0157: newobj instance void class [mscorlib]System.Func`3::.ctor(object, + native int) + IL_015c: stsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate61' + IL_0161: ldsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate61' + IL_0166: ldtoken [mscorlib]System.Int32 + IL_016b: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0170: ldstr "a" + IL_0175: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_017a: stloc.s V_9 + IL_017c: ldtoken [mscorlib]System.Int32 + IL_0181: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0186: ldstr "b" + IL_018b: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0190: stloc.s V_10 + IL_0192: ldloc.s V_9 + IL_0194: ldloc.s V_10 + IL_0196: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Divide(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_019b: ldc.i4.2 + IL_019c: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_01a1: stloc.s V_11 + IL_01a3: ldloc.s V_11 + IL_01a5: ldc.i4.0 + IL_01a6: ldloc.s V_9 + IL_01a8: stelem.ref + IL_01a9: ldloc.s V_11 + IL_01ab: ldc.i4.1 + IL_01ac: ldloc.s V_10 + IL_01ae: stelem.ref + IL_01af: ldloc.s V_11 + IL_01b1: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_01b6: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_01bb: ldsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate62' + IL_01c0: brtrue.s IL_01d3 + + IL_01c2: ldnull + IL_01c3: ldftn int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'b__53'(int32, + int32) + IL_01c9: newobj instance void class [mscorlib]System.Func`3::.ctor(object, + native int) + IL_01ce: stsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate62' + IL_01d3: ldsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate62' + IL_01d8: ldtoken [mscorlib]System.Int32 + IL_01dd: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_01e2: ldstr "a" + IL_01e7: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_01ec: stloc.s V_12 + IL_01ee: ldtoken [mscorlib]System.Int32 + IL_01f3: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_01f8: ldstr "b" + IL_01fd: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0202: stloc.s V_13 + IL_0204: ldloc.s V_12 + IL_0206: ldloc.s V_13 + IL_0208: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Modulo(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_020d: ldc.i4.2 + IL_020e: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0213: stloc.s V_14 + IL_0215: ldloc.s V_14 + IL_0217: ldc.i4.0 + IL_0218: ldloc.s V_12 + IL_021a: stelem.ref + IL_021b: ldloc.s V_14 + IL_021d: ldc.i4.1 + IL_021e: ldloc.s V_13 + IL_0220: stelem.ref + IL_0221: ldloc.s V_14 + IL_0223: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0228: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_022d: ldsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate63' + IL_0232: brtrue.s IL_0245 + + IL_0234: ldnull + IL_0235: ldftn int64 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'b__54'(int64, + int32) + IL_023b: newobj instance void class [mscorlib]System.Func`3::.ctor(object, + native int) + IL_0240: stsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate63' + IL_0245: ldsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate63' + IL_024a: ldtoken [mscorlib]System.Int64 + IL_024f: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0254: ldstr "a" + IL_0259: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_025e: stloc.s V_15 + IL_0260: ldtoken [mscorlib]System.Int32 + IL_0265: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_026a: ldstr "b" + IL_026f: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0274: stloc.s V_16 + IL_0276: ldloc.s V_15 + IL_0278: ldloc.s V_16 + IL_027a: ldtoken [mscorlib]System.Int64 + IL_027f: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0284: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_0289: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Add(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_028e: ldc.i4.2 + IL_028f: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0294: stloc.s V_17 + IL_0296: ldloc.s V_17 + IL_0298: ldc.i4.0 + IL_0299: ldloc.s V_15 + IL_029b: stelem.ref + IL_029c: ldloc.s V_17 + IL_029e: ldc.i4.1 + IL_029f: ldloc.s V_16 + IL_02a1: stelem.ref + IL_02a2: ldloc.s V_17 + IL_02a4: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_02a9: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_02ae: ldsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate64' + IL_02b3: brtrue.s IL_02c6 + + IL_02b5: ldnull + IL_02b6: ldftn int64 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'b__55'(int64, + int32) + IL_02bc: newobj instance void class [mscorlib]System.Func`3::.ctor(object, + native int) + IL_02c1: stsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate64' + IL_02c6: ldsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate64' + IL_02cb: ldtoken [mscorlib]System.Int64 + IL_02d0: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_02d5: ldstr "a" + IL_02da: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_02df: stloc.s V_18 + IL_02e1: ldtoken [mscorlib]System.Int32 + IL_02e6: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_02eb: ldstr "b" + IL_02f0: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_02f5: stloc.s V_19 + IL_02f7: ldloc.s V_18 + IL_02f9: ldloc.s V_19 + IL_02fb: ldtoken [mscorlib]System.Int64 + IL_0300: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0305: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_030a: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Subtract(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_030f: ldc.i4.2 + IL_0310: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0315: stloc.s V_20 + IL_0317: ldloc.s V_20 + IL_0319: ldc.i4.0 + IL_031a: ldloc.s V_18 + IL_031c: stelem.ref + IL_031d: ldloc.s V_20 + IL_031f: ldc.i4.1 + IL_0320: ldloc.s V_19 + IL_0322: stelem.ref + IL_0323: ldloc.s V_20 + IL_0325: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_032a: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_032f: ldsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate65' + IL_0334: brtrue.s IL_0347 + + IL_0336: ldnull + IL_0337: ldftn int64 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'b__56'(int64, + int32) + IL_033d: newobj instance void class [mscorlib]System.Func`3::.ctor(object, + native int) + IL_0342: stsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate65' + IL_0347: ldsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate65' + IL_034c: ldtoken [mscorlib]System.Int64 + IL_0351: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0356: ldstr "a" + IL_035b: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0360: stloc.s V_21 + IL_0362: ldtoken [mscorlib]System.Int32 + IL_0367: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_036c: ldstr "b" + IL_0371: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0376: stloc.s V_22 + IL_0378: ldloc.s V_21 + IL_037a: ldloc.s V_22 + IL_037c: ldtoken [mscorlib]System.Int64 + IL_0381: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0386: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_038b: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Multiply(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0390: ldc.i4.2 + IL_0391: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0396: stloc.s V_23 + IL_0398: ldloc.s V_23 + IL_039a: ldc.i4.0 + IL_039b: ldloc.s V_21 + IL_039d: stelem.ref + IL_039e: ldloc.s V_23 + IL_03a0: ldc.i4.1 + IL_03a1: ldloc.s V_22 + IL_03a3: stelem.ref + IL_03a4: ldloc.s V_23 + IL_03a6: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_03ab: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_03b0: ldsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate66' + IL_03b5: brtrue.s IL_03c8 + + IL_03b7: ldnull + IL_03b8: ldftn int64 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'b__57'(int64, + int32) + IL_03be: newobj instance void class [mscorlib]System.Func`3::.ctor(object, + native int) + IL_03c3: stsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate66' + IL_03c8: ldsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate66' + IL_03cd: ldtoken [mscorlib]System.Int64 + IL_03d2: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_03d7: ldstr "a" + IL_03dc: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_03e1: stloc.s V_24 + IL_03e3: ldtoken [mscorlib]System.Int32 + IL_03e8: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_03ed: ldstr "b" + IL_03f2: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_03f7: stloc.s V_25 + IL_03f9: ldloc.s V_24 + IL_03fb: ldloc.s V_25 + IL_03fd: ldtoken [mscorlib]System.Int64 + IL_0402: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0407: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_040c: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Divide(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0411: ldc.i4.2 + IL_0412: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0417: stloc.s V_26 + IL_0419: ldloc.s V_26 + IL_041b: ldc.i4.0 + IL_041c: ldloc.s V_24 + IL_041e: stelem.ref + IL_041f: ldloc.s V_26 + IL_0421: ldc.i4.1 + IL_0422: ldloc.s V_25 + IL_0424: stelem.ref + IL_0425: ldloc.s V_26 + IL_0427: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_042c: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_0431: ldsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate67' + IL_0436: brtrue.s IL_0449 + + IL_0438: ldnull + IL_0439: ldftn int64 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'b__58'(int64, + int32) + IL_043f: newobj instance void class [mscorlib]System.Func`3::.ctor(object, + native int) + IL_0444: stsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate67' + IL_0449: ldsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate67' + IL_044e: ldtoken [mscorlib]System.Int64 + IL_0453: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0458: ldstr "a" + IL_045d: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0462: stloc.s V_27 + IL_0464: ldtoken [mscorlib]System.Int32 + IL_0469: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_046e: ldstr "b" + IL_0473: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0478: stloc.s V_28 + IL_047a: ldloc.s V_27 + IL_047c: ldloc.s V_28 + IL_047e: ldtoken [mscorlib]System.Int64 + IL_0483: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0488: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_048d: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Modulo(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0492: ldc.i4.2 + IL_0493: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0498: stloc.s V_29 + IL_049a: ldloc.s V_29 + IL_049c: ldc.i4.0 + IL_049d: ldloc.s V_27 + IL_049f: stelem.ref + IL_04a0: ldloc.s V_29 + IL_04a2: ldc.i4.1 + IL_04a3: ldloc.s V_28 + IL_04a5: stelem.ref + IL_04a6: ldloc.s V_29 + IL_04a8: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_04ad: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_04b2: ldsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate68' + IL_04b7: brtrue.s IL_04ca + + IL_04b9: ldnull + IL_04ba: ldftn int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'b__59'(int16, + int32) + IL_04c0: newobj instance void class [mscorlib]System.Func`3::.ctor(object, + native int) + IL_04c5: stsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate68' + IL_04ca: ldsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate68' + IL_04cf: ldtoken [mscorlib]System.Int16 + IL_04d4: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_04d9: ldstr "a" + IL_04de: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_04e3: stloc.s V_30 + IL_04e5: ldtoken [mscorlib]System.Int32 + IL_04ea: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_04ef: ldstr "b" + IL_04f4: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_04f9: stloc.s V_31 + IL_04fb: ldloc.s V_30 + IL_04fd: ldtoken [mscorlib]System.Int32 + IL_0502: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0507: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_050c: ldloc.s V_31 + IL_050e: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Add(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0513: ldc.i4.2 + IL_0514: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0519: stloc.s V_32 + IL_051b: ldloc.s V_32 + IL_051d: ldc.i4.0 + IL_051e: ldloc.s V_30 + IL_0520: stelem.ref + IL_0521: ldloc.s V_32 + IL_0523: ldc.i4.1 + IL_0524: ldloc.s V_31 + IL_0526: stelem.ref + IL_0527: ldloc.s V_32 + IL_0529: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_052e: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_0533: ldsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate69' + IL_0538: brtrue.s IL_054b + + IL_053a: ldnull + IL_053b: ldftn int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'b__5a'(int32, + int16) + IL_0541: newobj instance void class [mscorlib]System.Func`3::.ctor(object, + native int) + IL_0546: stsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate69' + IL_054b: ldsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate69' + IL_0550: ldtoken [mscorlib]System.Int32 + IL_0555: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_055a: ldstr "a" + IL_055f: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0564: stloc.s V_33 + IL_0566: ldtoken [mscorlib]System.Int16 + IL_056b: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0570: ldstr "b" + IL_0575: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_057a: stloc.s V_34 + IL_057c: ldloc.s V_33 + IL_057e: ldloc.s V_34 + IL_0580: ldtoken [mscorlib]System.Int32 + IL_0585: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_058a: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_058f: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Subtract(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0594: ldc.i4.2 + IL_0595: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_059a: stloc.s V_35 + IL_059c: ldloc.s V_35 + IL_059e: ldc.i4.0 + IL_059f: ldloc.s V_33 + IL_05a1: stelem.ref + IL_05a2: ldloc.s V_35 + IL_05a4: ldc.i4.1 + IL_05a5: ldloc.s V_34 + IL_05a7: stelem.ref + IL_05a8: ldloc.s V_35 + IL_05aa: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_05af: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_05b4: ldsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate6a' + IL_05b9: brtrue.s IL_05cc + + IL_05bb: ldnull + IL_05bc: ldftn int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'b__5b'(int16, + int32) + IL_05c2: newobj instance void class [mscorlib]System.Func`3::.ctor(object, + native int) + IL_05c7: stsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate6a' + IL_05cc: ldsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate6a' + IL_05d1: ldtoken [mscorlib]System.Int16 + IL_05d6: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_05db: ldstr "a" + IL_05e0: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_05e5: stloc.s V_36 + IL_05e7: ldtoken [mscorlib]System.Int32 + IL_05ec: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_05f1: ldstr "b" + IL_05f6: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_05fb: stloc.s V_37 + IL_05fd: ldloc.s V_36 + IL_05ff: ldtoken [mscorlib]System.Int32 + IL_0604: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0609: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_060e: ldloc.s V_37 + IL_0610: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Multiply(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0615: ldc.i4.2 + IL_0616: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_061b: stloc.s V_38 + IL_061d: ldloc.s V_38 + IL_061f: ldc.i4.0 + IL_0620: ldloc.s V_36 + IL_0622: stelem.ref + IL_0623: ldloc.s V_38 + IL_0625: ldc.i4.1 + IL_0626: ldloc.s V_37 + IL_0628: stelem.ref + IL_0629: ldloc.s V_38 + IL_062b: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0630: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_0635: ldsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate6b' + IL_063a: brtrue.s IL_064d + + IL_063c: ldnull + IL_063d: ldftn int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'b__5c'(int32, + int16) + IL_0643: newobj instance void class [mscorlib]System.Func`3::.ctor(object, + native int) + IL_0648: stsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate6b' + IL_064d: ldsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate6b' + IL_0652: ldtoken [mscorlib]System.Int32 + IL_0657: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_065c: ldstr "a" + IL_0661: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0666: stloc.s V_39 + IL_0668: ldtoken [mscorlib]System.Int16 + IL_066d: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0672: ldstr "b" + IL_0677: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_067c: stloc.s V_40 + IL_067e: ldloc.s V_39 + IL_0680: ldloc.s V_40 + IL_0682: ldtoken [mscorlib]System.Int32 + IL_0687: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_068c: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_0691: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Divide(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0696: ldc.i4.2 + IL_0697: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_069c: stloc.s V_41 + IL_069e: ldloc.s V_41 + IL_06a0: ldc.i4.0 + IL_06a1: ldloc.s V_39 + IL_06a3: stelem.ref + IL_06a4: ldloc.s V_41 + IL_06a6: ldc.i4.1 + IL_06a7: ldloc.s V_40 + IL_06a9: stelem.ref + IL_06aa: ldloc.s V_41 + IL_06ac: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_06b1: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_06b6: ldsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate6c' + IL_06bb: brtrue.s IL_06ce + + IL_06bd: ldnull + IL_06be: ldftn int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'b__5d'(int16, + int32) + IL_06c4: newobj instance void class [mscorlib]System.Func`3::.ctor(object, + native int) + IL_06c9: stsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate6c' + IL_06ce: ldsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate6c' + IL_06d3: ldtoken [mscorlib]System.Int16 + IL_06d8: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_06dd: ldstr "a" + IL_06e2: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_06e7: stloc.s V_42 + IL_06e9: ldtoken [mscorlib]System.Int32 + IL_06ee: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_06f3: ldstr "b" + IL_06f8: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_06fd: stloc.s V_43 + IL_06ff: ldloc.s V_42 + IL_0701: ldtoken [mscorlib]System.Int32 + IL_0706: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_070b: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_0710: ldloc.s V_43 + IL_0712: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Modulo(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0717: ldc.i4.2 + IL_0718: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_071d: stloc.s V_44 + IL_071f: ldloc.s V_44 + IL_0721: ldc.i4.0 + IL_0722: ldloc.s V_42 + IL_0724: stelem.ref + IL_0725: ldloc.s V_44 + IL_0727: ldc.i4.1 + IL_0728: ldloc.s V_43 + IL_072a: stelem.ref + IL_072b: ldloc.s V_44 + IL_072d: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0732: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_0737: ret + } // end of method ExpressionTrees::BinaryArithmeticOperators + + .method public hidebysig static void BitOperators() cil managed + { + // Code size 415 (0x19f) + .maxstack 5 + .locals init (class [System.Core]System.Linq.Expressions.ParameterExpression V_0, + class [System.Core]System.Linq.Expressions.ParameterExpression[] V_1, + class [System.Core]System.Linq.Expressions.ParameterExpression V_2, + class [System.Core]System.Linq.Expressions.ParameterExpression V_3, + class [System.Core]System.Linq.Expressions.ParameterExpression[] V_4, + class [System.Core]System.Linq.Expressions.ParameterExpression V_5, + class [System.Core]System.Linq.Expressions.ParameterExpression V_6, + class [System.Core]System.Linq.Expressions.ParameterExpression[] V_7, + class [System.Core]System.Linq.Expressions.ParameterExpression V_8, + class [System.Core]System.Linq.Expressions.ParameterExpression V_9, + class [System.Core]System.Linq.Expressions.ParameterExpression[] V_10) + IL_0000: ldsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate71' + IL_0005: brtrue.s IL_0018 + + IL_0007: ldnull + IL_0008: ldftn int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'b__6d'(int32) + IL_000e: newobj instance void class [mscorlib]System.Func`2::.ctor(object, + native int) + IL_0013: stsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate71' + IL_0018: ldsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate71' + IL_001d: ldtoken [mscorlib]System.Int32 + IL_0022: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0027: ldstr "a" + IL_002c: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0031: stloc.0 + IL_0032: ldloc.0 + IL_0033: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Not(class [System.Core]System.Linq.Expressions.Expression) + IL_0038: ldc.i4.1 + IL_0039: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_003e: stloc.1 + IL_003f: ldloc.1 + IL_0040: ldc.i4.0 + IL_0041: ldloc.0 + IL_0042: stelem.ref + IL_0043: ldloc.1 + IL_0044: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0049: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_004e: ldsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate72' + IL_0053: brtrue.s IL_0066 + + IL_0055: ldnull + IL_0056: ldftn int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'b__6e'(int32, + int32) + IL_005c: newobj instance void class [mscorlib]System.Func`3::.ctor(object, + native int) + IL_0061: stsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate72' + IL_0066: ldsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate72' + IL_006b: ldtoken [mscorlib]System.Int32 + IL_0070: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0075: ldstr "a" + IL_007a: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_007f: stloc.2 + IL_0080: ldtoken [mscorlib]System.Int32 + IL_0085: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_008a: ldstr "b" + IL_008f: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0094: stloc.3 + IL_0095: ldloc.2 + IL_0096: ldloc.3 + IL_0097: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::And(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_009c: ldc.i4.2 + IL_009d: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_00a2: stloc.s V_4 + IL_00a4: ldloc.s V_4 + IL_00a6: ldc.i4.0 + IL_00a7: ldloc.2 + IL_00a8: stelem.ref + IL_00a9: ldloc.s V_4 + IL_00ab: ldc.i4.1 + IL_00ac: ldloc.3 + IL_00ad: stelem.ref + IL_00ae: ldloc.s V_4 + IL_00b0: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_00b5: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_00ba: ldsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate73' + IL_00bf: brtrue.s IL_00d2 + + IL_00c1: ldnull + IL_00c2: ldftn int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'b__6f'(int32, + int32) + IL_00c8: newobj instance void class [mscorlib]System.Func`3::.ctor(object, + native int) + IL_00cd: stsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate73' + IL_00d2: ldsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate73' + IL_00d7: ldtoken [mscorlib]System.Int32 + IL_00dc: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00e1: ldstr "a" + IL_00e6: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_00eb: stloc.s V_5 + IL_00ed: ldtoken [mscorlib]System.Int32 + IL_00f2: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00f7: ldstr "b" + IL_00fc: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0101: stloc.s V_6 + IL_0103: ldloc.s V_5 + IL_0105: ldloc.s V_6 + IL_0107: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Or(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_010c: ldc.i4.2 + IL_010d: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0112: stloc.s V_7 + IL_0114: ldloc.s V_7 + IL_0116: ldc.i4.0 + IL_0117: ldloc.s V_5 + IL_0119: stelem.ref + IL_011a: ldloc.s V_7 + IL_011c: ldc.i4.1 + IL_011d: ldloc.s V_6 + IL_011f: stelem.ref + IL_0120: ldloc.s V_7 + IL_0122: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0127: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_012c: ldsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate74' + IL_0131: brtrue.s IL_0144 + + IL_0133: ldnull + IL_0134: ldftn int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'b__70'(int32, + int32) + IL_013a: newobj instance void class [mscorlib]System.Func`3::.ctor(object, + native int) + IL_013f: stsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate74' + IL_0144: ldsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate74' + IL_0149: ldtoken [mscorlib]System.Int32 + IL_014e: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0153: ldstr "a" + IL_0158: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_015d: stloc.s V_8 + IL_015f: ldtoken [mscorlib]System.Int32 + IL_0164: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0169: ldstr "b" + IL_016e: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0173: stloc.s V_9 + IL_0175: ldloc.s V_8 + IL_0177: ldloc.s V_9 + IL_0179: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::ExclusiveOr(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_017e: ldc.i4.2 + IL_017f: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0184: stloc.s V_10 + IL_0186: ldloc.s V_10 + IL_0188: ldc.i4.0 + IL_0189: ldloc.s V_8 + IL_018b: stelem.ref + IL_018c: ldloc.s V_10 + IL_018e: ldc.i4.1 + IL_018f: ldloc.s V_9 + IL_0191: stelem.ref + IL_0192: ldloc.s V_10 + IL_0194: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0199: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_019e: ret + } // end of method ExpressionTrees::BitOperators + + .method public hidebysig static void ShiftOperators() cil managed + { + // Code size 409 (0x199) + .maxstack 5 + .locals init (class [System.Core]System.Linq.Expressions.ParameterExpression V_0, + class [System.Core]System.Linq.Expressions.ParameterExpression[] V_1, + class [System.Core]System.Linq.Expressions.ParameterExpression V_2, + class [System.Core]System.Linq.Expressions.ParameterExpression[] V_3, + class [System.Core]System.Linq.Expressions.ParameterExpression V_4, + class [System.Core]System.Linq.Expressions.ParameterExpression[] V_5, + class [System.Core]System.Linq.Expressions.ParameterExpression V_6, + class [System.Core]System.Linq.Expressions.ParameterExpression[] V_7) + IL_0000: ldsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate79' + IL_0005: brtrue.s IL_0018 + + IL_0007: ldnull + IL_0008: ldftn int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'b__75'(int32) + IL_000e: newobj instance void class [mscorlib]System.Func`2::.ctor(object, + native int) + IL_0013: stsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate79' + IL_0018: ldsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate79' + IL_001d: ldtoken [mscorlib]System.Int32 + IL_0022: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0027: ldstr "a" + IL_002c: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0031: stloc.0 + IL_0032: ldloc.0 + IL_0033: ldc.i4.2 + IL_0034: box [mscorlib]System.Int32 + IL_0039: ldtoken [mscorlib]System.Int32 + IL_003e: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0043: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0048: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::RightShift(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_004d: ldc.i4.1 + IL_004e: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0053: stloc.1 + IL_0054: ldloc.1 + IL_0055: ldc.i4.0 + IL_0056: ldloc.0 + IL_0057: stelem.ref + IL_0058: ldloc.1 + IL_0059: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_005e: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_0063: ldsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate7a' + IL_0068: brtrue.s IL_007b + + IL_006a: ldnull + IL_006b: ldftn int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'b__76'(int32) + IL_0071: newobj instance void class [mscorlib]System.Func`2::.ctor(object, + native int) + IL_0076: stsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate7a' + IL_007b: ldsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate7a' + IL_0080: ldtoken [mscorlib]System.Int32 + IL_0085: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_008a: ldstr "a" + IL_008f: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0094: stloc.2 + IL_0095: ldloc.2 + IL_0096: ldc.i4.2 + IL_0097: box [mscorlib]System.Int32 + IL_009c: ldtoken [mscorlib]System.Int32 + IL_00a1: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00a6: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_00ab: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::LeftShift(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_00b0: ldc.i4.1 + IL_00b1: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_00b6: stloc.3 + IL_00b7: ldloc.3 + IL_00b8: ldc.i4.0 + IL_00b9: ldloc.2 + IL_00ba: stelem.ref + IL_00bb: ldloc.3 + IL_00bc: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_00c1: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_00c6: ldsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate7b' + IL_00cb: brtrue.s IL_00de + + IL_00cd: ldnull + IL_00ce: ldftn int64 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'b__77'(int64) + IL_00d4: newobj instance void class [mscorlib]System.Func`2::.ctor(object, + native int) + IL_00d9: stsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate7b' + IL_00de: ldsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate7b' + IL_00e3: ldtoken [mscorlib]System.Int64 + IL_00e8: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00ed: ldstr "a" + IL_00f2: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_00f7: stloc.s V_4 + IL_00f9: ldloc.s V_4 + IL_00fb: ldc.i4.2 + IL_00fc: box [mscorlib]System.Int32 + IL_0101: ldtoken [mscorlib]System.Int32 + IL_0106: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_010b: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0110: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::RightShift(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0115: ldc.i4.1 + IL_0116: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_011b: stloc.s V_5 + IL_011d: ldloc.s V_5 + IL_011f: ldc.i4.0 + IL_0120: ldloc.s V_4 + IL_0122: stelem.ref + IL_0123: ldloc.s V_5 + IL_0125: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_012a: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_012f: ldsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate7c' + IL_0134: brtrue.s IL_0147 + + IL_0136: ldnull + IL_0137: ldftn int64 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'b__78'(int64) + IL_013d: newobj instance void class [mscorlib]System.Func`2::.ctor(object, + native int) + IL_0142: stsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate7c' + IL_0147: ldsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate7c' + IL_014c: ldtoken [mscorlib]System.Int64 + IL_0151: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0156: ldstr "a" + IL_015b: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0160: stloc.s V_6 + IL_0162: ldloc.s V_6 + IL_0164: ldc.i4.2 + IL_0165: box [mscorlib]System.Int32 + IL_016a: ldtoken [mscorlib]System.Int32 + IL_016f: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0174: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0179: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::LeftShift(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_017e: ldc.i4.1 + IL_017f: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0184: stloc.s V_7 + IL_0186: ldloc.s V_7 + IL_0188: ldc.i4.0 + IL_0189: ldloc.s V_6 + IL_018b: stelem.ref + IL_018c: ldloc.s V_7 + IL_018e: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0193: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_0198: ret + } // end of method ExpressionTrees::ShiftOperators + + .method public hidebysig static void SimpleExpressions() cil managed + { + // Code size 140 (0x8c) + .maxstack 5 + .locals init (class [System.Core]System.Linq.Expressions.ParameterExpression V_0, + class [System.Core]System.Linq.Expressions.ParameterExpression[] V_1) + IL_0000: ldsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate7f' + IL_0005: brtrue.s IL_0018 + + IL_0007: ldnull + IL_0008: ldftn int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'b__7d'() + IL_000e: newobj instance void class [mscorlib]System.Func`1::.ctor(object, + native int) + IL_0013: stsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate7f' + IL_0018: ldsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate7f' + IL_001d: ldc.i4.0 + IL_001e: box [mscorlib]System.Int32 + IL_0023: ldtoken [mscorlib]System.Int32 + IL_0028: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_002d: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0032: ldc.i4.0 + IL_0033: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0038: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_003d: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_0042: ldsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate80' + IL_0047: brtrue.s IL_005a + + IL_0049: ldnull + IL_004a: ldftn int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'b__7e'(int32) + IL_0050: newobj instance void class [mscorlib]System.Func`2::.ctor(object, + native int) + IL_0055: stsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate80' + IL_005a: ldsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate80' + IL_005f: ldtoken [mscorlib]System.Int32 + IL_0064: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0069: ldstr "a" + IL_006e: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0073: stloc.0 + IL_0074: ldloc.0 + IL_0075: ldc.i4.1 + IL_0076: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_007b: stloc.1 + IL_007c: ldloc.1 + IL_007d: ldc.i4.0 + IL_007e: ldloc.0 + IL_007f: stelem.ref + IL_0080: ldloc.1 + IL_0081: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0086: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_008b: ret + } // end of method ExpressionTrees::SimpleExpressions + + .method public hidebysig static void Capturing() cil managed + { + // Code size 63 (0x3f) + .maxstack 3 + .locals init (class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass82' V_0) + IL_0000: newobj instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass82'::.ctor() + IL_0005: stloc.0 + IL_0006: ldloc.0 + IL_0007: ldc.i4.5 + IL_0008: stfld int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass82'::captured + IL_000d: ldloc.0 + IL_000e: ldftn instance int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass82'::'b__81'() + IL_0014: newobj instance void class [mscorlib]System.Func`1::.ctor(object, + native int) + IL_0019: ldloc.0 + IL_001a: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object) + IL_001f: ldtoken field int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass82'::captured + IL_0024: call class [mscorlib]System.Reflection.FieldInfo [mscorlib]System.Reflection.FieldInfo::GetFieldFromHandle(valuetype [mscorlib]System.RuntimeFieldHandle) + IL_0029: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Field(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.FieldInfo) + IL_002e: ldc.i4.0 + IL_002f: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0034: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0039: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_003e: ret + } // end of method ExpressionTrees::Capturing + + .method public hidebysig static void FieldAndPropertyAccess() cil managed + { + // Code size 452 (0x1c4) + .maxstack 5 + .locals init (class [System.Core]System.Linq.Expressions.ParameterExpression V_0, + class [System.Core]System.Linq.Expressions.ParameterExpression[] V_1, + class [System.Core]System.Linq.Expressions.ParameterExpression V_2, + class [System.Core]System.Linq.Expressions.ParameterExpression[] V_3, + class [System.Core]System.Linq.Expressions.ParameterExpression V_4, + class [System.Core]System.Linq.Expressions.ParameterExpression[] V_5, + class [System.Core]System.Linq.Expressions.ParameterExpression V_6, + class [System.Core]System.Linq.Expressions.ParameterExpression[] V_7) + IL_0000: ldnull + IL_0001: ldc.i4.1 + IL_0002: box [mscorlib]System.Int32 + IL_0007: ldtoken [mscorlib]System.Int32 + IL_000c: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0011: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0016: ldc.i4.0 + IL_0017: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_001c: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0021: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0026: pop + IL_0027: ldnull + IL_0028: ldnull + IL_0029: ldtoken field int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.SimpleType::StaticField + IL_002e: call class [mscorlib]System.Reflection.FieldInfo [mscorlib]System.Reflection.FieldInfo::GetFieldFromHandle(valuetype [mscorlib]System.RuntimeFieldHandle) + IL_0033: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Field(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.FieldInfo) + IL_0038: ldc.i4.0 + IL_0039: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_003e: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0043: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0048: pop + IL_0049: ldnull + IL_004a: ldnull + IL_004b: ldtoken field int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.SimpleType::StaticReadonlyField + IL_0050: call class [mscorlib]System.Reflection.FieldInfo [mscorlib]System.Reflection.FieldInfo::GetFieldFromHandle(valuetype [mscorlib]System.RuntimeFieldHandle) + IL_0055: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Field(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.FieldInfo) + IL_005a: ldc.i4.0 + IL_005b: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0060: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0065: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_006a: pop + IL_006b: ldnull + IL_006c: ldnull + IL_006d: ldtoken method int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.SimpleType::get_StaticProperty() + IL_0072: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0077: castclass [mscorlib]System.Reflection.MethodInfo + IL_007c: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Property(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo) + IL_0081: ldc.i4.0 + IL_0082: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0087: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_008c: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0091: pop + IL_0092: ldnull + IL_0093: ldnull + IL_0094: ldtoken method int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.SimpleType::get_StaticReadonlyProperty() + IL_0099: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_009e: castclass [mscorlib]System.Reflection.MethodInfo + IL_00a3: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Property(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo) + IL_00a8: ldc.i4.0 + IL_00a9: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_00ae: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_00b3: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_00b8: pop + IL_00b9: ldnull + IL_00ba: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.SimpleType + IL_00bf: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00c4: ldstr "a" + IL_00c9: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_00ce: stloc.0 + IL_00cf: ldloc.0 + IL_00d0: ldtoken field int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.SimpleType::Field + IL_00d5: call class [mscorlib]System.Reflection.FieldInfo [mscorlib]System.Reflection.FieldInfo::GetFieldFromHandle(valuetype [mscorlib]System.RuntimeFieldHandle) + IL_00da: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Field(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.FieldInfo) + IL_00df: ldc.i4.1 + IL_00e0: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_00e5: stloc.1 + IL_00e6: ldloc.1 + IL_00e7: ldc.i4.0 + IL_00e8: ldloc.0 + IL_00e9: stelem.ref + IL_00ea: ldloc.1 + IL_00eb: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_00f0: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_00f5: pop + IL_00f6: ldnull + IL_00f7: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.SimpleType + IL_00fc: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0101: ldstr "a" + IL_0106: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_010b: stloc.2 + IL_010c: ldloc.2 + IL_010d: ldtoken method instance int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.SimpleType::get_Property() + IL_0112: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0117: castclass [mscorlib]System.Reflection.MethodInfo + IL_011c: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Property(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo) + IL_0121: ldc.i4.1 + IL_0122: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0127: stloc.3 + IL_0128: ldloc.3 + IL_0129: ldc.i4.0 + IL_012a: ldloc.2 + IL_012b: stelem.ref + IL_012c: ldloc.3 + IL_012d: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0132: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0137: pop + IL_0138: ldnull + IL_0139: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.SimpleType + IL_013e: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0143: ldstr "a" + IL_0148: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_014d: stloc.s V_4 + IL_014f: ldloc.s V_4 + IL_0151: ldtoken field int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.SimpleType::ReadonlyField + IL_0156: call class [mscorlib]System.Reflection.FieldInfo [mscorlib]System.Reflection.FieldInfo::GetFieldFromHandle(valuetype [mscorlib]System.RuntimeFieldHandle) + IL_015b: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Field(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.FieldInfo) + IL_0160: ldc.i4.1 + IL_0161: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0166: stloc.s V_5 + IL_0168: ldloc.s V_5 + IL_016a: ldc.i4.0 + IL_016b: ldloc.s V_4 + IL_016d: stelem.ref + IL_016e: ldloc.s V_5 + IL_0170: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0175: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_017a: pop + IL_017b: ldnull + IL_017c: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.SimpleType + IL_0181: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0186: ldstr "a" + IL_018b: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0190: stloc.s V_6 + IL_0192: ldloc.s V_6 + IL_0194: ldtoken method instance int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.SimpleType::get_ReadonlyProperty() + IL_0199: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_019e: castclass [mscorlib]System.Reflection.MethodInfo + IL_01a3: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Property(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo) + IL_01a8: ldc.i4.1 + IL_01a9: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_01ae: stloc.s V_7 + IL_01b0: ldloc.s V_7 + IL_01b2: ldc.i4.0 + IL_01b3: ldloc.s V_6 + IL_01b5: stelem.ref + IL_01b6: ldloc.s V_7 + IL_01b8: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_01bd: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_01c2: pop + IL_01c3: ret + } // end of method ExpressionTrees::FieldAndPropertyAccess + + .method public hidebysig static void Call() cil managed + { + // Code size 549 (0x225) + .maxstack 7 + .locals init (class [System.Core]System.Linq.Expressions.ParameterExpression V_0, + class [System.Core]System.Linq.Expressions.Expression[] V_1, + class [System.Core]System.Linq.Expressions.ParameterExpression[] V_2, + class [System.Core]System.Linq.Expressions.ParameterExpression V_3, + class [System.Core]System.Linq.Expressions.ParameterExpression[] V_4, + class [System.Core]System.Linq.Expressions.ParameterExpression V_5, + class [System.Core]System.Linq.Expressions.ParameterExpression[] V_6, + class [System.Core]System.Linq.Expressions.ParameterExpression V_7, + class [System.Core]System.Linq.Expressions.Expression[] V_8, + class [System.Core]System.Linq.Expressions.ParameterExpression[] V_9, + class [System.Core]System.Linq.Expressions.Expression[] V_10) + IL_0000: ldnull + IL_0001: ldtoken [mscorlib]System.String + IL_0006: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_000b: ldstr "a" + IL_0010: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0015: stloc.0 + IL_0016: ldnull + IL_0017: ldtoken method void [mscorlib]System.Console::WriteLine(string) + IL_001c: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0021: castclass [mscorlib]System.Reflection.MethodInfo + IL_0026: ldc.i4.1 + IL_0027: newarr [System.Core]System.Linq.Expressions.Expression + IL_002c: stloc.1 + IL_002d: ldloc.1 + IL_002e: ldc.i4.0 + IL_002f: ldloc.0 + IL_0030: stelem.ref + IL_0031: ldloc.1 + IL_0032: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_0037: ldc.i4.1 + IL_0038: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_003d: stloc.2 + IL_003e: ldloc.2 + IL_003f: ldc.i4.0 + IL_0040: ldloc.0 + IL_0041: stelem.ref + IL_0042: ldloc.2 + IL_0043: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0048: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_004d: pop + IL_004e: ldsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate88' + IL_0053: brtrue.s IL_0066 + + IL_0055: ldnull + IL_0056: ldftn string ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'b__84'(string) + IL_005c: newobj instance void class [mscorlib]System.Func`2::.ctor(object, + native int) + IL_0061: stsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate88' + IL_0066: ldsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate88' + IL_006b: ldtoken [mscorlib]System.String + IL_0070: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0075: ldstr "a" + IL_007a: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_007f: stloc.3 + IL_0080: ldloc.3 + IL_0081: ldtoken method instance string [mscorlib]System.Object::ToString() + IL_0086: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_008b: castclass [mscorlib]System.Reflection.MethodInfo + IL_0090: ldc.i4.0 + IL_0091: newarr [System.Core]System.Linq.Expressions.Expression + IL_0096: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_009b: ldc.i4.1 + IL_009c: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_00a1: stloc.s V_4 + IL_00a3: ldloc.s V_4 + IL_00a5: ldc.i4.0 + IL_00a6: ldloc.3 + IL_00a7: stelem.ref + IL_00a8: ldloc.s V_4 + IL_00aa: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_00af: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_00b4: ldsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate89' + IL_00b9: brtrue.s IL_00cc + + IL_00bb: ldnull + IL_00bc: ldftn string ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'b__85'(int32) + IL_00c2: newobj instance void class [mscorlib]System.Func`2::.ctor(object, + native int) + IL_00c7: stsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate89' + IL_00cc: ldsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate89' + IL_00d1: ldtoken [mscorlib]System.Int32 + IL_00d6: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00db: ldstr "a" + IL_00e0: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_00e5: stloc.s V_5 + IL_00e7: ldloc.s V_5 + IL_00e9: ldtoken method instance string [mscorlib]System.Int32::ToString() + IL_00ee: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_00f3: castclass [mscorlib]System.Reflection.MethodInfo + IL_00f8: ldc.i4.0 + IL_00f9: newarr [System.Core]System.Linq.Expressions.Expression + IL_00fe: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_0103: ldc.i4.1 + IL_0104: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0109: stloc.s V_6 + IL_010b: ldloc.s V_6 + IL_010d: ldc.i4.0 + IL_010e: ldloc.s V_5 + IL_0110: stelem.ref + IL_0111: ldloc.s V_6 + IL_0113: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0118: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_011d: ldsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate8a' + IL_0122: brtrue.s IL_0135 + + IL_0124: ldnull + IL_0125: ldftn char[] ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'b__86'(string) + IL_012b: newobj instance void class [mscorlib]System.Func`2::.ctor(object, + native int) + IL_0130: stsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate8a' + IL_0135: ldsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate8a' + IL_013a: ldtoken [mscorlib]System.String + IL_013f: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0144: ldstr "a" + IL_0149: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_014e: stloc.s V_7 + IL_0150: ldnull + IL_0151: ldtoken method !!0[] [System.Core]System.Linq.Enumerable::ToArray(class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0156: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_015b: castclass [mscorlib]System.Reflection.MethodInfo + IL_0160: ldc.i4.1 + IL_0161: newarr [System.Core]System.Linq.Expressions.Expression + IL_0166: stloc.s V_8 + IL_0168: ldloc.s V_8 + IL_016a: ldc.i4.0 + IL_016b: ldloc.s V_7 + IL_016d: stelem.ref + IL_016e: ldloc.s V_8 + IL_0170: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_0175: ldc.i4.1 + IL_0176: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_017b: stloc.s V_9 + IL_017d: ldloc.s V_9 + IL_017f: ldc.i4.0 + IL_0180: ldloc.s V_7 + IL_0182: stelem.ref + IL_0183: ldloc.s V_9 + IL_0185: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_018a: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_018f: ldsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate8b' + IL_0194: brtrue.s IL_01a7 + + IL_0196: ldnull + IL_0197: ldftn bool ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'b__87'() + IL_019d: newobj instance void class [mscorlib]System.Func`1::.ctor(object, + native int) + IL_01a2: stsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate8b' + IL_01a7: ldsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate8b' + IL_01ac: ldc.i4.s 97 + IL_01ae: box [mscorlib]System.Char + IL_01b3: ldtoken [mscorlib]System.Char + IL_01b8: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_01bd: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_01c2: ldtoken method instance int32 [mscorlib]System.Char::CompareTo(char) + IL_01c7: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_01cc: castclass [mscorlib]System.Reflection.MethodInfo + IL_01d1: ldc.i4.1 + IL_01d2: newarr [System.Core]System.Linq.Expressions.Expression + IL_01d7: stloc.s V_10 + IL_01d9: ldloc.s V_10 + IL_01db: ldc.i4.0 + IL_01dc: ldc.i4.s 98 + IL_01de: box [mscorlib]System.Char + IL_01e3: ldtoken [mscorlib]System.Char + IL_01e8: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_01ed: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_01f2: stelem.ref + IL_01f3: ldloc.s V_10 + IL_01f5: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_01fa: ldc.i4.0 + IL_01fb: box [mscorlib]System.Int32 + IL_0200: ldtoken [mscorlib]System.Int32 + IL_0205: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_020a: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_020f: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::LessThan(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0214: ldc.i4.0 + IL_0215: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_021a: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_021f: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_0224: ret + } // end of method ExpressionTrees::Call + + .method public hidebysig static void Quote() cil managed + { + // Code size 203 (0xcb) + .maxstack 5 + .locals init (class [System.Core]System.Linq.Expressions.ParameterExpression V_0, + class [System.Core]System.Linq.Expressions.ParameterExpression V_1, + class [System.Core]System.Linq.Expressions.ParameterExpression[] V_2) + IL_0000: ldsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate8d' + IL_0005: brtrue.s IL_0018 + + IL_0007: ldnull + IL_0008: ldftn bool ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'b__8c'() + IL_000e: newobj instance void class [mscorlib]System.Func`1::.ctor(object, + native int) + IL_0013: stsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate8d' + IL_0018: ldsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate8d' + IL_001d: ldtoken [mscorlib]System.Int32 + IL_0022: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0027: ldstr "n" + IL_002c: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0031: stloc.0 + IL_0032: ldtoken [mscorlib]System.String + IL_0037: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_003c: ldstr "s" + IL_0041: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0046: stloc.1 + IL_0047: ldloc.1 + IL_0048: ldloc.0 + IL_0049: ldtoken method instance string [mscorlib]System.Int32::ToString() + IL_004e: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0053: castclass [mscorlib]System.Reflection.MethodInfo + IL_0058: ldc.i4.0 + IL_0059: newarr [System.Core]System.Linq.Expressions.Expression + IL_005e: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_0063: ldtoken method string [mscorlib]System.String::Concat(string, + string) + IL_0068: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_006d: castclass [mscorlib]System.Reflection.MethodInfo + IL_0072: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Add(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo) + IL_0077: ldc.i4.2 + IL_0078: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_007d: stloc.2 + IL_007e: ldloc.2 + IL_007f: ldc.i4.0 + IL_0080: ldloc.0 + IL_0081: stelem.ref + IL_0082: ldloc.2 + IL_0083: ldc.i4.1 + IL_0084: ldloc.1 + IL_0085: stelem.ref + IL_0086: ldloc.2 + IL_0087: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_008c: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Quote(class [System.Core]System.Linq.Expressions.Expression) + IL_0091: ldtoken class [System.Core]System.Linq.Expressions.Expression`1> + IL_0096: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_009b: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_00a0: ldnull + IL_00a1: box [mscorlib]System.Object + IL_00a6: ldtoken [mscorlib]System.Object + IL_00ab: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00b0: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_00b5: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::NotEqual(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_00ba: ldc.i4.0 + IL_00bb: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_00c0: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_00c5: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_00ca: ret + } // end of method ExpressionTrees::Quote + + .method public hidebysig static void ArrayInitializer() cil managed + { + // Code size 615 (0x267) + .maxstack 9 + .locals init (class [System.Core]System.Linq.Expressions.Expression[] V_0, + class [System.Core]System.Linq.Expressions.Expression[] V_1, + class [System.Core]System.Linq.Expressions.Expression[] V_2, + class [System.Core]System.Linq.Expressions.Expression[] V_3, + class [System.Core]System.Linq.Expressions.Expression[] V_4, + class [System.Core]System.Linq.Expressions.Expression[] V_5) + IL_0000: ldsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate93' + IL_0005: brtrue.s IL_0018 + + IL_0007: ldnull + IL_0008: ldftn int32[] ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'b__8e'() + IL_000e: newobj instance void class [mscorlib]System.Func`1::.ctor(object, + native int) + IL_0013: stsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate93' + IL_0018: ldsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate93' + IL_001d: ldtoken [mscorlib]System.Int32 + IL_0022: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0027: ldc.i4.3 + IL_0028: newarr [System.Core]System.Linq.Expressions.Expression + IL_002d: stloc.0 + IL_002e: ldloc.0 + IL_002f: ldc.i4.0 + IL_0030: ldc.i4.1 + IL_0031: box [mscorlib]System.Int32 + IL_0036: ldtoken [mscorlib]System.Int32 + IL_003b: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0040: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0045: stelem.ref + IL_0046: ldloc.0 + IL_0047: ldc.i4.1 + IL_0048: ldc.i4.2 + IL_0049: box [mscorlib]System.Int32 + IL_004e: ldtoken [mscorlib]System.Int32 + IL_0053: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0058: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_005d: stelem.ref + IL_005e: ldloc.0 + IL_005f: ldc.i4.2 + IL_0060: ldc.i4.3 + IL_0061: box [mscorlib]System.Int32 + IL_0066: ldtoken [mscorlib]System.Int32 + IL_006b: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0070: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0075: stelem.ref + IL_0076: ldloc.0 + IL_0077: call class [System.Core]System.Linq.Expressions.NewArrayExpression [System.Core]System.Linq.Expressions.Expression::NewArrayInit(class [mscorlib]System.Type, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_007c: ldc.i4.0 + IL_007d: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0082: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0087: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_008c: ldsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate94' + IL_0091: brtrue.s IL_00a4 + + IL_0093: ldnull + IL_0094: ldftn int32[] ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'b__8f'() + IL_009a: newobj instance void class [mscorlib]System.Func`1::.ctor(object, + native int) + IL_009f: stsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate94' + IL_00a4: ldsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate94' + IL_00a9: ldtoken [mscorlib]System.Int32 + IL_00ae: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00b3: ldc.i4.1 + IL_00b4: newarr [System.Core]System.Linq.Expressions.Expression + IL_00b9: stloc.1 + IL_00ba: ldloc.1 + IL_00bb: ldc.i4.0 + IL_00bc: ldc.i4.3 + IL_00bd: box [mscorlib]System.Int32 + IL_00c2: ldtoken [mscorlib]System.Int32 + IL_00c7: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00cc: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_00d1: stelem.ref + IL_00d2: ldloc.1 + IL_00d3: call class [System.Core]System.Linq.Expressions.NewArrayExpression [System.Core]System.Linq.Expressions.Expression::NewArrayBounds(class [mscorlib]System.Type, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_00d8: ldc.i4.0 + IL_00d9: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_00de: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_00e3: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_00e8: ldsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate95' + IL_00ed: brtrue.s IL_0100 + + IL_00ef: ldnull + IL_00f0: ldftn int32[0...,0...] ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'b__90'() + IL_00f6: newobj instance void class [mscorlib]System.Func`1::.ctor(object, + native int) + IL_00fb: stsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate95' + IL_0100: ldsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate95' + IL_0105: ldtoken [mscorlib]System.Int32 + IL_010a: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_010f: ldc.i4.2 + IL_0110: newarr [System.Core]System.Linq.Expressions.Expression + IL_0115: stloc.2 + IL_0116: ldloc.2 + IL_0117: ldc.i4.0 + IL_0118: ldc.i4.3 + IL_0119: box [mscorlib]System.Int32 + IL_011e: ldtoken [mscorlib]System.Int32 + IL_0123: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0128: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_012d: stelem.ref + IL_012e: ldloc.2 + IL_012f: ldc.i4.1 + IL_0130: ldc.i4.5 + IL_0131: box [mscorlib]System.Int32 + IL_0136: ldtoken [mscorlib]System.Int32 + IL_013b: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0140: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0145: stelem.ref + IL_0146: ldloc.2 + IL_0147: call class [System.Core]System.Linq.Expressions.NewArrayExpression [System.Core]System.Linq.Expressions.Expression::NewArrayBounds(class [mscorlib]System.Type, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_014c: ldc.i4.0 + IL_014d: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0152: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0157: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_015c: ldsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate96' + IL_0161: brtrue.s IL_0174 + + IL_0163: ldnull + IL_0164: ldftn int32[][] ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'b__91'() + IL_016a: newobj instance void class [mscorlib]System.Func`1::.ctor(object, + native int) + IL_016f: stsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate96' + IL_0174: ldsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate96' + IL_0179: ldtoken int32[] + IL_017e: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0183: ldc.i4.1 + IL_0184: newarr [System.Core]System.Linq.Expressions.Expression + IL_0189: stloc.3 + IL_018a: ldloc.3 + IL_018b: ldc.i4.0 + IL_018c: ldc.i4.3 + IL_018d: box [mscorlib]System.Int32 + IL_0192: ldtoken [mscorlib]System.Int32 + IL_0197: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_019c: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_01a1: stelem.ref + IL_01a2: ldloc.3 + IL_01a3: call class [System.Core]System.Linq.Expressions.NewArrayExpression [System.Core]System.Linq.Expressions.Expression::NewArrayBounds(class [mscorlib]System.Type, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_01a8: ldc.i4.0 + IL_01a9: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_01ae: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_01b3: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_01b8: ldsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate97' + IL_01bd: brtrue.s IL_01d0 + + IL_01bf: ldnull + IL_01c0: ldftn int32[][] ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'b__92'() + IL_01c6: newobj instance void class [mscorlib]System.Func`1::.ctor(object, + native int) + IL_01cb: stsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate97' + IL_01d0: ldsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate97' + IL_01d5: ldtoken int32[] + IL_01da: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_01df: ldc.i4.1 + IL_01e0: newarr [System.Core]System.Linq.Expressions.Expression + IL_01e5: stloc.s V_4 + IL_01e7: ldloc.s V_4 + IL_01e9: ldc.i4.0 + IL_01ea: ldtoken [mscorlib]System.Int32 + IL_01ef: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_01f4: ldc.i4.3 + IL_01f5: newarr [System.Core]System.Linq.Expressions.Expression + IL_01fa: stloc.s V_5 + IL_01fc: ldloc.s V_5 + IL_01fe: ldc.i4.0 + IL_01ff: ldc.i4.1 + IL_0200: box [mscorlib]System.Int32 + IL_0205: ldtoken [mscorlib]System.Int32 + IL_020a: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_020f: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0214: stelem.ref + IL_0215: ldloc.s V_5 + IL_0217: ldc.i4.1 + IL_0218: ldc.i4.2 + IL_0219: box [mscorlib]System.Int32 + IL_021e: ldtoken [mscorlib]System.Int32 + IL_0223: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0228: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_022d: stelem.ref + IL_022e: ldloc.s V_5 + IL_0230: ldc.i4.2 + IL_0231: ldc.i4.3 + IL_0232: box [mscorlib]System.Int32 + IL_0237: ldtoken [mscorlib]System.Int32 + IL_023c: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0241: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0246: stelem.ref + IL_0247: ldloc.s V_5 + IL_0249: call class [System.Core]System.Linq.Expressions.NewArrayExpression [System.Core]System.Linq.Expressions.Expression::NewArrayInit(class [mscorlib]System.Type, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_024e: stelem.ref + IL_024f: ldloc.s V_4 + IL_0251: call class [System.Core]System.Linq.Expressions.NewArrayExpression [System.Core]System.Linq.Expressions.Expression::NewArrayInit(class [mscorlib]System.Type, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_0256: ldc.i4.0 + IL_0257: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_025c: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0261: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_0266: ret + } // end of method ExpressionTrees::ArrayInitializer + + .method public hidebysig static void AnonymousTypes() cil managed + { + // Code size 180 (0xb4) + .maxstack 7 + .locals init (class [System.Core]System.Linq.Expressions.Expression[] V_0, + class [mscorlib]System.Reflection.MethodInfo[] V_1) + IL_0000: ldsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate99' + IL_0005: brtrue.s IL_0018 + + IL_0007: ldnull + IL_0008: ldftn object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'b__98'() + IL_000e: newobj instance void class [mscorlib]System.Func`1::.ctor(object, + native int) + IL_0013: stsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate99' + IL_0018: ldsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate99' + IL_001d: ldtoken method instance void class '<>f__AnonymousType2`2'::.ctor(!0, + !1) + IL_0022: ldtoken class '<>f__AnonymousType2`2' + IL_0027: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle, + valuetype [mscorlib]System.RuntimeTypeHandle) + IL_002c: castclass [mscorlib]System.Reflection.ConstructorInfo + IL_0031: ldc.i4.2 + IL_0032: newarr [System.Core]System.Linq.Expressions.Expression + IL_0037: stloc.0 + IL_0038: ldloc.0 + IL_0039: ldc.i4.0 + IL_003a: ldc.i4.5 + IL_003b: box [mscorlib]System.Int32 + IL_0040: ldtoken [mscorlib]System.Int32 + IL_0045: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_004a: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_004f: stelem.ref + IL_0050: ldloc.0 + IL_0051: ldc.i4.1 + IL_0052: ldstr "Test" + IL_0057: ldtoken [mscorlib]System.String + IL_005c: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0061: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0066: stelem.ref + IL_0067: ldloc.0 + IL_0068: ldc.i4.2 + IL_0069: newarr [mscorlib]System.Reflection.MethodInfo + IL_006e: stloc.1 + IL_006f: ldloc.1 + IL_0070: ldc.i4.0 + IL_0071: ldtoken method instance !0 class '<>f__AnonymousType2`2'::get_A() + IL_0076: ldtoken class '<>f__AnonymousType2`2' + IL_007b: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle, + valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0080: castclass [mscorlib]System.Reflection.MethodInfo + IL_0085: stelem.ref + IL_0086: ldloc.1 + IL_0087: ldc.i4.1 + IL_0088: ldtoken method instance !1 class '<>f__AnonymousType2`2'::get_B() + IL_008d: ldtoken class '<>f__AnonymousType2`2' + IL_0092: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle, + valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0097: castclass [mscorlib]System.Reflection.MethodInfo + IL_009c: stelem.ref + IL_009d: ldloc.1 + IL_009e: call class [System.Core]System.Linq.Expressions.NewExpression [System.Core]System.Linq.Expressions.Expression::New(class [mscorlib]System.Reflection.ConstructorInfo, + class [mscorlib]System.Collections.Generic.IEnumerable`1, + class [mscorlib]System.Reflection.MemberInfo[]) + IL_00a3: ldc.i4.0 + IL_00a4: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_00a9: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_00ae: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_00b3: ret + } // end of method ExpressionTrees::AnonymousTypes + + .method public hidebysig static void ObjectInit() cil managed + { + // Code size 141 (0x8d) + .maxstack 7 + .locals init (class [System.Core]System.Linq.Expressions.MemberBinding[] V_0) + IL_0000: ldnull + IL_0001: ldtoken method instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.SimpleType::.ctor() + IL_0006: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_000b: castclass [mscorlib]System.Reflection.ConstructorInfo + IL_0010: ldc.i4.0 + IL_0011: newarr [System.Core]System.Linq.Expressions.Expression + IL_0016: call class [System.Core]System.Linq.Expressions.NewExpression [System.Core]System.Linq.Expressions.Expression::New(class [mscorlib]System.Reflection.ConstructorInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_001b: ldc.i4.2 + IL_001c: newarr [System.Core]System.Linq.Expressions.MemberBinding + IL_0021: stloc.0 + IL_0022: ldloc.0 + IL_0023: ldc.i4.0 + IL_0024: ldtoken method instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.SimpleType::set_Property(int32) + IL_0029: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_002e: castclass [mscorlib]System.Reflection.MethodInfo + IL_0033: ldc.i4.4 + IL_0034: box [mscorlib]System.Int32 + IL_0039: ldtoken [mscorlib]System.Int32 + IL_003e: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0043: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0048: call class [System.Core]System.Linq.Expressions.MemberAssignment [System.Core]System.Linq.Expressions.Expression::Bind(class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression) + IL_004d: stelem.ref + IL_004e: ldloc.0 + IL_004f: ldc.i4.1 + IL_0050: ldtoken field int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.SimpleType::Field + IL_0055: call class [mscorlib]System.Reflection.FieldInfo [mscorlib]System.Reflection.FieldInfo::GetFieldFromHandle(valuetype [mscorlib]System.RuntimeFieldHandle) + IL_005a: ldc.i4.3 + IL_005b: box [mscorlib]System.Int32 + IL_0060: ldtoken [mscorlib]System.Int32 + IL_0065: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_006a: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_006f: call class [System.Core]System.Linq.Expressions.MemberAssignment [System.Core]System.Linq.Expressions.Expression::Bind(class [mscorlib]System.Reflection.MemberInfo, + class [System.Core]System.Linq.Expressions.Expression) + IL_0074: stelem.ref + IL_0075: ldloc.0 + IL_0076: call class [System.Core]System.Linq.Expressions.MemberInitExpression [System.Core]System.Linq.Expressions.Expression::MemberInit(class [System.Core]System.Linq.Expressions.NewExpression, + class [System.Core]System.Linq.Expressions.MemberBinding[]) + IL_007b: ldc.i4.0 + IL_007c: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0081: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0086: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_008b: pop + IL_008c: ret + } // end of method ExpressionTrees::ObjectInit + + .method public hidebysig specialname rtspecialname + instance void .ctor() cil managed + { + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [mscorlib]System.Object::.ctor() + IL_0006: ret + } // end of method ExpressionTrees::.ctor + + .method private hidebysig static string + 'b__6'(int32 n) cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 8 (0x8) + .maxstack 8 + IL_0000: ldarga.s n + IL_0002: call instance string [mscorlib]System.Int32::ToString() + IL_0007: ret + } // end of method ExpressionTrees::'b__6' + + .method private hidebysig static bool 'b__e'(class [mscorlib]System.Func`3 f) cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 9 (0x9) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldnull + IL_0002: ldnull + IL_0003: callvirt instance !2 class [mscorlib]System.Func`3::Invoke(!0, + !1) + IL_0008: ret + } // end of method ExpressionTrees::'b__e' + + .method private hidebysig static int32 + 'b__12'(class [mscorlib]System.Func`1 f) cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: callvirt instance !0 class [mscorlib]System.Func`1::Invoke() + IL_0006: ret + } // end of method ExpressionTrees::'b__12' + + .method private hidebysig static int32 + 'b__1d'(int32[] 'array') cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 4 (0x4) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldc.i4.0 + IL_0002: ldelem.i4 + IL_0003: ret + } // end of method ExpressionTrees::'b__1d' + + .method private hidebysig static int32 + 'b__1e'(int32[] 'array', + int32 index) cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 4 (0x4) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: ldelem.i4 + IL_0003: ret + } // end of method ExpressionTrees::'b__1e' + + .method private hidebysig static int32 + 'b__1f'(int32[0...,0...] 'array') cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 9 (0x9) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldc.i4.0 + IL_0002: ldc.i4.5 + IL_0003: call instance int32 int32[0...,0...]::Get(int32, + int32) + IL_0008: ret + } // end of method ExpressionTrees::'b__1f' + + .method private hidebysig static int32 + 'b__20'(int32[0...,0...] 'array', + int32 index) cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 9 (0x9) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: ldc.i4.7 + IL_0003: call instance int32 int32[0...,0...]::Get(int32, + int32) + IL_0008: ret + } // end of method ExpressionTrees::'b__20' + + .method private hidebysig static int32 + 'b__21'(int32[][] 'array', + int32 index) cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 6 (0x6) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: ldelem.ref + IL_0003: ldc.i4.7 + IL_0004: ldelem.i4 + IL_0005: ret + } // end of method ExpressionTrees::'b__21' + + .method private hidebysig static int32 + 'b__27'(int32[] 'array') cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 4 (0x4) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldlen + IL_0002: conv.i4 + IL_0003: ret + } // end of method ExpressionTrees::'b__27' + + .method private hidebysig static int32 + 'b__28'() cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldnull + IL_0001: callvirt instance int32 [mscorlib]System.Array::get_Length() + IL_0006: ret + } // end of method ExpressionTrees::'b__28' + + .method private hidebysig static object + 'b__2b'() cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 6 (0x6) + .maxstack 8 + IL_0000: newobj instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.SimpleType::.ctor() + IL_0005: ret + } // end of method ExpressionTrees::'b__2b' + + .method private hidebysig static object + 'b__2c'() cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldc.i4.5 + IL_0001: newobj instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.SimpleTypeWithCtor::.ctor(int32) + IL_0006: ret + } // end of method ExpressionTrees::'b__2c' + + .method private hidebysig static object + 'b__2d'() cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 6 (0x6) + .maxstack 8 + IL_0000: newobj instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.SimpleTypeWithMultipleCtors::.ctor() + IL_0005: ret + } // end of method ExpressionTrees::'b__2d' + + .method private hidebysig static object + 'b__2e'() cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldc.i4.5 + IL_0001: newobj instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.SimpleTypeWithMultipleCtors::.ctor(int32) + IL_0006: ret + } // end of method ExpressionTrees::'b__2e' + + .method private hidebysig static object + 'b__2f'() cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 6 (0x6) + .maxstack 8 + IL_0000: newobj instance void class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/GenericClass`1::.ctor() + IL_0005: ret + } // end of method ExpressionTrees::'b__2f' + + .method private hidebysig static object + 'b__30'() cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 6 (0x6) + .maxstack 8 + IL_0000: newobj instance void class ICSharpCode.Decompiler.Tests.TestCases.Pretty.GenericClassWithCtor`1::.ctor() + IL_0005: ret + } // end of method ExpressionTrees::'b__30' + + .method private hidebysig static object + 'b__31'() cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldc.i4.5 + IL_0001: newobj instance void class ICSharpCode.Decompiler.Tests.TestCases.Pretty.GenericClassWithMultipleCtors`1::.ctor(int32) + IL_0006: ret + } // end of method ExpressionTrees::'b__31' + + .method private hidebysig static class [mscorlib]System.Type + 'b__39'() cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 11 (0xb) + .maxstack 8 + IL_0000: ldtoken [mscorlib]System.Int32 + IL_0005: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_000a: ret + } // end of method ExpressionTrees::'b__39' + + .method private hidebysig static class [mscorlib]System.Type + 'b__3a'() cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 11 (0xb) + .maxstack 8 + IL_0000: ldtoken [mscorlib]System.Object + IL_0005: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_000a: ret + } // end of method ExpressionTrees::'b__3a' + + .method private hidebysig static class [mscorlib]System.Type + 'b__3b'() cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 11 (0xb) + .maxstack 8 + IL_0000: ldtoken [mscorlib]System.Collections.Generic.List`1 + IL_0005: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_000a: ret + } // end of method ExpressionTrees::'b__3b' + + .method private hidebysig static class [mscorlib]System.Type + 'b__3c'() cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 11 (0xb) + .maxstack 8 + IL_0000: ldtoken class [mscorlib]System.Collections.Generic.List`1 + IL_0005: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_000a: ret + } // end of method ExpressionTrees::'b__3c' + + .method private hidebysig static class [mscorlib]System.Type + 'b__3d'() cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 11 (0xb) + .maxstack 8 + IL_0000: ldtoken int32* + IL_0005: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_000a: ret + } // end of method ExpressionTrees::'b__3d' + + .method private hidebysig static class ICSharpCode.Decompiler.Tests.TestCases.Pretty.MyClass + 'b__43'(object obj) cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: isinst ICSharpCode.Decompiler.Tests.TestCases.Pretty.MyClass + IL_0006: ret + } // end of method ExpressionTrees::'b__43' + + .method private hidebysig static class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/GenericClass`1 + 'b__44'(object obj) cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: isinst class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/GenericClass`1 + IL_0006: ret + } // end of method ExpressionTrees::'b__44' + + .method private hidebysig static bool 'b__47'(object obj) cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 10 (0xa) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: isinst ICSharpCode.Decompiler.Tests.TestCases.Pretty.MyClass + IL_0006: ldnull + IL_0007: cgt.un + IL_0009: ret + } // end of method ExpressionTrees::'b__47' + + .method private hidebysig static bool 'b__49'(bool a) cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 5 (0x5) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldc.i4.0 + IL_0002: ceq + IL_0004: ret + } // end of method ExpressionTrees::'b__49' + + .method private hidebysig static int32 + 'b__4b'(int32 a) cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 2 (0x2) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ret + } // end of method ExpressionTrees::'b__4b' + + .method private hidebysig static int32 + 'b__4c'(int32 a) cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 3 (0x3) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: neg + IL_0002: ret + } // end of method ExpressionTrees::'b__4c' + + .method private hidebysig static int32 + 'b__4f'(int32 a, + int32 b) cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 4 (0x4) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: add + IL_0003: ret + } // end of method ExpressionTrees::'b__4f' + + .method private hidebysig static int32 + 'b__50'(int32 a, + int32 b) cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 4 (0x4) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: sub + IL_0003: ret + } // end of method ExpressionTrees::'b__50' + + .method private hidebysig static int32 + 'b__51'(int32 a, + int32 b) cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 4 (0x4) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: mul + IL_0003: ret + } // end of method ExpressionTrees::'b__51' + + .method private hidebysig static int32 + 'b__52'(int32 a, + int32 b) cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 4 (0x4) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: div + IL_0003: ret + } // end of method ExpressionTrees::'b__52' + + .method private hidebysig static int32 + 'b__53'(int32 a, + int32 b) cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 4 (0x4) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: rem + IL_0003: ret + } // end of method ExpressionTrees::'b__53' + + .method private hidebysig static int64 + 'b__54'(int64 a, + int32 b) cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 5 (0x5) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: conv.i8 + IL_0003: add + IL_0004: ret + } // end of method ExpressionTrees::'b__54' + + .method private hidebysig static int64 + 'b__55'(int64 a, + int32 b) cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 5 (0x5) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: conv.i8 + IL_0003: sub + IL_0004: ret + } // end of method ExpressionTrees::'b__55' + + .method private hidebysig static int64 + 'b__56'(int64 a, + int32 b) cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 5 (0x5) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: conv.i8 + IL_0003: mul + IL_0004: ret + } // end of method ExpressionTrees::'b__56' + + .method private hidebysig static int64 + 'b__57'(int64 a, + int32 b) cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 5 (0x5) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: conv.i8 + IL_0003: div + IL_0004: ret + } // end of method ExpressionTrees::'b__57' + + .method private hidebysig static int64 + 'b__58'(int64 a, + int32 b) cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 5 (0x5) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: conv.i8 + IL_0003: rem + IL_0004: ret + } // end of method ExpressionTrees::'b__58' + + .method private hidebysig static int32 + 'b__59'(int16 a, + int32 b) cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 4 (0x4) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: add + IL_0003: ret + } // end of method ExpressionTrees::'b__59' + + .method private hidebysig static int32 + 'b__5a'(int32 a, + int16 b) cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 4 (0x4) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: sub + IL_0003: ret + } // end of method ExpressionTrees::'b__5a' + + .method private hidebysig static int32 + 'b__5b'(int16 a, + int32 b) cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 4 (0x4) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: mul + IL_0003: ret + } // end of method ExpressionTrees::'b__5b' + + .method private hidebysig static int32 + 'b__5c'(int32 a, + int16 b) cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 4 (0x4) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: div + IL_0003: ret + } // end of method ExpressionTrees::'b__5c' + + .method private hidebysig static int32 + 'b__5d'(int16 a, + int32 b) cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 4 (0x4) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: rem + IL_0003: ret + } // end of method ExpressionTrees::'b__5d' + + .method private hidebysig static int32 + 'b__6d'(int32 a) cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 3 (0x3) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: not + IL_0002: ret + } // end of method ExpressionTrees::'b__6d' + + .method private hidebysig static int32 + 'b__6e'(int32 a, + int32 b) cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 4 (0x4) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: and + IL_0003: ret + } // end of method ExpressionTrees::'b__6e' + + .method private hidebysig static int32 + 'b__6f'(int32 a, + int32 b) cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 4 (0x4) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: or + IL_0003: ret + } // end of method ExpressionTrees::'b__6f' + + .method private hidebysig static int32 + 'b__70'(int32 a, + int32 b) cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 4 (0x4) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: xor + IL_0003: ret + } // end of method ExpressionTrees::'b__70' + + .method private hidebysig static int32 + 'b__75'(int32 a) cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 4 (0x4) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldc.i4.2 + IL_0002: shr + IL_0003: ret + } // end of method ExpressionTrees::'b__75' + + .method private hidebysig static int32 + 'b__76'(int32 a) cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 4 (0x4) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldc.i4.2 + IL_0002: shl + IL_0003: ret + } // end of method ExpressionTrees::'b__76' + + .method private hidebysig static int64 + 'b__77'(int64 a) cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 4 (0x4) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldc.i4.2 + IL_0002: shr + IL_0003: ret + } // end of method ExpressionTrees::'b__77' + + .method private hidebysig static int64 + 'b__78'(int64 a) cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 4 (0x4) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldc.i4.2 + IL_0002: shl + IL_0003: ret + } // end of method ExpressionTrees::'b__78' + + .method private hidebysig static int32 + 'b__7d'() cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 2 (0x2) + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: ret + } // end of method ExpressionTrees::'b__7d' + + .method private hidebysig static int32 + 'b__7e'(int32 a) cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 2 (0x2) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ret + } // end of method ExpressionTrees::'b__7e' + + .method private hidebysig static string + 'b__84'(string a) cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: callvirt instance string [mscorlib]System.Object::ToString() + IL_0006: ret + } // end of method ExpressionTrees::'b__84' + + .method private hidebysig static string + 'b__85'(int32 a) cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 8 (0x8) + .maxstack 8 + IL_0000: ldarga.s a + IL_0002: call instance string [mscorlib]System.Int32::ToString() + IL_0007: ret + } // end of method ExpressionTrees::'b__85' + + .method private hidebysig static char[] + 'b__86'(string a) cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call !!0[] [System.Core]System.Linq.Enumerable::ToArray(class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0006: ret + } // end of method ExpressionTrees::'b__86' + + .method private hidebysig static bool 'b__87'() cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 16 (0x10) + .maxstack 2 + .locals init (char V_0) + IL_0000: ldc.i4.s 97 + IL_0002: stloc.0 + IL_0003: ldloca.s V_0 + IL_0005: ldc.i4.s 98 + IL_0007: call instance int32 [mscorlib]System.Char::CompareTo(char) + IL_000c: ldc.i4.0 + IL_000d: clt + IL_000f: ret + } // end of method ExpressionTrees::'b__87' + + .method private hidebysig static bool 'b__8c'() cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 118 (0x76) + .maxstack 4 + .locals init (class [System.Core]System.Linq.Expressions.ParameterExpression V_0, + class [System.Core]System.Linq.Expressions.ParameterExpression V_1, + class [System.Core]System.Linq.Expressions.ParameterExpression[] V_2) + IL_0000: ldtoken [mscorlib]System.Int32 + IL_0005: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_000a: ldstr "n" + IL_000f: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0014: stloc.0 + IL_0015: ldtoken [mscorlib]System.String + IL_001a: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_001f: ldstr "s" + IL_0024: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0029: stloc.1 + IL_002a: ldloc.1 + IL_002b: ldloc.0 + IL_002c: ldtoken method instance string [mscorlib]System.Int32::ToString() + IL_0031: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0036: castclass [mscorlib]System.Reflection.MethodInfo + IL_003b: ldc.i4.0 + IL_003c: newarr [System.Core]System.Linq.Expressions.Expression + IL_0041: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_0046: ldtoken method string [mscorlib]System.String::Concat(string, + string) + IL_004b: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0050: castclass [mscorlib]System.Reflection.MethodInfo + IL_0055: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Add(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo) + IL_005a: ldc.i4.2 + IL_005b: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0060: stloc.2 + IL_0061: ldloc.2 + IL_0062: ldc.i4.0 + IL_0063: ldloc.0 + IL_0064: stelem.ref + IL_0065: ldloc.2 + IL_0066: ldc.i4.1 + IL_0067: ldloc.1 + IL_0068: stelem.ref + IL_0069: ldloc.2 + IL_006a: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_006f: ldnull + IL_0070: ceq + IL_0072: ldc.i4.0 + IL_0073: ceq + IL_0075: ret + } // end of method ExpressionTrees::'b__8c' + + .method private hidebysig static int32[] + 'b__8e'() cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 18 (0x12) + .maxstack 8 + IL_0000: ldc.i4.3 + IL_0001: newarr [mscorlib]System.Int32 + IL_0006: dup + IL_0007: ldtoken field valuetype '{416BD71B-B506-4355-8604-9F8C6A2FDEE6}'/'__StaticArrayInitTypeSize=12' '{416BD71B-B506-4355-8604-9F8C6A2FDEE6}'::'$$method0x60000bc-1' + IL_000c: call void [mscorlib]System.Runtime.CompilerServices.RuntimeHelpers::InitializeArray(class [mscorlib]System.Array, + valuetype [mscorlib]System.RuntimeFieldHandle) + IL_0011: ret + } // end of method ExpressionTrees::'b__8e' + + .method private hidebysig static int32[] + 'b__8f'() cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldc.i4.3 + IL_0001: newarr [mscorlib]System.Int32 + IL_0006: ret + } // end of method ExpressionTrees::'b__8f' + + .method private hidebysig static int32[0...,0...] + 'b__90'() cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 8 (0x8) + .maxstack 8 + IL_0000: ldc.i4.3 + IL_0001: ldc.i4.5 + IL_0002: newobj instance void int32[0...,0...]::.ctor(int32, + int32) + IL_0007: ret + } // end of method ExpressionTrees::'b__90' + + .method private hidebysig static int32[][] + 'b__91'() cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldc.i4.3 + IL_0001: newarr int32[] + IL_0006: ret + } // end of method ExpressionTrees::'b__91' + + .method private hidebysig static int32[][] + 'b__92'() cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 29 (0x1d) + .maxstack 5 + .locals init (int32[][] V_0) + IL_0000: ldc.i4.1 + IL_0001: newarr int32[] + IL_0006: stloc.0 + IL_0007: ldloc.0 + IL_0008: ldc.i4.0 + IL_0009: ldc.i4.3 + IL_000a: newarr [mscorlib]System.Int32 + IL_000f: dup + IL_0010: ldtoken field valuetype '{416BD71B-B506-4355-8604-9F8C6A2FDEE6}'/'__StaticArrayInitTypeSize=12' '{416BD71B-B506-4355-8604-9F8C6A2FDEE6}'::'$$method0x60000c0-1' + IL_0015: call void [mscorlib]System.Runtime.CompilerServices.RuntimeHelpers::InitializeArray(class [mscorlib]System.Array, + valuetype [mscorlib]System.RuntimeFieldHandle) + IL_001a: stelem.ref + IL_001b: ldloc.0 + IL_001c: ret + } // end of method ExpressionTrees::'b__92' + + .method private hidebysig static object + 'b__98'() cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 12 (0xc) + .maxstack 8 + IL_0000: ldc.i4.5 + IL_0001: ldstr "Test" + IL_0006: newobj instance void class '<>f__AnonymousType2`2'::.ctor(!0, + !1) + IL_000b: ret + } // end of method ExpressionTrees::'b__98' + +} // end of class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees + +.class private auto ansi beforefieldinit ICSharpCode.Decompiler.Tests.TestCases.Pretty.MyClass + extends [mscorlib]System.Object +{ + .method public hidebysig specialname static + class ICSharpCode.Decompiler.Tests.TestCases.Pretty.MyClass + op_Addition(class ICSharpCode.Decompiler.Tests.TestCases.Pretty.MyClass a, + class ICSharpCode.Decompiler.Tests.TestCases.Pretty.MyClass b) cil managed + { + // Code size 6 (0x6) + .maxstack 8 + IL_0000: newobj instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.MyClass::.ctor() + IL_0005: ret + } // end of method MyClass::op_Addition + + .method public hidebysig specialname rtspecialname + instance void .ctor() cil managed + { + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [mscorlib]System.Object::.ctor() + IL_0006: ret + } // end of method MyClass::.ctor + +} // end of class ICSharpCode.Decompiler.Tests.TestCases.Pretty.MyClass + +.class private auto ansi beforefieldinit ICSharpCode.Decompiler.Tests.TestCases.Pretty.SimpleType + extends [mscorlib]System.Object +{ + .field public static literal int32 ConstField = int32(0x00000001) + .field public static initonly int32 StaticReadonlyField + .field public static int32 StaticField + .field public initonly int32 ReadonlyField + .field public int32 Field + .field private static int32 'k__BackingField' + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field private int32 'k__BackingField' + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .method public hidebysig specialname static + int32 get_StaticReadonlyProperty() cil managed + { + // Code size 2 (0x2) + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: ret + } // end of method SimpleType::get_StaticReadonlyProperty + + .method public hidebysig specialname static + int32 get_StaticProperty() cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 6 (0x6) + .maxstack 8 + IL_0000: ldsfld int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.SimpleType::'k__BackingField' + IL_0005: ret + } // end of method SimpleType::get_StaticProperty + + .method public hidebysig specialname static + void set_StaticProperty(int32 'value') cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: stsfld int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.SimpleType::'k__BackingField' + IL_0006: ret + } // end of method SimpleType::set_StaticProperty + + .method public hidebysig specialname instance int32 + get_ReadonlyProperty() cil managed + { + // Code size 2 (0x2) + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: ret + } // end of method SimpleType::get_ReadonlyProperty + + .method public hidebysig specialname instance int32 + get_Property() cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.SimpleType::'k__BackingField' + IL_0006: ret + } // end of method SimpleType::get_Property + + .method public hidebysig specialname instance void + set_Property(int32 'value') cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 8 (0x8) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.SimpleType::'k__BackingField' + IL_0007: ret + } // end of method SimpleType::set_Property + + .method public hidebysig specialname rtspecialname + instance void .ctor() cil managed + { + // Code size 21 (0x15) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldc.i4.2 + IL_0002: stfld int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.SimpleType::ReadonlyField + IL_0007: ldarg.0 + IL_0008: ldc.i4.3 + IL_0009: stfld int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.SimpleType::Field + IL_000e: ldarg.0 + IL_000f: call instance void [mscorlib]System.Object::.ctor() + IL_0014: ret + } // end of method SimpleType::.ctor + + .method private hidebysig specialname rtspecialname static + void .cctor() cil managed + { + // Code size 13 (0xd) + .maxstack 8 + IL_0000: ldc.i4.2 + IL_0001: stsfld int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.SimpleType::StaticReadonlyField + IL_0006: ldc.i4.3 + IL_0007: stsfld int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.SimpleType::StaticField + IL_000c: ret + } // end of method SimpleType::.cctor + + .property int32 StaticReadonlyProperty() + { + .get int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.SimpleType::get_StaticReadonlyProperty() + } // end of property SimpleType::StaticReadonlyProperty + .property int32 StaticProperty() + { + .get int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.SimpleType::get_StaticProperty() + .set void ICSharpCode.Decompiler.Tests.TestCases.Pretty.SimpleType::set_StaticProperty(int32) + } // end of property SimpleType::StaticProperty + .property instance int32 ReadonlyProperty() + { + .get instance int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.SimpleType::get_ReadonlyProperty() + } // end of property SimpleType::ReadonlyProperty + .property instance int32 Property() + { + .get instance int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.SimpleType::get_Property() + .set instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.SimpleType::set_Property(int32) + } // end of property SimpleType::Property +} // end of class ICSharpCode.Decompiler.Tests.TestCases.Pretty.SimpleType + +.class private auto ansi beforefieldinit ICSharpCode.Decompiler.Tests.TestCases.Pretty.SimpleTypeWithCtor + extends [mscorlib]System.Object +{ + .method public hidebysig specialname rtspecialname + instance void .ctor(int32 i) cil managed + { + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [mscorlib]System.Object::.ctor() + IL_0006: ret + } // end of method SimpleTypeWithCtor::.ctor + +} // end of class ICSharpCode.Decompiler.Tests.TestCases.Pretty.SimpleTypeWithCtor + +.class private auto ansi beforefieldinit ICSharpCode.Decompiler.Tests.TestCases.Pretty.SimpleTypeWithMultipleCtors + extends [mscorlib]System.Object +{ + .method public hidebysig specialname rtspecialname + instance void .ctor() cil managed + { + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [mscorlib]System.Object::.ctor() + IL_0006: ret + } // end of method SimpleTypeWithMultipleCtors::.ctor + + .method public hidebysig specialname rtspecialname + instance void .ctor(int32 i) cil managed + { + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [mscorlib]System.Object::.ctor() + IL_0006: ret + } // end of method SimpleTypeWithMultipleCtors::.ctor + +} // end of class ICSharpCode.Decompiler.Tests.TestCases.Pretty.SimpleTypeWithMultipleCtors + +.class private auto ansi beforefieldinit ICSharpCode.Decompiler.Tests.TestCases.Pretty.GenericClassWithCtor`1 + extends [mscorlib]System.Object +{ + .method public hidebysig specialname rtspecialname + instance void .ctor() cil managed + { + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [mscorlib]System.Object::.ctor() + IL_0006: ret + } // end of method GenericClassWithCtor`1::.ctor + +} // end of class ICSharpCode.Decompiler.Tests.TestCases.Pretty.GenericClassWithCtor`1 + +.class private auto ansi beforefieldinit ICSharpCode.Decompiler.Tests.TestCases.Pretty.GenericClassWithMultipleCtors`1 + extends [mscorlib]System.Object +{ + .method public hidebysig specialname rtspecialname + instance void .ctor() cil managed + { + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [mscorlib]System.Object::.ctor() + IL_0006: ret + } // end of method GenericClassWithMultipleCtors`1::.ctor + + .method public hidebysig specialname rtspecialname + instance void .ctor(int32 x) cil managed + { + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [mscorlib]System.Object::.ctor() + IL_0006: ret + } // end of method GenericClassWithMultipleCtors`1::.ctor + +} // end of class ICSharpCode.Decompiler.Tests.TestCases.Pretty.GenericClassWithMultipleCtors`1 + +.class private auto ansi beforefieldinit ICSharpCode.Decompiler.Tests.TestCases.Pretty.GenericClass`1 + extends [mscorlib]System.Object +{ + .method public hidebysig specialname rtspecialname + instance void .ctor() cil managed + { + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [mscorlib]System.Object::.ctor() + IL_0006: ret + } // end of method GenericClass`1::.ctor + +} // end of class ICSharpCode.Decompiler.Tests.TestCases.Pretty.GenericClass`1 + +.class private auto ansi sealed beforefieldinit '<>f__AnonymousType0`2'<'j__TPar','j__TPar'> + extends [mscorlib]System.Object +{ + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field private initonly !'j__TPar' 'i__Field' + .custom instance void [mscorlib]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [mscorlib]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field private initonly !'j__TPar' 'i__Field' + .custom instance void [mscorlib]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [mscorlib]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .method public hidebysig specialname rtspecialname + instance void .ctor(!'j__TPar' X, + !'j__TPar' A) cil managed + { + .custom instance void [mscorlib]System.Diagnostics.DebuggerHiddenAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 21 (0x15) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [mscorlib]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld !0 class '<>f__AnonymousType0`2'j__TPar',!'j__TPar'>::'i__Field' + IL_000d: ldarg.0 + IL_000e: ldarg.2 + IL_000f: stfld !1 class '<>f__AnonymousType0`2'j__TPar',!'j__TPar'>::'i__Field' + IL_0014: ret + } // end of method '<>f__AnonymousType0`2'::.ctor + + .method public hidebysig specialname instance !'j__TPar' + get_X() cil managed + { + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld !0 class '<>f__AnonymousType0`2'j__TPar',!'j__TPar'>::'i__Field' + IL_0006: ret + } // end of method '<>f__AnonymousType0`2'::get_X + + .method public hidebysig specialname instance !'j__TPar' + get_A() cil managed + { + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld !1 class '<>f__AnonymousType0`2'j__TPar',!'j__TPar'>::'i__Field' + IL_0006: ret + } // end of method '<>f__AnonymousType0`2'::get_A + + .method public hidebysig virtual instance string + ToString() cil managed + { + .custom instance void [mscorlib]System.Diagnostics.DebuggerHiddenAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 85 (0x55) + .maxstack 2 + .locals init (class [mscorlib]System.Text.StringBuilder V_0) + IL_0000: newobj instance void [mscorlib]System.Text.StringBuilder::.ctor() + IL_0005: stloc.0 + IL_0006: ldloc.0 + IL_0007: ldstr "{ X = " + IL_000c: callvirt instance class [mscorlib]System.Text.StringBuilder [mscorlib]System.Text.StringBuilder::Append(string) + IL_0011: pop + IL_0012: ldloc.0 + IL_0013: ldarg.0 + IL_0014: ldfld !0 class '<>f__AnonymousType0`2'j__TPar',!'j__TPar'>::'i__Field' + IL_0019: box !'j__TPar' + IL_001e: callvirt instance class [mscorlib]System.Text.StringBuilder [mscorlib]System.Text.StringBuilder::Append(object) + IL_0023: pop + IL_0024: ldloc.0 + IL_0025: ldstr ", A = " + IL_002a: callvirt instance class [mscorlib]System.Text.StringBuilder [mscorlib]System.Text.StringBuilder::Append(string) + IL_002f: pop + IL_0030: ldloc.0 + IL_0031: ldarg.0 + IL_0032: ldfld !1 class '<>f__AnonymousType0`2'j__TPar',!'j__TPar'>::'i__Field' + IL_0037: box !'j__TPar' + IL_003c: callvirt instance class [mscorlib]System.Text.StringBuilder [mscorlib]System.Text.StringBuilder::Append(object) + IL_0041: pop + IL_0042: ldloc.0 + IL_0043: ldstr " }" + IL_0048: callvirt instance class [mscorlib]System.Text.StringBuilder [mscorlib]System.Text.StringBuilder::Append(string) + IL_004d: pop + IL_004e: ldloc.0 + IL_004f: callvirt instance string [mscorlib]System.Object::ToString() + IL_0054: ret + } // end of method '<>f__AnonymousType0`2'::ToString + + .method public hidebysig virtual instance bool + Equals(object 'value') cil managed + { + .custom instance void [mscorlib]System.Diagnostics.DebuggerHiddenAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 59 (0x3b) + .maxstack 3 + .locals init (class '<>f__AnonymousType0`2'j__TPar',!'j__TPar'> V_0) + IL_0000: ldarg.1 + IL_0001: isinst class '<>f__AnonymousType0`2'j__TPar',!'j__TPar'> + IL_0006: stloc.0 + IL_0007: ldloc.0 + IL_0008: brfalse.s IL_0039 + + IL_000a: call class [mscorlib]System.Collections.Generic.EqualityComparer`1 class [mscorlib]System.Collections.Generic.EqualityComparer`1j__TPar'>::get_Default() + IL_000f: ldarg.0 + IL_0010: ldfld !0 class '<>f__AnonymousType0`2'j__TPar',!'j__TPar'>::'i__Field' + IL_0015: ldloc.0 + IL_0016: ldfld !0 class '<>f__AnonymousType0`2'j__TPar',!'j__TPar'>::'i__Field' + IL_001b: callvirt instance bool class [mscorlib]System.Collections.Generic.EqualityComparer`1j__TPar'>::Equals(!0, + !0) + IL_0020: brfalse.s IL_0039 + + IL_0022: call class [mscorlib]System.Collections.Generic.EqualityComparer`1 class [mscorlib]System.Collections.Generic.EqualityComparer`1j__TPar'>::get_Default() + IL_0027: ldarg.0 + IL_0028: ldfld !1 class '<>f__AnonymousType0`2'j__TPar',!'j__TPar'>::'i__Field' + IL_002d: ldloc.0 + IL_002e: ldfld !1 class '<>f__AnonymousType0`2'j__TPar',!'j__TPar'>::'i__Field' + IL_0033: callvirt instance bool class [mscorlib]System.Collections.Generic.EqualityComparer`1j__TPar'>::Equals(!0, + !0) + IL_0038: ret + + IL_0039: ldc.i4.0 + IL_003a: ret + } // end of method '<>f__AnonymousType0`2'::Equals + + .method public hidebysig virtual instance int32 + GetHashCode() cil managed + { + .custom instance void [mscorlib]System.Diagnostics.DebuggerHiddenAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 58 (0x3a) + .maxstack 3 + .locals init (int32 V_0) + IL_0000: ldc.i4 0xed16d9c + IL_0005: stloc.0 + IL_0006: ldc.i4 0xa5555529 + IL_000b: ldloc.0 + IL_000c: mul + IL_000d: call class [mscorlib]System.Collections.Generic.EqualityComparer`1 class [mscorlib]System.Collections.Generic.EqualityComparer`1j__TPar'>::get_Default() + IL_0012: ldarg.0 + IL_0013: ldfld !0 class '<>f__AnonymousType0`2'j__TPar',!'j__TPar'>::'i__Field' + IL_0018: callvirt instance int32 class [mscorlib]System.Collections.Generic.EqualityComparer`1j__TPar'>::GetHashCode(!0) + IL_001d: add + IL_001e: stloc.0 + IL_001f: ldc.i4 0xa5555529 + IL_0024: ldloc.0 + IL_0025: mul + IL_0026: call class [mscorlib]System.Collections.Generic.EqualityComparer`1 class [mscorlib]System.Collections.Generic.EqualityComparer`1j__TPar'>::get_Default() + IL_002b: ldarg.0 + IL_002c: ldfld !1 class '<>f__AnonymousType0`2'j__TPar',!'j__TPar'>::'i__Field' + IL_0031: callvirt instance int32 class [mscorlib]System.Collections.Generic.EqualityComparer`1j__TPar'>::GetHashCode(!0) + IL_0036: add + IL_0037: stloc.0 + IL_0038: ldloc.0 + IL_0039: ret + } // end of method '<>f__AnonymousType0`2'::GetHashCode + + .property instance !'j__TPar' X() + { + .get instance !'j__TPar' '<>f__AnonymousType0`2'::get_X() + } // end of property '<>f__AnonymousType0`2'::X + .property instance !'j__TPar' A() + { + .get instance !'j__TPar' '<>f__AnonymousType0`2'::get_A() + } // end of property '<>f__AnonymousType0`2'::A +} // end of class '<>f__AnonymousType0`2' + +.class private auto ansi sealed beforefieldinit '<>f__AnonymousType1`2'<'j__TPar','j__TPar'> + extends [mscorlib]System.Object +{ + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field private initonly !'j__TPar' 'i__Field' + .custom instance void [mscorlib]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [mscorlib]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field private initonly !'j__TPar' 'i__Field' + .custom instance void [mscorlib]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [mscorlib]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .method public hidebysig specialname rtspecialname + instance void .ctor(!'j__TPar' X, + !'j__TPar' Y) cil managed + { + .custom instance void [mscorlib]System.Diagnostics.DebuggerHiddenAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 21 (0x15) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [mscorlib]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld !0 class '<>f__AnonymousType1`2'j__TPar',!'j__TPar'>::'i__Field' + IL_000d: ldarg.0 + IL_000e: ldarg.2 + IL_000f: stfld !1 class '<>f__AnonymousType1`2'j__TPar',!'j__TPar'>::'i__Field' + IL_0014: ret + } // end of method '<>f__AnonymousType1`2'::.ctor + + .method public hidebysig specialname instance !'j__TPar' + get_X() cil managed + { + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld !0 class '<>f__AnonymousType1`2'j__TPar',!'j__TPar'>::'i__Field' + IL_0006: ret + } // end of method '<>f__AnonymousType1`2'::get_X + + .method public hidebysig specialname instance !'j__TPar' + get_Y() cil managed + { + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld !1 class '<>f__AnonymousType1`2'j__TPar',!'j__TPar'>::'i__Field' + IL_0006: ret + } // end of method '<>f__AnonymousType1`2'::get_Y + + .method public hidebysig virtual instance string + ToString() cil managed + { + .custom instance void [mscorlib]System.Diagnostics.DebuggerHiddenAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 85 (0x55) + .maxstack 2 + .locals init (class [mscorlib]System.Text.StringBuilder V_0) + IL_0000: newobj instance void [mscorlib]System.Text.StringBuilder::.ctor() + IL_0005: stloc.0 + IL_0006: ldloc.0 + IL_0007: ldstr "{ X = " + IL_000c: callvirt instance class [mscorlib]System.Text.StringBuilder [mscorlib]System.Text.StringBuilder::Append(string) + IL_0011: pop + IL_0012: ldloc.0 + IL_0013: ldarg.0 + IL_0014: ldfld !0 class '<>f__AnonymousType1`2'j__TPar',!'j__TPar'>::'i__Field' + IL_0019: box !'j__TPar' + IL_001e: callvirt instance class [mscorlib]System.Text.StringBuilder [mscorlib]System.Text.StringBuilder::Append(object) + IL_0023: pop + IL_0024: ldloc.0 + IL_0025: ldstr ", Y = " + IL_002a: callvirt instance class [mscorlib]System.Text.StringBuilder [mscorlib]System.Text.StringBuilder::Append(string) + IL_002f: pop + IL_0030: ldloc.0 + IL_0031: ldarg.0 + IL_0032: ldfld !1 class '<>f__AnonymousType1`2'j__TPar',!'j__TPar'>::'i__Field' + IL_0037: box !'j__TPar' + IL_003c: callvirt instance class [mscorlib]System.Text.StringBuilder [mscorlib]System.Text.StringBuilder::Append(object) + IL_0041: pop + IL_0042: ldloc.0 + IL_0043: ldstr " }" + IL_0048: callvirt instance class [mscorlib]System.Text.StringBuilder [mscorlib]System.Text.StringBuilder::Append(string) + IL_004d: pop + IL_004e: ldloc.0 + IL_004f: callvirt instance string [mscorlib]System.Object::ToString() + IL_0054: ret + } // end of method '<>f__AnonymousType1`2'::ToString + + .method public hidebysig virtual instance bool + Equals(object 'value') cil managed + { + .custom instance void [mscorlib]System.Diagnostics.DebuggerHiddenAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 59 (0x3b) + .maxstack 3 + .locals init (class '<>f__AnonymousType1`2'j__TPar',!'j__TPar'> V_0) + IL_0000: ldarg.1 + IL_0001: isinst class '<>f__AnonymousType1`2'j__TPar',!'j__TPar'> + IL_0006: stloc.0 + IL_0007: ldloc.0 + IL_0008: brfalse.s IL_0039 + + IL_000a: call class [mscorlib]System.Collections.Generic.EqualityComparer`1 class [mscorlib]System.Collections.Generic.EqualityComparer`1j__TPar'>::get_Default() + IL_000f: ldarg.0 + IL_0010: ldfld !0 class '<>f__AnonymousType1`2'j__TPar',!'j__TPar'>::'i__Field' + IL_0015: ldloc.0 + IL_0016: ldfld !0 class '<>f__AnonymousType1`2'j__TPar',!'j__TPar'>::'i__Field' + IL_001b: callvirt instance bool class [mscorlib]System.Collections.Generic.EqualityComparer`1j__TPar'>::Equals(!0, + !0) + IL_0020: brfalse.s IL_0039 + + IL_0022: call class [mscorlib]System.Collections.Generic.EqualityComparer`1 class [mscorlib]System.Collections.Generic.EqualityComparer`1j__TPar'>::get_Default() + IL_0027: ldarg.0 + IL_0028: ldfld !1 class '<>f__AnonymousType1`2'j__TPar',!'j__TPar'>::'i__Field' + IL_002d: ldloc.0 + IL_002e: ldfld !1 class '<>f__AnonymousType1`2'j__TPar',!'j__TPar'>::'i__Field' + IL_0033: callvirt instance bool class [mscorlib]System.Collections.Generic.EqualityComparer`1j__TPar'>::Equals(!0, + !0) + IL_0038: ret + + IL_0039: ldc.i4.0 + IL_003a: ret + } // end of method '<>f__AnonymousType1`2'::Equals + + .method public hidebysig virtual instance int32 + GetHashCode() cil managed + { + .custom instance void [mscorlib]System.Diagnostics.DebuggerHiddenAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 58 (0x3a) + .maxstack 3 + .locals init (int32 V_0) + IL_0000: ldc.i4 0xc18f39dd + IL_0005: stloc.0 + IL_0006: ldc.i4 0xa5555529 + IL_000b: ldloc.0 + IL_000c: mul + IL_000d: call class [mscorlib]System.Collections.Generic.EqualityComparer`1 class [mscorlib]System.Collections.Generic.EqualityComparer`1j__TPar'>::get_Default() + IL_0012: ldarg.0 + IL_0013: ldfld !0 class '<>f__AnonymousType1`2'j__TPar',!'j__TPar'>::'i__Field' + IL_0018: callvirt instance int32 class [mscorlib]System.Collections.Generic.EqualityComparer`1j__TPar'>::GetHashCode(!0) + IL_001d: add + IL_001e: stloc.0 + IL_001f: ldc.i4 0xa5555529 + IL_0024: ldloc.0 + IL_0025: mul + IL_0026: call class [mscorlib]System.Collections.Generic.EqualityComparer`1 class [mscorlib]System.Collections.Generic.EqualityComparer`1j__TPar'>::get_Default() + IL_002b: ldarg.0 + IL_002c: ldfld !1 class '<>f__AnonymousType1`2'j__TPar',!'j__TPar'>::'i__Field' + IL_0031: callvirt instance int32 class [mscorlib]System.Collections.Generic.EqualityComparer`1j__TPar'>::GetHashCode(!0) + IL_0036: add + IL_0037: stloc.0 + IL_0038: ldloc.0 + IL_0039: ret + } // end of method '<>f__AnonymousType1`2'::GetHashCode + + .property instance !'j__TPar' X() + { + .get instance !'j__TPar' '<>f__AnonymousType1`2'::get_X() + } // end of property '<>f__AnonymousType1`2'::X + .property instance !'j__TPar' Y() + { + .get instance !'j__TPar' '<>f__AnonymousType1`2'::get_Y() + } // end of property '<>f__AnonymousType1`2'::Y +} // end of class '<>f__AnonymousType1`2' + +.class private auto ansi '{416BD71B-B506-4355-8604-9F8C6A2FDEE6}' + extends [mscorlib]System.Object +{ + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .class explicit ansi sealed nested private '__StaticArrayInitTypeSize=12' + extends [mscorlib]System.ValueType + { + .pack 1 + .size 12 + } // end of class '__StaticArrayInitTypeSize=12' + + .field static assembly valuetype '{416BD71B-B506-4355-8604-9F8C6A2FDEE6}'/'__StaticArrayInitTypeSize=12' '$$method0x60000bc-1' at I_00007670 + .field static assembly valuetype '{416BD71B-B506-4355-8604-9F8C6A2FDEE6}'/'__StaticArrayInitTypeSize=12' '$$method0x60000c0-1' at I_000076A8 +} // end of class '{416BD71B-B506-4355-8604-9F8C6A2FDEE6}' + +.class private auto ansi sealed beforefieldinit '<>f__AnonymousType2`2'<'j__TPar','j__TPar'> + extends [mscorlib]System.Object +{ + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field private initonly !'j__TPar' 'i__Field' + .custom instance void [mscorlib]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [mscorlib]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field private initonly !'j__TPar' 'i__Field' + .custom instance void [mscorlib]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [mscorlib]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .method public hidebysig specialname rtspecialname + instance void .ctor(!'j__TPar' A, + !'j__TPar' B) cil managed + { + .custom instance void [mscorlib]System.Diagnostics.DebuggerHiddenAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 21 (0x15) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [mscorlib]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld !0 class '<>f__AnonymousType2`2'j__TPar',!'j__TPar'>::'i__Field' + IL_000d: ldarg.0 + IL_000e: ldarg.2 + IL_000f: stfld !1 class '<>f__AnonymousType2`2'j__TPar',!'j__TPar'>::'i__Field' + IL_0014: ret + } // end of method '<>f__AnonymousType2`2'::.ctor + + .method public hidebysig specialname instance !'j__TPar' + get_A() cil managed + { + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld !0 class '<>f__AnonymousType2`2'j__TPar',!'j__TPar'>::'i__Field' + IL_0006: ret + } // end of method '<>f__AnonymousType2`2'::get_A + + .method public hidebysig specialname instance !'j__TPar' + get_B() cil managed + { + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld !1 class '<>f__AnonymousType2`2'j__TPar',!'j__TPar'>::'i__Field' + IL_0006: ret + } // end of method '<>f__AnonymousType2`2'::get_B + + .method public hidebysig virtual instance string + ToString() cil managed + { + .custom instance void [mscorlib]System.Diagnostics.DebuggerHiddenAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 85 (0x55) + .maxstack 2 + .locals init (class [mscorlib]System.Text.StringBuilder V_0) + IL_0000: newobj instance void [mscorlib]System.Text.StringBuilder::.ctor() + IL_0005: stloc.0 + IL_0006: ldloc.0 + IL_0007: ldstr "{ A = " + IL_000c: callvirt instance class [mscorlib]System.Text.StringBuilder [mscorlib]System.Text.StringBuilder::Append(string) + IL_0011: pop + IL_0012: ldloc.0 + IL_0013: ldarg.0 + IL_0014: ldfld !0 class '<>f__AnonymousType2`2'j__TPar',!'j__TPar'>::'i__Field' + IL_0019: box !'j__TPar' + IL_001e: callvirt instance class [mscorlib]System.Text.StringBuilder [mscorlib]System.Text.StringBuilder::Append(object) + IL_0023: pop + IL_0024: ldloc.0 + IL_0025: ldstr ", B = " + IL_002a: callvirt instance class [mscorlib]System.Text.StringBuilder [mscorlib]System.Text.StringBuilder::Append(string) + IL_002f: pop + IL_0030: ldloc.0 + IL_0031: ldarg.0 + IL_0032: ldfld !1 class '<>f__AnonymousType2`2'j__TPar',!'j__TPar'>::'i__Field' + IL_0037: box !'j__TPar' + IL_003c: callvirt instance class [mscorlib]System.Text.StringBuilder [mscorlib]System.Text.StringBuilder::Append(object) + IL_0041: pop + IL_0042: ldloc.0 + IL_0043: ldstr " }" + IL_0048: callvirt instance class [mscorlib]System.Text.StringBuilder [mscorlib]System.Text.StringBuilder::Append(string) + IL_004d: pop + IL_004e: ldloc.0 + IL_004f: callvirt instance string [mscorlib]System.Object::ToString() + IL_0054: ret + } // end of method '<>f__AnonymousType2`2'::ToString + + .method public hidebysig virtual instance bool + Equals(object 'value') cil managed + { + .custom instance void [mscorlib]System.Diagnostics.DebuggerHiddenAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 59 (0x3b) + .maxstack 3 + .locals init (class '<>f__AnonymousType2`2'j__TPar',!'j__TPar'> V_0) + IL_0000: ldarg.1 + IL_0001: isinst class '<>f__AnonymousType2`2'j__TPar',!'j__TPar'> + IL_0006: stloc.0 + IL_0007: ldloc.0 + IL_0008: brfalse.s IL_0039 + + IL_000a: call class [mscorlib]System.Collections.Generic.EqualityComparer`1 class [mscorlib]System.Collections.Generic.EqualityComparer`1j__TPar'>::get_Default() + IL_000f: ldarg.0 + IL_0010: ldfld !0 class '<>f__AnonymousType2`2'j__TPar',!'j__TPar'>::'i__Field' + IL_0015: ldloc.0 + IL_0016: ldfld !0 class '<>f__AnonymousType2`2'j__TPar',!'j__TPar'>::'i__Field' + IL_001b: callvirt instance bool class [mscorlib]System.Collections.Generic.EqualityComparer`1j__TPar'>::Equals(!0, + !0) + IL_0020: brfalse.s IL_0039 + + IL_0022: call class [mscorlib]System.Collections.Generic.EqualityComparer`1 class [mscorlib]System.Collections.Generic.EqualityComparer`1j__TPar'>::get_Default() + IL_0027: ldarg.0 + IL_0028: ldfld !1 class '<>f__AnonymousType2`2'j__TPar',!'j__TPar'>::'i__Field' + IL_002d: ldloc.0 + IL_002e: ldfld !1 class '<>f__AnonymousType2`2'j__TPar',!'j__TPar'>::'i__Field' + IL_0033: callvirt instance bool class [mscorlib]System.Collections.Generic.EqualityComparer`1j__TPar'>::Equals(!0, + !0) + IL_0038: ret + + IL_0039: ldc.i4.0 + IL_003a: ret + } // end of method '<>f__AnonymousType2`2'::Equals + + .method public hidebysig virtual instance int32 + GetHashCode() cil managed + { + .custom instance void [mscorlib]System.Diagnostics.DebuggerHiddenAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 58 (0x3a) + .maxstack 3 + .locals init (int32 V_0) + IL_0000: ldc.i4 0xbc6464e2 + IL_0005: stloc.0 + IL_0006: ldc.i4 0xa5555529 + IL_000b: ldloc.0 + IL_000c: mul + IL_000d: call class [mscorlib]System.Collections.Generic.EqualityComparer`1 class [mscorlib]System.Collections.Generic.EqualityComparer`1j__TPar'>::get_Default() + IL_0012: ldarg.0 + IL_0013: ldfld !0 class '<>f__AnonymousType2`2'j__TPar',!'j__TPar'>::'i__Field' + IL_0018: callvirt instance int32 class [mscorlib]System.Collections.Generic.EqualityComparer`1j__TPar'>::GetHashCode(!0) + IL_001d: add + IL_001e: stloc.0 + IL_001f: ldc.i4 0xa5555529 + IL_0024: ldloc.0 + IL_0025: mul + IL_0026: call class [mscorlib]System.Collections.Generic.EqualityComparer`1 class [mscorlib]System.Collections.Generic.EqualityComparer`1j__TPar'>::get_Default() + IL_002b: ldarg.0 + IL_002c: ldfld !1 class '<>f__AnonymousType2`2'j__TPar',!'j__TPar'>::'i__Field' + IL_0031: callvirt instance int32 class [mscorlib]System.Collections.Generic.EqualityComparer`1j__TPar'>::GetHashCode(!0) + IL_0036: add + IL_0037: stloc.0 + IL_0038: ldloc.0 + IL_0039: ret + } // end of method '<>f__AnonymousType2`2'::GetHashCode + + .property instance !'j__TPar' A() + { + .get instance !'j__TPar' '<>f__AnonymousType2`2'::get_A() + } // end of property '<>f__AnonymousType2`2'::A + .property instance !'j__TPar' B() + { + .get instance !'j__TPar' '<>f__AnonymousType2`2'::get_B() + } // end of property '<>f__AnonymousType2`2'::B +} // end of class '<>f__AnonymousType2`2' + + +// ============================================================= + +.data cil I_00007670 = bytearray ( + 01 00 00 00 02 00 00 00 03 00 00 00) +.data cil I_0000767C = int8[4] +.data cil I_000076A8 = bytearray ( + 01 00 00 00 02 00 00 00 03 00 00 00) +// *********** DISASSEMBLY COMPLETE *********************** +// WARNING: Created Win32 resource file ../../../TestCases/Pretty\ExpressionTrees.opt.res diff --git a/ICSharpCode.Decompiler.Tests/TestCases/Pretty/ExpressionTrees.opt.roslyn.il b/ICSharpCode.Decompiler.Tests/TestCases/Pretty/ExpressionTrees.opt.roslyn.il new file mode 100644 index 000000000..64f5a2744 --- /dev/null +++ b/ICSharpCode.Decompiler.Tests/TestCases/Pretty/ExpressionTrees.opt.roslyn.il @@ -0,0 +1,9687 @@ + +// Microsoft (R) .NET Framework IL Disassembler. Version 4.6.1055.0 +// Copyright (c) Microsoft Corporation. All rights reserved. + + + +// Metadata version: v4.0.30319 +.assembly extern mscorlib +{ + .publickeytoken = (B7 7A 5C 56 19 34 E0 89 ) // .z\V.4.. + .ver 4:0:0:0 +} +.assembly extern System.Core +{ + .publickeytoken = (B7 7A 5C 56 19 34 E0 89 ) // .z\V.4.. + .ver 4:0:0:0 +} +.assembly extern System.Xml +{ + .publickeytoken = (B7 7A 5C 56 19 34 E0 89 ) // .z\V.4.. + .ver 4:0:0:0 +} +.assembly ExpressionTrees +{ + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilationRelaxationsAttribute::.ctor(int32) = ( 01 00 08 00 00 00 00 00 ) + .custom instance void [mscorlib]System.Runtime.CompilerServices.RuntimeCompatibilityAttribute::.ctor() = ( 01 00 01 00 54 02 16 57 72 61 70 4E 6F 6E 45 78 // ....T..WrapNonEx + 63 65 70 74 69 6F 6E 54 68 72 6F 77 73 01 ) // ceptionThrows. + + // --- The following custom attribute is added automatically, do not uncomment ------- + // .custom instance void [mscorlib]System.Diagnostics.DebuggableAttribute::.ctor(valuetype [mscorlib]System.Diagnostics.DebuggableAttribute/DebuggingModes) = ( 01 00 02 00 00 00 00 00 ) + + .permissionset reqmin + = {[mscorlib]System.Security.Permissions.SecurityPermissionAttribute = {property bool 'SkipVerification' = bool(true)}} + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.module ExpressionTrees.dll +// MVID: {E7B76CAF-AEAC-4B94-A679-C6A5DAD2815C} +.custom instance void [mscorlib]System.Security.UnverifiableCodeAttribute::.ctor() = ( 01 00 00 00 ) +.imagebase 0x10000000 +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 // WINDOWS_CUI +.corflags 0x00000001 // ILONLY +// Image base: 0x048B0000 + + +// =============== CLASS MEMBERS DECLARATION =================== + +.class private auto ansi sealed beforefieldinit '<>f__AnonymousType0`2'<'j__TPar','j__TPar'> + extends [mscorlib]System.Object +{ + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field private initonly !'j__TPar' 'i__Field' + .custom instance void [mscorlib]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [mscorlib]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field private initonly !'j__TPar' 'i__Field' + .custom instance void [mscorlib]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [mscorlib]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .method public hidebysig specialname instance !'j__TPar' + get_X() cil managed + { + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld !0 class '<>f__AnonymousType0`2'j__TPar',!'j__TPar'>::'i__Field' + IL_0006: ret + } // end of method '<>f__AnonymousType0`2'::get_X + + .method public hidebysig specialname instance !'j__TPar' + get_A() cil managed + { + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld !1 class '<>f__AnonymousType0`2'j__TPar',!'j__TPar'>::'i__Field' + IL_0006: ret + } // end of method '<>f__AnonymousType0`2'::get_A + + .method public hidebysig specialname rtspecialname + instance void .ctor(!'j__TPar' X, + !'j__TPar' A) cil managed + { + .custom instance void [mscorlib]System.Diagnostics.DebuggerHiddenAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 21 (0x15) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [mscorlib]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld !0 class '<>f__AnonymousType0`2'j__TPar',!'j__TPar'>::'i__Field' + IL_000d: ldarg.0 + IL_000e: ldarg.2 + IL_000f: stfld !1 class '<>f__AnonymousType0`2'j__TPar',!'j__TPar'>::'i__Field' + IL_0014: ret + } // end of method '<>f__AnonymousType0`2'::.ctor + + .method public hidebysig virtual instance bool + Equals(object 'value') cil managed + { + .custom instance void [mscorlib]System.Diagnostics.DebuggerHiddenAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 59 (0x3b) + .maxstack 3 + .locals init (class '<>f__AnonymousType0`2'j__TPar',!'j__TPar'> V_0) + IL_0000: ldarg.1 + IL_0001: isinst class '<>f__AnonymousType0`2'j__TPar',!'j__TPar'> + IL_0006: stloc.0 + IL_0007: ldloc.0 + IL_0008: brfalse.s IL_0039 + + IL_000a: call class [mscorlib]System.Collections.Generic.EqualityComparer`1 class [mscorlib]System.Collections.Generic.EqualityComparer`1j__TPar'>::get_Default() + IL_000f: ldarg.0 + IL_0010: ldfld !0 class '<>f__AnonymousType0`2'j__TPar',!'j__TPar'>::'i__Field' + IL_0015: ldloc.0 + IL_0016: ldfld !0 class '<>f__AnonymousType0`2'j__TPar',!'j__TPar'>::'i__Field' + IL_001b: callvirt instance bool class [mscorlib]System.Collections.Generic.EqualityComparer`1j__TPar'>::Equals(!0, + !0) + IL_0020: brfalse.s IL_0039 + + IL_0022: call class [mscorlib]System.Collections.Generic.EqualityComparer`1 class [mscorlib]System.Collections.Generic.EqualityComparer`1j__TPar'>::get_Default() + IL_0027: ldarg.0 + IL_0028: ldfld !1 class '<>f__AnonymousType0`2'j__TPar',!'j__TPar'>::'i__Field' + IL_002d: ldloc.0 + IL_002e: ldfld !1 class '<>f__AnonymousType0`2'j__TPar',!'j__TPar'>::'i__Field' + IL_0033: callvirt instance bool class [mscorlib]System.Collections.Generic.EqualityComparer`1j__TPar'>::Equals(!0, + !0) + IL_0038: ret + + IL_0039: ldc.i4.0 + IL_003a: ret + } // end of method '<>f__AnonymousType0`2'::Equals + + .method public hidebysig virtual instance int32 + GetHashCode() cil managed + { + .custom instance void [mscorlib]System.Diagnostics.DebuggerHiddenAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 52 (0x34) + .maxstack 8 + IL_0000: ldc.i4 0x8fa3881e + IL_0005: ldc.i4 0xa5555529 + IL_000a: mul + IL_000b: call class [mscorlib]System.Collections.Generic.EqualityComparer`1 class [mscorlib]System.Collections.Generic.EqualityComparer`1j__TPar'>::get_Default() + IL_0010: ldarg.0 + IL_0011: ldfld !0 class '<>f__AnonymousType0`2'j__TPar',!'j__TPar'>::'i__Field' + IL_0016: callvirt instance int32 class [mscorlib]System.Collections.Generic.EqualityComparer`1j__TPar'>::GetHashCode(!0) + IL_001b: add + IL_001c: ldc.i4 0xa5555529 + IL_0021: mul + IL_0022: call class [mscorlib]System.Collections.Generic.EqualityComparer`1 class [mscorlib]System.Collections.Generic.EqualityComparer`1j__TPar'>::get_Default() + IL_0027: ldarg.0 + IL_0028: ldfld !1 class '<>f__AnonymousType0`2'j__TPar',!'j__TPar'>::'i__Field' + IL_002d: callvirt instance int32 class [mscorlib]System.Collections.Generic.EqualityComparer`1j__TPar'>::GetHashCode(!0) + IL_0032: add + IL_0033: ret + } // end of method '<>f__AnonymousType0`2'::GetHashCode + + .method public hidebysig virtual instance string + ToString() cil managed + { + .custom instance void [mscorlib]System.Diagnostics.DebuggerHiddenAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 136 (0x88) + .maxstack 7 + .locals init (!'j__TPar' V_0, + !'j__TPar' V_1, + !'j__TPar' V_2, + !'j__TPar' V_3) + IL_0000: ldnull + IL_0001: ldstr "{{ X = {0}, A = {1} }}" + IL_0006: ldc.i4.2 + IL_0007: newarr [mscorlib]System.Object + IL_000c: dup + IL_000d: ldc.i4.0 + IL_000e: ldarg.0 + IL_000f: ldfld !0 class '<>f__AnonymousType0`2'j__TPar',!'j__TPar'>::'i__Field' + IL_0014: stloc.0 + IL_0015: ldloca.s V_0 + IL_0017: ldloca.s V_1 + IL_0019: initobj !'j__TPar' + IL_001f: ldloc.1 + IL_0020: box !'j__TPar' + IL_0025: brtrue.s IL_003b + + IL_0027: ldobj !'j__TPar' + IL_002c: stloc.1 + IL_002d: ldloca.s V_1 + IL_002f: ldloc.1 + IL_0030: box !'j__TPar' + IL_0035: brtrue.s IL_003b + + IL_0037: pop + IL_0038: ldnull + IL_0039: br.s IL_0046 + + IL_003b: constrained. !'j__TPar' + IL_0041: callvirt instance string [mscorlib]System.Object::ToString() + IL_0046: stelem.ref + IL_0047: dup + IL_0048: ldc.i4.1 + IL_0049: ldarg.0 + IL_004a: ldfld !1 class '<>f__AnonymousType0`2'j__TPar',!'j__TPar'>::'i__Field' + IL_004f: stloc.2 + IL_0050: ldloca.s V_2 + IL_0052: ldloca.s V_3 + IL_0054: initobj !'j__TPar' + IL_005a: ldloc.3 + IL_005b: box !'j__TPar' + IL_0060: brtrue.s IL_0076 + + IL_0062: ldobj !'j__TPar' + IL_0067: stloc.3 + IL_0068: ldloca.s V_3 + IL_006a: ldloc.3 + IL_006b: box !'j__TPar' + IL_0070: brtrue.s IL_0076 + + IL_0072: pop + IL_0073: ldnull + IL_0074: br.s IL_0081 + + IL_0076: constrained. !'j__TPar' + IL_007c: callvirt instance string [mscorlib]System.Object::ToString() + IL_0081: stelem.ref + IL_0082: call string [mscorlib]System.String::Format(class [mscorlib]System.IFormatProvider, + string, + object[]) + IL_0087: ret + } // end of method '<>f__AnonymousType0`2'::ToString + + .property instance !'j__TPar' X() + { + .get instance !'j__TPar' '<>f__AnonymousType0`2'::get_X() + } // end of property '<>f__AnonymousType0`2'::X + .property instance !'j__TPar' A() + { + .get instance !'j__TPar' '<>f__AnonymousType0`2'::get_A() + } // end of property '<>f__AnonymousType0`2'::A +} // end of class '<>f__AnonymousType0`2' + +.class private auto ansi sealed beforefieldinit '<>f__AnonymousType1`2'<'j__TPar','j__TPar'> + extends [mscorlib]System.Object +{ + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field private initonly !'j__TPar' 'i__Field' + .custom instance void [mscorlib]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [mscorlib]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field private initonly !'j__TPar' 'i__Field' + .custom instance void [mscorlib]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [mscorlib]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .method public hidebysig specialname instance !'j__TPar' + get_X() cil managed + { + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld !0 class '<>f__AnonymousType1`2'j__TPar',!'j__TPar'>::'i__Field' + IL_0006: ret + } // end of method '<>f__AnonymousType1`2'::get_X + + .method public hidebysig specialname instance !'j__TPar' + get_Y() cil managed + { + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld !1 class '<>f__AnonymousType1`2'j__TPar',!'j__TPar'>::'i__Field' + IL_0006: ret + } // end of method '<>f__AnonymousType1`2'::get_Y + + .method public hidebysig specialname rtspecialname + instance void .ctor(!'j__TPar' X, + !'j__TPar' Y) cil managed + { + .custom instance void [mscorlib]System.Diagnostics.DebuggerHiddenAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 21 (0x15) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [mscorlib]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld !0 class '<>f__AnonymousType1`2'j__TPar',!'j__TPar'>::'i__Field' + IL_000d: ldarg.0 + IL_000e: ldarg.2 + IL_000f: stfld !1 class '<>f__AnonymousType1`2'j__TPar',!'j__TPar'>::'i__Field' + IL_0014: ret + } // end of method '<>f__AnonymousType1`2'::.ctor + + .method public hidebysig virtual instance bool + Equals(object 'value') cil managed + { + .custom instance void [mscorlib]System.Diagnostics.DebuggerHiddenAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 59 (0x3b) + .maxstack 3 + .locals init (class '<>f__AnonymousType1`2'j__TPar',!'j__TPar'> V_0) + IL_0000: ldarg.1 + IL_0001: isinst class '<>f__AnonymousType1`2'j__TPar',!'j__TPar'> + IL_0006: stloc.0 + IL_0007: ldloc.0 + IL_0008: brfalse.s IL_0039 + + IL_000a: call class [mscorlib]System.Collections.Generic.EqualityComparer`1 class [mscorlib]System.Collections.Generic.EqualityComparer`1j__TPar'>::get_Default() + IL_000f: ldarg.0 + IL_0010: ldfld !0 class '<>f__AnonymousType1`2'j__TPar',!'j__TPar'>::'i__Field' + IL_0015: ldloc.0 + IL_0016: ldfld !0 class '<>f__AnonymousType1`2'j__TPar',!'j__TPar'>::'i__Field' + IL_001b: callvirt instance bool class [mscorlib]System.Collections.Generic.EqualityComparer`1j__TPar'>::Equals(!0, + !0) + IL_0020: brfalse.s IL_0039 + + IL_0022: call class [mscorlib]System.Collections.Generic.EqualityComparer`1 class [mscorlib]System.Collections.Generic.EqualityComparer`1j__TPar'>::get_Default() + IL_0027: ldarg.0 + IL_0028: ldfld !1 class '<>f__AnonymousType1`2'j__TPar',!'j__TPar'>::'i__Field' + IL_002d: ldloc.0 + IL_002e: ldfld !1 class '<>f__AnonymousType1`2'j__TPar',!'j__TPar'>::'i__Field' + IL_0033: callvirt instance bool class [mscorlib]System.Collections.Generic.EqualityComparer`1j__TPar'>::Equals(!0, + !0) + IL_0038: ret + + IL_0039: ldc.i4.0 + IL_003a: ret + } // end of method '<>f__AnonymousType1`2'::Equals + + .method public hidebysig virtual instance int32 + GetHashCode() cil managed + { + .custom instance void [mscorlib]System.Diagnostics.DebuggerHiddenAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 52 (0x34) + .maxstack 8 + IL_0000: ldc.i4 0xe71b881e + IL_0005: ldc.i4 0xa5555529 + IL_000a: mul + IL_000b: call class [mscorlib]System.Collections.Generic.EqualityComparer`1 class [mscorlib]System.Collections.Generic.EqualityComparer`1j__TPar'>::get_Default() + IL_0010: ldarg.0 + IL_0011: ldfld !0 class '<>f__AnonymousType1`2'j__TPar',!'j__TPar'>::'i__Field' + IL_0016: callvirt instance int32 class [mscorlib]System.Collections.Generic.EqualityComparer`1j__TPar'>::GetHashCode(!0) + IL_001b: add + IL_001c: ldc.i4 0xa5555529 + IL_0021: mul + IL_0022: call class [mscorlib]System.Collections.Generic.EqualityComparer`1 class [mscorlib]System.Collections.Generic.EqualityComparer`1j__TPar'>::get_Default() + IL_0027: ldarg.0 + IL_0028: ldfld !1 class '<>f__AnonymousType1`2'j__TPar',!'j__TPar'>::'i__Field' + IL_002d: callvirt instance int32 class [mscorlib]System.Collections.Generic.EqualityComparer`1j__TPar'>::GetHashCode(!0) + IL_0032: add + IL_0033: ret + } // end of method '<>f__AnonymousType1`2'::GetHashCode + + .method public hidebysig virtual instance string + ToString() cil managed + { + .custom instance void [mscorlib]System.Diagnostics.DebuggerHiddenAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 136 (0x88) + .maxstack 7 + .locals init (!'j__TPar' V_0, + !'j__TPar' V_1, + !'j__TPar' V_2, + !'j__TPar' V_3) + IL_0000: ldnull + IL_0001: ldstr "{{ X = {0}, Y = {1} }}" + IL_0006: ldc.i4.2 + IL_0007: newarr [mscorlib]System.Object + IL_000c: dup + IL_000d: ldc.i4.0 + IL_000e: ldarg.0 + IL_000f: ldfld !0 class '<>f__AnonymousType1`2'j__TPar',!'j__TPar'>::'i__Field' + IL_0014: stloc.0 + IL_0015: ldloca.s V_0 + IL_0017: ldloca.s V_1 + IL_0019: initobj !'j__TPar' + IL_001f: ldloc.1 + IL_0020: box !'j__TPar' + IL_0025: brtrue.s IL_003b + + IL_0027: ldobj !'j__TPar' + IL_002c: stloc.1 + IL_002d: ldloca.s V_1 + IL_002f: ldloc.1 + IL_0030: box !'j__TPar' + IL_0035: brtrue.s IL_003b + + IL_0037: pop + IL_0038: ldnull + IL_0039: br.s IL_0046 + + IL_003b: constrained. !'j__TPar' + IL_0041: callvirt instance string [mscorlib]System.Object::ToString() + IL_0046: stelem.ref + IL_0047: dup + IL_0048: ldc.i4.1 + IL_0049: ldarg.0 + IL_004a: ldfld !1 class '<>f__AnonymousType1`2'j__TPar',!'j__TPar'>::'i__Field' + IL_004f: stloc.2 + IL_0050: ldloca.s V_2 + IL_0052: ldloca.s V_3 + IL_0054: initobj !'j__TPar' + IL_005a: ldloc.3 + IL_005b: box !'j__TPar' + IL_0060: brtrue.s IL_0076 + + IL_0062: ldobj !'j__TPar' + IL_0067: stloc.3 + IL_0068: ldloca.s V_3 + IL_006a: ldloc.3 + IL_006b: box !'j__TPar' + IL_0070: brtrue.s IL_0076 + + IL_0072: pop + IL_0073: ldnull + IL_0074: br.s IL_0081 + + IL_0076: constrained. !'j__TPar' + IL_007c: callvirt instance string [mscorlib]System.Object::ToString() + IL_0081: stelem.ref + IL_0082: call string [mscorlib]System.String::Format(class [mscorlib]System.IFormatProvider, + string, + object[]) + IL_0087: ret + } // end of method '<>f__AnonymousType1`2'::ToString + + .property instance !'j__TPar' X() + { + .get instance !'j__TPar' '<>f__AnonymousType1`2'::get_X() + } // end of property '<>f__AnonymousType1`2'::X + .property instance !'j__TPar' Y() + { + .get instance !'j__TPar' '<>f__AnonymousType1`2'::get_Y() + } // end of property '<>f__AnonymousType1`2'::Y +} // end of class '<>f__AnonymousType1`2' + +.class private auto ansi sealed beforefieldinit '<>f__AnonymousType2`2'<'j__TPar','j__TPar'> + extends [mscorlib]System.Object +{ + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field private initonly !'j__TPar' 'i__Field' + .custom instance void [mscorlib]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [mscorlib]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field private initonly !'j__TPar' 'i__Field' + .custom instance void [mscorlib]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [mscorlib]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .method public hidebysig specialname instance !'j__TPar' + get_A() cil managed + { + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld !0 class '<>f__AnonymousType2`2'j__TPar',!'j__TPar'>::'i__Field' + IL_0006: ret + } // end of method '<>f__AnonymousType2`2'::get_A + + .method public hidebysig specialname instance !'j__TPar' + get_B() cil managed + { + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld !1 class '<>f__AnonymousType2`2'j__TPar',!'j__TPar'>::'i__Field' + IL_0006: ret + } // end of method '<>f__AnonymousType2`2'::get_B + + .method public hidebysig specialname rtspecialname + instance void .ctor(!'j__TPar' A, + !'j__TPar' B) cil managed + { + .custom instance void [mscorlib]System.Diagnostics.DebuggerHiddenAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 21 (0x15) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [mscorlib]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld !0 class '<>f__AnonymousType2`2'j__TPar',!'j__TPar'>::'i__Field' + IL_000d: ldarg.0 + IL_000e: ldarg.2 + IL_000f: stfld !1 class '<>f__AnonymousType2`2'j__TPar',!'j__TPar'>::'i__Field' + IL_0014: ret + } // end of method '<>f__AnonymousType2`2'::.ctor + + .method public hidebysig virtual instance bool + Equals(object 'value') cil managed + { + .custom instance void [mscorlib]System.Diagnostics.DebuggerHiddenAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 59 (0x3b) + .maxstack 3 + .locals init (class '<>f__AnonymousType2`2'j__TPar',!'j__TPar'> V_0) + IL_0000: ldarg.1 + IL_0001: isinst class '<>f__AnonymousType2`2'j__TPar',!'j__TPar'> + IL_0006: stloc.0 + IL_0007: ldloc.0 + IL_0008: brfalse.s IL_0039 + + IL_000a: call class [mscorlib]System.Collections.Generic.EqualityComparer`1 class [mscorlib]System.Collections.Generic.EqualityComparer`1j__TPar'>::get_Default() + IL_000f: ldarg.0 + IL_0010: ldfld !0 class '<>f__AnonymousType2`2'j__TPar',!'j__TPar'>::'i__Field' + IL_0015: ldloc.0 + IL_0016: ldfld !0 class '<>f__AnonymousType2`2'j__TPar',!'j__TPar'>::'i__Field' + IL_001b: callvirt instance bool class [mscorlib]System.Collections.Generic.EqualityComparer`1j__TPar'>::Equals(!0, + !0) + IL_0020: brfalse.s IL_0039 + + IL_0022: call class [mscorlib]System.Collections.Generic.EqualityComparer`1 class [mscorlib]System.Collections.Generic.EqualityComparer`1j__TPar'>::get_Default() + IL_0027: ldarg.0 + IL_0028: ldfld !1 class '<>f__AnonymousType2`2'j__TPar',!'j__TPar'>::'i__Field' + IL_002d: ldloc.0 + IL_002e: ldfld !1 class '<>f__AnonymousType2`2'j__TPar',!'j__TPar'>::'i__Field' + IL_0033: callvirt instance bool class [mscorlib]System.Collections.Generic.EqualityComparer`1j__TPar'>::Equals(!0, + !0) + IL_0038: ret + + IL_0039: ldc.i4.0 + IL_003a: ret + } // end of method '<>f__AnonymousType2`2'::Equals + + .method public hidebysig virtual instance int32 + GetHashCode() cil managed + { + .custom instance void [mscorlib]System.Diagnostics.DebuggerHiddenAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 52 (0x34) + .maxstack 8 + IL_0000: ldc.i4 0x62ad881e + IL_0005: ldc.i4 0xa5555529 + IL_000a: mul + IL_000b: call class [mscorlib]System.Collections.Generic.EqualityComparer`1 class [mscorlib]System.Collections.Generic.EqualityComparer`1j__TPar'>::get_Default() + IL_0010: ldarg.0 + IL_0011: ldfld !0 class '<>f__AnonymousType2`2'j__TPar',!'j__TPar'>::'i__Field' + IL_0016: callvirt instance int32 class [mscorlib]System.Collections.Generic.EqualityComparer`1j__TPar'>::GetHashCode(!0) + IL_001b: add + IL_001c: ldc.i4 0xa5555529 + IL_0021: mul + IL_0022: call class [mscorlib]System.Collections.Generic.EqualityComparer`1 class [mscorlib]System.Collections.Generic.EqualityComparer`1j__TPar'>::get_Default() + IL_0027: ldarg.0 + IL_0028: ldfld !1 class '<>f__AnonymousType2`2'j__TPar',!'j__TPar'>::'i__Field' + IL_002d: callvirt instance int32 class [mscorlib]System.Collections.Generic.EqualityComparer`1j__TPar'>::GetHashCode(!0) + IL_0032: add + IL_0033: ret + } // end of method '<>f__AnonymousType2`2'::GetHashCode + + .method public hidebysig virtual instance string + ToString() cil managed + { + .custom instance void [mscorlib]System.Diagnostics.DebuggerHiddenAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 136 (0x88) + .maxstack 7 + .locals init (!'j__TPar' V_0, + !'j__TPar' V_1, + !'j__TPar' V_2, + !'j__TPar' V_3) + IL_0000: ldnull + IL_0001: ldstr "{{ A = {0}, B = {1} }}" + IL_0006: ldc.i4.2 + IL_0007: newarr [mscorlib]System.Object + IL_000c: dup + IL_000d: ldc.i4.0 + IL_000e: ldarg.0 + IL_000f: ldfld !0 class '<>f__AnonymousType2`2'j__TPar',!'j__TPar'>::'i__Field' + IL_0014: stloc.0 + IL_0015: ldloca.s V_0 + IL_0017: ldloca.s V_1 + IL_0019: initobj !'j__TPar' + IL_001f: ldloc.1 + IL_0020: box !'j__TPar' + IL_0025: brtrue.s IL_003b + + IL_0027: ldobj !'j__TPar' + IL_002c: stloc.1 + IL_002d: ldloca.s V_1 + IL_002f: ldloc.1 + IL_0030: box !'j__TPar' + IL_0035: brtrue.s IL_003b + + IL_0037: pop + IL_0038: ldnull + IL_0039: br.s IL_0046 + + IL_003b: constrained. !'j__TPar' + IL_0041: callvirt instance string [mscorlib]System.Object::ToString() + IL_0046: stelem.ref + IL_0047: dup + IL_0048: ldc.i4.1 + IL_0049: ldarg.0 + IL_004a: ldfld !1 class '<>f__AnonymousType2`2'j__TPar',!'j__TPar'>::'i__Field' + IL_004f: stloc.2 + IL_0050: ldloca.s V_2 + IL_0052: ldloca.s V_3 + IL_0054: initobj !'j__TPar' + IL_005a: ldloc.3 + IL_005b: box !'j__TPar' + IL_0060: brtrue.s IL_0076 + + IL_0062: ldobj !'j__TPar' + IL_0067: stloc.3 + IL_0068: ldloca.s V_3 + IL_006a: ldloc.3 + IL_006b: box !'j__TPar' + IL_0070: brtrue.s IL_0076 + + IL_0072: pop + IL_0073: ldnull + IL_0074: br.s IL_0081 + + IL_0076: constrained. !'j__TPar' + IL_007c: callvirt instance string [mscorlib]System.Object::ToString() + IL_0081: stelem.ref + IL_0082: call string [mscorlib]System.String::Format(class [mscorlib]System.IFormatProvider, + string, + object[]) + IL_0087: ret + } // end of method '<>f__AnonymousType2`2'::ToString + + .property instance !'j__TPar' A() + { + .get instance !'j__TPar' '<>f__AnonymousType2`2'::get_A() + } // end of property '<>f__AnonymousType2`2'::A + .property instance !'j__TPar' B() + { + .get instance !'j__TPar' '<>f__AnonymousType2`2'::get_B() + } // end of property '<>f__AnonymousType2`2'::B +} // end of class '<>f__AnonymousType2`2' + +.class public auto ansi beforefieldinit ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees + extends [mscorlib]System.Object +{ + .class auto ansi nested private beforefieldinit GenericClass`1 + extends [mscorlib]System.Object + { + .field public static !X StaticField + .field public !X InstanceField + .field private static !X 'k__BackingField' + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field private !X 'k__BackingField' + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .method public hidebysig specialname static + !X get_StaticProperty() cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 6 (0x6) + .maxstack 8 + IL_0000: ldsfld !0 class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/GenericClass`1::'k__BackingField' + IL_0005: ret + } // end of method GenericClass`1::get_StaticProperty + + .method public hidebysig specialname static + void set_StaticProperty(!X 'value') cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: stsfld !0 class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/GenericClass`1::'k__BackingField' + IL_0006: ret + } // end of method GenericClass`1::set_StaticProperty + + .method public hidebysig specialname + instance !X get_InstanceProperty() cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld !0 class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/GenericClass`1::'k__BackingField' + IL_0006: ret + } // end of method GenericClass`1::get_InstanceProperty + + .method public hidebysig specialname + instance void set_InstanceProperty(!X 'value') cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 8 (0x8) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld !0 class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/GenericClass`1::'k__BackingField' + IL_0007: ret + } // end of method GenericClass`1::set_InstanceProperty + + .method public hidebysig static bool + GenericMethod() cil managed + { + // Code size 2 (0x2) + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: ret + } // end of method GenericClass`1::GenericMethod + + .method public hidebysig specialname rtspecialname + instance void .ctor() cil managed + { + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [mscorlib]System.Object::.ctor() + IL_0006: ret + } // end of method GenericClass`1::.ctor + + .property !X StaticProperty() + { + .get !X ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/GenericClass`1::get_StaticProperty() + .set void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/GenericClass`1::set_StaticProperty(!X) + } // end of property GenericClass`1::StaticProperty + .property instance !X InstanceProperty() + { + .get instance !X ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/GenericClass`1::get_InstanceProperty() + .set instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/GenericClass`1::set_InstanceProperty(!X) + } // end of property GenericClass`1::InstanceProperty + } // end of class GenericClass`1 + + .class auto ansi sealed nested private beforefieldinit '<>c__DisplayClass7_0' + extends [mscorlib]System.Object + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field public bool a + .method public hidebysig specialname rtspecialname + instance void .ctor() cil managed + { + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [mscorlib]System.Object::.ctor() + IL_0006: ret + } // end of method '<>c__DisplayClass7_0'::.ctor + + } // end of class '<>c__DisplayClass7_0' + + .class auto ansi sealed nested private beforefieldinit '<>c__DisplayClass8_0' + extends [mscorlib]System.Object + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field public bool a + .method public hidebysig specialname rtspecialname + instance void .ctor() cil managed + { + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [mscorlib]System.Object::.ctor() + IL_0006: ret + } // end of method '<>c__DisplayClass8_0'::.ctor + + } // end of class '<>c__DisplayClass8_0' + + .class auto ansi sealed nested private beforefieldinit '<>c__DisplayClass10_0' + extends [mscorlib]System.Object + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 x + .method public hidebysig specialname rtspecialname + instance void .ctor() cil managed + { + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [mscorlib]System.Object::.ctor() + IL_0006: ret + } // end of method '<>c__DisplayClass10_0'::.ctor + + } // end of class '<>c__DisplayClass10_0' + + .class auto ansi sealed nested private beforefieldinit '<>c__DisplayClass18_0' + extends [mscorlib]System.Object + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field public class [mscorlib]System.Collections.Generic.Dictionary`2 dict + .method public hidebysig specialname rtspecialname + instance void .ctor() cil managed + { + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [mscorlib]System.Object::.ctor() + IL_0006: ret + } // end of method '<>c__DisplayClass18_0'::.ctor + + } // end of class '<>c__DisplayClass18_0' + + .class auto ansi serializable sealed nested private beforefieldinit '<>c' + extends [mscorlib]System.Object + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field public static initonly class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c' '<>9' + .field public static class [mscorlib]System.Func`2 '<>9__18_0' + .field public static class [mscorlib]System.Func`2,bool> '<>9__33_0' + .field public static class [mscorlib]System.Func`2,int32> '<>9__36_0' + .field public static class [mscorlib]System.Func`2 '<>9__62_0' + .field public static class [mscorlib]System.Func`3 '<>9__62_1' + .field public static class [mscorlib]System.Func`2 '<>9__62_2' + .field public static class [mscorlib]System.Func`3 '<>9__62_3' + .field public static class [mscorlib]System.Func`3 '<>9__62_4' + .field public static class [mscorlib]System.Func`2 '<>9__63_0' + .field public static class [mscorlib]System.Func`1 '<>9__63_1' + .field public static class [mscorlib]System.Func`1 '<>9__64_0' + .field public static class [mscorlib]System.Func`1 '<>9__64_1' + .field public static class [mscorlib]System.Func`1 '<>9__64_2' + .field public static class [mscorlib]System.Func`1 '<>9__64_3' + .field public static class [mscorlib]System.Func`1 '<>9__64_4' + .field public static class [mscorlib]System.Func`1 '<>9__64_5' + .field public static class [mscorlib]System.Func`1 '<>9__64_6' + .field public static class [mscorlib]System.Func`1 '<>9__65_0' + .field public static class [mscorlib]System.Func`1 '<>9__65_1' + .field public static class [mscorlib]System.Func`1 '<>9__65_2' + .field public static class [mscorlib]System.Func`1 '<>9__65_3' + .field public static class [mscorlib]System.Func`1 '<>9__65_4' + .field public static class [mscorlib]System.Func`2 '<>9__66_0' + .field public static class [mscorlib]System.Func`2> '<>9__66_1' + .field public static class [mscorlib]System.Func`2 '<>9__67_0' + .field public static class [mscorlib]System.Func`2 '<>9__68_0' + .field public static class [mscorlib]System.Func`2 '<>9__71_0' + .field public static class [mscorlib]System.Func`2 '<>9__71_1' + .field public static class [mscorlib]System.Func`3 '<>9__72_0' + .field public static class [mscorlib]System.Func`3 '<>9__72_1' + .field public static class [mscorlib]System.Func`3 '<>9__72_2' + .field public static class [mscorlib]System.Func`3 '<>9__72_3' + .field public static class [mscorlib]System.Func`3 '<>9__72_4' + .field public static class [mscorlib]System.Func`3 '<>9__72_5' + .field public static class [mscorlib]System.Func`3 '<>9__72_6' + .field public static class [mscorlib]System.Func`3 '<>9__72_7' + .field public static class [mscorlib]System.Func`3 '<>9__72_8' + .field public static class [mscorlib]System.Func`3 '<>9__72_9' + .field public static class [mscorlib]System.Func`3 '<>9__72_10' + .field public static class [mscorlib]System.Func`3 '<>9__72_11' + .field public static class [mscorlib]System.Func`3 '<>9__72_12' + .field public static class [mscorlib]System.Func`3 '<>9__72_13' + .field public static class [mscorlib]System.Func`3 '<>9__72_14' + .field public static class [mscorlib]System.Func`2 '<>9__73_0' + .field public static class [mscorlib]System.Func`3 '<>9__73_1' + .field public static class [mscorlib]System.Func`3 '<>9__73_2' + .field public static class [mscorlib]System.Func`3 '<>9__73_3' + .field public static class [mscorlib]System.Func`2 '<>9__74_0' + .field public static class [mscorlib]System.Func`2 '<>9__74_1' + .field public static class [mscorlib]System.Func`2 '<>9__74_2' + .field public static class [mscorlib]System.Func`2 '<>9__74_3' + .field public static class [mscorlib]System.Func`1 '<>9__75_0' + .field public static class [mscorlib]System.Func`2 '<>9__75_1' + .field public static class [mscorlib]System.Func`2 '<>9__78_0' + .field public static class [mscorlib]System.Func`2 '<>9__78_1' + .field public static class [mscorlib]System.Func`2 '<>9__78_2' + .field public static class [mscorlib]System.Func`1 '<>9__78_3' + .field public static class [mscorlib]System.Func`1 '<>9__79_0' + .field public static class [mscorlib]System.Func`1 '<>9__80_0' + .field public static class [mscorlib]System.Func`1 '<>9__80_1' + .field public static class [mscorlib]System.Func`1 '<>9__80_2' + .field public static class [mscorlib]System.Func`1 '<>9__80_3' + .field public static class [mscorlib]System.Func`1 '<>9__80_4' + .field public static class [mscorlib]System.Func`1 '<>9__81_0' + .method private hidebysig specialname rtspecialname static + void .cctor() cil managed + { + // Code size 11 (0xb) + .maxstack 8 + IL_0000: newobj instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::.ctor() + IL_0005: stsfld class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c' ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9' + IL_000a: ret + } // end of method '<>c'::.cctor + + .method public hidebysig specialname rtspecialname + instance void .ctor() cil managed + { + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [mscorlib]System.Object::.ctor() + IL_0006: ret + } // end of method '<>c'::.ctor + + .method assembly hidebysig instance string + 'b__18_0'(int32 n) cil managed + { + // Code size 8 (0x8) + .maxstack 8 + IL_0000: ldarga.s n + IL_0002: call instance string [mscorlib]System.Int32::ToString() + IL_0007: ret + } // end of method '<>c'::'b__18_0' + + .method assembly hidebysig instance bool + 'b__33_0'(class [mscorlib]System.Func`3 f) cil managed + { + // Code size 9 (0x9) + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldnull + IL_0002: ldnull + IL_0003: callvirt instance !2 class [mscorlib]System.Func`3::Invoke(!0, + !1) + IL_0008: ret + } // end of method '<>c'::'b__33_0' + + .method assembly hidebysig instance int32 + 'b__36_0'(class [mscorlib]System.Func`1 f) cil managed + { + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: callvirt instance !0 class [mscorlib]System.Func`1::Invoke() + IL_0006: ret + } // end of method '<>c'::'b__36_0' + + .method assembly hidebysig instance int32 + 'b__62_0'(int32[] 'array') cil managed + { + // Code size 4 (0x4) + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldc.i4.0 + IL_0002: ldelem.i4 + IL_0003: ret + } // end of method '<>c'::'b__62_0' + + .method assembly hidebysig instance int32 + 'b__62_1'(int32[] 'array', + int32 index) cil managed + { + // Code size 4 (0x4) + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldarg.2 + IL_0002: ldelem.i4 + IL_0003: ret + } // end of method '<>c'::'b__62_1' + + .method assembly hidebysig instance int32 + 'b__62_2'(int32[0...,0...] 'array') cil managed + { + // Code size 9 (0x9) + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldc.i4.0 + IL_0002: ldc.i4.5 + IL_0003: call instance int32 int32[0...,0...]::Get(int32, + int32) + IL_0008: ret + } // end of method '<>c'::'b__62_2' + + .method assembly hidebysig instance int32 + 'b__62_3'(int32[0...,0...] 'array', + int32 index) cil managed + { + // Code size 9 (0x9) + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldarg.2 + IL_0002: ldc.i4.7 + IL_0003: call instance int32 int32[0...,0...]::Get(int32, + int32) + IL_0008: ret + } // end of method '<>c'::'b__62_3' + + .method assembly hidebysig instance int32 + 'b__62_4'(int32[][] 'array', + int32 index) cil managed + { + // Code size 6 (0x6) + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldarg.2 + IL_0002: ldelem.ref + IL_0003: ldc.i4.7 + IL_0004: ldelem.i4 + IL_0005: ret + } // end of method '<>c'::'b__62_4' + + .method assembly hidebysig instance int32 + 'b__63_0'(int32[] 'array') cil managed + { + // Code size 4 (0x4) + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldlen + IL_0002: conv.i4 + IL_0003: ret + } // end of method '<>c'::'b__63_0' + + .method assembly hidebysig instance int32 + 'b__63_1'() cil managed + { + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldnull + IL_0001: callvirt instance int32 [mscorlib]System.Array::get_Length() + IL_0006: ret + } // end of method '<>c'::'b__63_1' + + .method assembly hidebysig instance object + 'b__64_0'() cil managed + { + // Code size 6 (0x6) + .maxstack 8 + IL_0000: newobj instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.SimpleType::.ctor() + IL_0005: ret + } // end of method '<>c'::'b__64_0' + + .method assembly hidebysig instance object + 'b__64_1'() cil managed + { + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldc.i4.5 + IL_0001: newobj instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.SimpleTypeWithCtor::.ctor(int32) + IL_0006: ret + } // end of method '<>c'::'b__64_1' + + .method assembly hidebysig instance object + 'b__64_2'() cil managed + { + // Code size 6 (0x6) + .maxstack 8 + IL_0000: newobj instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.SimpleTypeWithMultipleCtors::.ctor() + IL_0005: ret + } // end of method '<>c'::'b__64_2' + + .method assembly hidebysig instance object + 'b__64_3'() cil managed + { + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldc.i4.5 + IL_0001: newobj instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.SimpleTypeWithMultipleCtors::.ctor(int32) + IL_0006: ret + } // end of method '<>c'::'b__64_3' + + .method assembly hidebysig instance object + 'b__64_4'() cil managed + { + // Code size 6 (0x6) + .maxstack 8 + IL_0000: newobj instance void class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/GenericClass`1::.ctor() + IL_0005: ret + } // end of method '<>c'::'b__64_4' + + .method assembly hidebysig instance object + 'b__64_5'() cil managed + { + // Code size 6 (0x6) + .maxstack 8 + IL_0000: newobj instance void class ICSharpCode.Decompiler.Tests.TestCases.Pretty.GenericClassWithCtor`1::.ctor() + IL_0005: ret + } // end of method '<>c'::'b__64_5' + + .method assembly hidebysig instance object + 'b__64_6'() cil managed + { + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldc.i4.5 + IL_0001: newobj instance void class ICSharpCode.Decompiler.Tests.TestCases.Pretty.GenericClassWithMultipleCtors`1::.ctor(int32) + IL_0006: ret + } // end of method '<>c'::'b__64_6' + + .method assembly hidebysig instance class [mscorlib]System.Type + 'b__65_0'() cil managed + { + // Code size 11 (0xb) + .maxstack 8 + IL_0000: ldtoken [mscorlib]System.Int32 + IL_0005: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_000a: ret + } // end of method '<>c'::'b__65_0' + + .method assembly hidebysig instance class [mscorlib]System.Type + 'b__65_1'() cil managed + { + // Code size 11 (0xb) + .maxstack 8 + IL_0000: ldtoken [mscorlib]System.Object + IL_0005: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_000a: ret + } // end of method '<>c'::'b__65_1' + + .method assembly hidebysig instance class [mscorlib]System.Type + 'b__65_2'() cil managed + { + // Code size 11 (0xb) + .maxstack 8 + IL_0000: ldtoken [mscorlib]System.Collections.Generic.List`1 + IL_0005: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_000a: ret + } // end of method '<>c'::'b__65_2' + + .method assembly hidebysig instance class [mscorlib]System.Type + 'b__65_3'() cil managed + { + // Code size 11 (0xb) + .maxstack 8 + IL_0000: ldtoken class [mscorlib]System.Collections.Generic.List`1 + IL_0005: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_000a: ret + } // end of method '<>c'::'b__65_3' + + .method assembly hidebysig instance class [mscorlib]System.Type + 'b__65_4'() cil managed + { + // Code size 11 (0xb) + .maxstack 8 + IL_0000: ldtoken int32* + IL_0005: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_000a: ret + } // end of method '<>c'::'b__65_4' + + .method assembly hidebysig instance class ICSharpCode.Decompiler.Tests.TestCases.Pretty.MyClass + 'b__66_0'(object obj) cil managed + { + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: isinst ICSharpCode.Decompiler.Tests.TestCases.Pretty.MyClass + IL_0006: ret + } // end of method '<>c'::'b__66_0' + + .method assembly hidebysig instance class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/GenericClass`1 + 'b__66_1'(object obj) cil managed + { + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: isinst class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/GenericClass`1 + IL_0006: ret + } // end of method '<>c'::'b__66_1' + + .method assembly hidebysig instance bool + 'b__67_0'(object obj) cil managed + { + // Code size 10 (0xa) + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: isinst ICSharpCode.Decompiler.Tests.TestCases.Pretty.MyClass + IL_0006: ldnull + IL_0007: cgt.un + IL_0009: ret + } // end of method '<>c'::'b__67_0' + + .method assembly hidebysig instance bool + 'b__68_0'(bool a) cil managed + { + // Code size 5 (0x5) + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldc.i4.0 + IL_0002: ceq + IL_0004: ret + } // end of method '<>c'::'b__68_0' + + .method assembly hidebysig instance int32 + 'b__71_0'(int32 a) cil managed + { + // Code size 2 (0x2) + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ret + } // end of method '<>c'::'b__71_0' + + .method assembly hidebysig instance int32 + 'b__71_1'(int32 a) cil managed + { + // Code size 3 (0x3) + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: neg + IL_0002: ret + } // end of method '<>c'::'b__71_1' + + .method assembly hidebysig instance int32 + 'b__72_0'(int32 a, + int32 b) cil managed + { + // Code size 4 (0x4) + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldarg.2 + IL_0002: add + IL_0003: ret + } // end of method '<>c'::'b__72_0' + + .method assembly hidebysig instance int32 + 'b__72_1'(int32 a, + int32 b) cil managed + { + // Code size 4 (0x4) + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldarg.2 + IL_0002: sub + IL_0003: ret + } // end of method '<>c'::'b__72_1' + + .method assembly hidebysig instance int32 + 'b__72_2'(int32 a, + int32 b) cil managed + { + // Code size 4 (0x4) + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldarg.2 + IL_0002: mul + IL_0003: ret + } // end of method '<>c'::'b__72_2' + + .method assembly hidebysig instance int32 + 'b__72_3'(int32 a, + int32 b) cil managed + { + // Code size 4 (0x4) + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldarg.2 + IL_0002: div + IL_0003: ret + } // end of method '<>c'::'b__72_3' + + .method assembly hidebysig instance int32 + 'b__72_4'(int32 a, + int32 b) cil managed + { + // Code size 4 (0x4) + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldarg.2 + IL_0002: rem + IL_0003: ret + } // end of method '<>c'::'b__72_4' + + .method assembly hidebysig instance int64 + 'b__72_5'(int64 a, + int32 b) cil managed + { + // Code size 5 (0x5) + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldarg.2 + IL_0002: conv.i8 + IL_0003: add + IL_0004: ret + } // end of method '<>c'::'b__72_5' + + .method assembly hidebysig instance int64 + 'b__72_6'(int64 a, + int32 b) cil managed + { + // Code size 5 (0x5) + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldarg.2 + IL_0002: conv.i8 + IL_0003: sub + IL_0004: ret + } // end of method '<>c'::'b__72_6' + + .method assembly hidebysig instance int64 + 'b__72_7'(int64 a, + int32 b) cil managed + { + // Code size 5 (0x5) + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldarg.2 + IL_0002: conv.i8 + IL_0003: mul + IL_0004: ret + } // end of method '<>c'::'b__72_7' + + .method assembly hidebysig instance int64 + 'b__72_8'(int64 a, + int32 b) cil managed + { + // Code size 5 (0x5) + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldarg.2 + IL_0002: conv.i8 + IL_0003: div + IL_0004: ret + } // end of method '<>c'::'b__72_8' + + .method assembly hidebysig instance int64 + 'b__72_9'(int64 a, + int32 b) cil managed + { + // Code size 5 (0x5) + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldarg.2 + IL_0002: conv.i8 + IL_0003: rem + IL_0004: ret + } // end of method '<>c'::'b__72_9' + + .method assembly hidebysig instance int32 + 'b__72_10'(int16 a, + int32 b) cil managed + { + // Code size 4 (0x4) + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldarg.2 + IL_0002: add + IL_0003: ret + } // end of method '<>c'::'b__72_10' + + .method assembly hidebysig instance int32 + 'b__72_11'(int32 a, + int16 b) cil managed + { + // Code size 4 (0x4) + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldarg.2 + IL_0002: sub + IL_0003: ret + } // end of method '<>c'::'b__72_11' + + .method assembly hidebysig instance int32 + 'b__72_12'(int16 a, + int32 b) cil managed + { + // Code size 4 (0x4) + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldarg.2 + IL_0002: mul + IL_0003: ret + } // end of method '<>c'::'b__72_12' + + .method assembly hidebysig instance int32 + 'b__72_13'(int32 a, + int16 b) cil managed + { + // Code size 4 (0x4) + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldarg.2 + IL_0002: div + IL_0003: ret + } // end of method '<>c'::'b__72_13' + + .method assembly hidebysig instance int32 + 'b__72_14'(int16 a, + int32 b) cil managed + { + // Code size 4 (0x4) + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldarg.2 + IL_0002: rem + IL_0003: ret + } // end of method '<>c'::'b__72_14' + + .method assembly hidebysig instance int32 + 'b__73_0'(int32 a) cil managed + { + // Code size 3 (0x3) + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: not + IL_0002: ret + } // end of method '<>c'::'b__73_0' + + .method assembly hidebysig instance int32 + 'b__73_1'(int32 a, + int32 b) cil managed + { + // Code size 4 (0x4) + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldarg.2 + IL_0002: and + IL_0003: ret + } // end of method '<>c'::'b__73_1' + + .method assembly hidebysig instance int32 + 'b__73_2'(int32 a, + int32 b) cil managed + { + // Code size 4 (0x4) + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldarg.2 + IL_0002: or + IL_0003: ret + } // end of method '<>c'::'b__73_2' + + .method assembly hidebysig instance int32 + 'b__73_3'(int32 a, + int32 b) cil managed + { + // Code size 4 (0x4) + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldarg.2 + IL_0002: xor + IL_0003: ret + } // end of method '<>c'::'b__73_3' + + .method assembly hidebysig instance int32 + 'b__74_0'(int32 a) cil managed + { + // Code size 4 (0x4) + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldc.i4.2 + IL_0002: shr + IL_0003: ret + } // end of method '<>c'::'b__74_0' + + .method assembly hidebysig instance int32 + 'b__74_1'(int32 a) cil managed + { + // Code size 4 (0x4) + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldc.i4.2 + IL_0002: shl + IL_0003: ret + } // end of method '<>c'::'b__74_1' + + .method assembly hidebysig instance int64 + 'b__74_2'(int64 a) cil managed + { + // Code size 4 (0x4) + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldc.i4.2 + IL_0002: shr + IL_0003: ret + } // end of method '<>c'::'b__74_2' + + .method assembly hidebysig instance int64 + 'b__74_3'(int64 a) cil managed + { + // Code size 4 (0x4) + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldc.i4.2 + IL_0002: shl + IL_0003: ret + } // end of method '<>c'::'b__74_3' + + .method assembly hidebysig instance int32 + 'b__75_0'() cil managed + { + // Code size 2 (0x2) + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: ret + } // end of method '<>c'::'b__75_0' + + .method assembly hidebysig instance int32 + 'b__75_1'(int32 a) cil managed + { + // Code size 2 (0x2) + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ret + } // end of method '<>c'::'b__75_1' + + .method assembly hidebysig instance string + 'b__78_0'(string a) cil managed + { + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: callvirt instance string [mscorlib]System.Object::ToString() + IL_0006: ret + } // end of method '<>c'::'b__78_0' + + .method assembly hidebysig instance string + 'b__78_1'(int32 a) cil managed + { + // Code size 8 (0x8) + .maxstack 8 + IL_0000: ldarga.s a + IL_0002: call instance string [mscorlib]System.Int32::ToString() + IL_0007: ret + } // end of method '<>c'::'b__78_1' + + .method assembly hidebysig instance char[] + 'b__78_2'(string a) cil managed + { + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: call !!0[] [System.Core]System.Linq.Enumerable::ToArray(class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0006: ret + } // end of method '<>c'::'b__78_2' + + .method assembly hidebysig instance bool + 'b__78_3'() cil managed + { + // Code size 16 (0x10) + .maxstack 2 + .locals init (char V_0) + IL_0000: ldc.i4.s 97 + IL_0002: stloc.0 + IL_0003: ldloca.s V_0 + IL_0005: ldc.i4.s 98 + IL_0007: call instance int32 [mscorlib]System.Char::CompareTo(char) + IL_000c: ldc.i4.0 + IL_000d: clt + IL_000f: ret + } // end of method '<>c'::'b__78_3' + + .method assembly hidebysig instance bool + 'b__79_0'() cil managed + { + // Code size 113 (0x71) + .maxstack 5 + .locals init (class [System.Core]System.Linq.Expressions.ParameterExpression V_0, + class [System.Core]System.Linq.Expressions.ParameterExpression V_1) + IL_0000: ldtoken [mscorlib]System.Int32 + IL_0005: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_000a: ldstr "n" + IL_000f: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0014: stloc.0 + IL_0015: ldtoken [mscorlib]System.String + IL_001a: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_001f: ldstr "s" + IL_0024: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0029: stloc.1 + IL_002a: ldloc.1 + IL_002b: ldloc.0 + IL_002c: ldtoken method instance string [mscorlib]System.Int32::ToString() + IL_0031: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0036: castclass [mscorlib]System.Reflection.MethodInfo + IL_003b: ldc.i4.0 + IL_003c: newarr [System.Core]System.Linq.Expressions.Expression + IL_0041: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_0046: ldtoken method string [mscorlib]System.String::Concat(string, + string) + IL_004b: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0050: castclass [mscorlib]System.Reflection.MethodInfo + IL_0055: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Add(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo) + IL_005a: ldc.i4.2 + IL_005b: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0060: dup + IL_0061: ldc.i4.0 + IL_0062: ldloc.0 + IL_0063: stelem.ref + IL_0064: dup + IL_0065: ldc.i4.1 + IL_0066: ldloc.1 + IL_0067: stelem.ref + IL_0068: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_006d: ldnull + IL_006e: cgt.un + IL_0070: ret + } // end of method '<>c'::'b__79_0' + + .method assembly hidebysig instance int32[] + 'b__80_0'() cil managed + { + // Code size 18 (0x12) + .maxstack 8 + IL_0000: ldc.i4.3 + IL_0001: newarr [mscorlib]System.Int32 + IL_0006: dup + IL_0007: ldtoken field valuetype ''/'__StaticArrayInitTypeSize=12' ''::E429CCA3F703A39CC5954A6572FEC9086135B34E + IL_000c: call void [mscorlib]System.Runtime.CompilerServices.RuntimeHelpers::InitializeArray(class [mscorlib]System.Array, + valuetype [mscorlib]System.RuntimeFieldHandle) + IL_0011: ret + } // end of method '<>c'::'b__80_0' + + .method assembly hidebysig instance int32[] + 'b__80_1'() cil managed + { + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldc.i4.3 + IL_0001: newarr [mscorlib]System.Int32 + IL_0006: ret + } // end of method '<>c'::'b__80_1' + + .method assembly hidebysig instance int32[0...,0...] + 'b__80_2'() cil managed + { + // Code size 8 (0x8) + .maxstack 8 + IL_0000: ldc.i4.3 + IL_0001: ldc.i4.5 + IL_0002: newobj instance void int32[0...,0...]::.ctor(int32, + int32) + IL_0007: ret + } // end of method '<>c'::'b__80_2' + + .method assembly hidebysig instance int32[][] + 'b__80_3'() cil managed + { + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldc.i4.3 + IL_0001: newarr int32[] + IL_0006: ret + } // end of method '<>c'::'b__80_3' + + .method assembly hidebysig instance int32[][] + 'b__80_4'() cil managed + { + // Code size 27 (0x1b) + .maxstack 8 + IL_0000: ldc.i4.1 + IL_0001: newarr int32[] + IL_0006: dup + IL_0007: ldc.i4.0 + IL_0008: ldc.i4.3 + IL_0009: newarr [mscorlib]System.Int32 + IL_000e: dup + IL_000f: ldtoken field valuetype ''/'__StaticArrayInitTypeSize=12' ''::E429CCA3F703A39CC5954A6572FEC9086135B34E + IL_0014: call void [mscorlib]System.Runtime.CompilerServices.RuntimeHelpers::InitializeArray(class [mscorlib]System.Array, + valuetype [mscorlib]System.RuntimeFieldHandle) + IL_0019: stelem.ref + IL_001a: ret + } // end of method '<>c'::'b__80_4' + + .method assembly hidebysig instance object + 'b__81_0'() cil managed + { + // Code size 12 (0xc) + .maxstack 8 + IL_0000: ldc.i4.5 + IL_0001: ldstr "Test" + IL_0006: newobj instance void class '<>f__AnonymousType2`2'::.ctor(!0, + !1) + IL_000b: ret + } // end of method '<>c'::'b__81_0' + + } // end of class '<>c' + + .class auto ansi sealed nested private beforefieldinit '<>c__DisplayClass25_0' + extends [mscorlib]System.Object + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field public string x + .field public int32 i + .method public hidebysig specialname rtspecialname + instance void .ctor() cil managed + { + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [mscorlib]System.Object::.ctor() + IL_0006: ret + } // end of method '<>c__DisplayClass25_0'::.ctor + + } // end of class '<>c__DisplayClass25_0' + + .class auto ansi sealed nested private beforefieldinit '<>c__DisplayClass26_0' + extends [mscorlib]System.Object + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field public uint8 z + .method public hidebysig specialname rtspecialname + instance void .ctor() cil managed + { + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [mscorlib]System.Object::.ctor() + IL_0006: ret + } // end of method '<>c__DisplayClass26_0'::.ctor + + } // end of class '<>c__DisplayClass26_0' + + .class auto ansi sealed nested private beforefieldinit '<>c__DisplayClass33_0' + extends [mscorlib]System.Object + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field public class [System.Core]System.Collections.Generic.HashSet`1 set + .field public class [mscorlib]System.Func`2,bool> sink + .method public hidebysig specialname rtspecialname + instance void .ctor() cil managed + { + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [mscorlib]System.Object::.ctor() + IL_0006: ret + } // end of method '<>c__DisplayClass33_0'::.ctor + + } // end of class '<>c__DisplayClass33_0' + + .class auto ansi sealed nested private beforefieldinit '<>c__DisplayClass36_0' + extends [mscorlib]System.Object + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field public class [mscorlib]System.Func`2,int32> 'call' + .method public hidebysig specialname rtspecialname + instance void .ctor() cil managed + { + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [mscorlib]System.Object::.ctor() + IL_0006: ret + } // end of method '<>c__DisplayClass36_0'::.ctor + + } // end of class '<>c__DisplayClass36_0' + + .class auto ansi sealed nested private beforefieldinit '<>c__DisplayClass46_0' + extends [mscorlib]System.Object + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field public uint8 z + .field public int32 y + .field public bool x + .method public hidebysig specialname rtspecialname + instance void .ctor() cil managed + { + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [mscorlib]System.Object::.ctor() + IL_0006: ret + } // end of method '<>c__DisplayClass46_0'::.ctor + + } // end of class '<>c__DisplayClass46_0' + + .class auto ansi sealed nested private beforefieldinit '<>c__DisplayClass47_0' + extends [mscorlib]System.Object + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field public class [System.Xml]System.Xml.XmlReaderSettings s + .method public hidebysig specialname rtspecialname + instance void .ctor() cil managed + { + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [mscorlib]System.Object::.ctor() + IL_0006: ret + } // end of method '<>c__DisplayClass47_0'::.ctor + + } // end of class '<>c__DisplayClass47_0' + + .class auto ansi sealed nested private beforefieldinit '<>c__DisplayClass57_0' + extends [mscorlib]System.Object + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field public string x + .field public int32 i + .method public hidebysig specialname rtspecialname + instance void .ctor() cil managed + { + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [mscorlib]System.Object::.ctor() + IL_0006: ret + } // end of method '<>c__DisplayClass57_0'::.ctor + + } // end of class '<>c__DisplayClass57_0' + + .class auto ansi sealed nested private beforefieldinit '<>c__DisplayClass76_0' + extends [mscorlib]System.Object + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 captured + .method public hidebysig specialname rtspecialname + instance void .ctor() cil managed + { + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [mscorlib]System.Object::.ctor() + IL_0006: ret + } // end of method '<>c__DisplayClass76_0'::.ctor + + .method assembly hidebysig instance int32 + 'b__0'() cil managed + { + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass76_0'::captured + IL_0006: ret + } // end of method '<>c__DisplayClass76_0'::'b__0' + + } // end of class '<>c__DisplayClass76_0' + + .field private int32 'field' + .method private hidebysig static object + ToCode(object x, + class [System.Core]System.Linq.Expressions.Expression`1> expr) cil managed + { + // Code size 2 (0x2) + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ret + } // end of method ExpressionTrees::ToCode + + .method private hidebysig static object + ToCode(object x, + class [System.Core]System.Linq.Expressions.Expression`1> expr) cil managed + { + // Code size 2 (0x2) + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ret + } // end of method ExpressionTrees::ToCode + + .method private hidebysig static object + ToCode(object x, + class [System.Core]System.Linq.Expressions.Expression`1> expr) cil managed + { + // Code size 2 (0x2) + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ret + } // end of method ExpressionTrees::ToCode + + .method private hidebysig static object + ToCode(object x, + class [System.Core]System.Linq.Expressions.Expression`1> expr) cil managed + { + // Code size 2 (0x2) + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ret + } // end of method ExpressionTrees::ToCode + + .method private hidebysig static object + X() cil managed + { + // Code size 2 (0x2) + .maxstack 8 + IL_0000: ldnull + IL_0001: ret + } // end of method ExpressionTrees::X + + .method public hidebysig instance void + Parameter(bool a) cil managed + { + // Code size 67 (0x43) + .maxstack 3 + .locals init (class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass7_0' V_0) + IL_0000: newobj instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass7_0'::.ctor() + IL_0005: stloc.0 + IL_0006: ldloc.0 + IL_0007: ldarg.1 + IL_0008: stfld bool ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass7_0'::a + IL_000d: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0012: ldloc.0 + IL_0013: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass7_0' + IL_0018: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_001d: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0022: ldtoken field bool ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass7_0'::a + IL_0027: call class [mscorlib]System.Reflection.FieldInfo [mscorlib]System.Reflection.FieldInfo::GetFieldFromHandle(valuetype [mscorlib]System.RuntimeFieldHandle) + IL_002c: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Field(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.FieldInfo) + IL_0031: ldc.i4.0 + IL_0032: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0037: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_003c: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0041: pop + IL_0042: ret + } // end of method ExpressionTrees::Parameter + + .method public hidebysig instance void + LocalVariable() cil managed + { + // Code size 67 (0x43) + .maxstack 3 + .locals init (class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass8_0' V_0) + IL_0000: newobj instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass8_0'::.ctor() + IL_0005: stloc.0 + IL_0006: ldloc.0 + IL_0007: ldc.i4.1 + IL_0008: stfld bool ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass8_0'::a + IL_000d: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0012: ldloc.0 + IL_0013: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass8_0' + IL_0018: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_001d: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0022: ldtoken field bool ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass8_0'::a + IL_0027: call class [mscorlib]System.Reflection.FieldInfo [mscorlib]System.Reflection.FieldInfo::GetFieldFromHandle(valuetype [mscorlib]System.RuntimeFieldHandle) + IL_002c: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Field(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.FieldInfo) + IL_0031: ldc.i4.0 + IL_0032: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0037: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_003c: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0041: pop + IL_0042: ret + } // end of method ExpressionTrees::LocalVariable + + .method public hidebysig instance void + LambdaParameter() cil managed + { + // Code size 49 (0x31) + .maxstack 6 + .locals init (class [System.Core]System.Linq.Expressions.ParameterExpression V_0) + IL_0000: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0005: ldtoken [mscorlib]System.Boolean + IL_000a: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_000f: ldstr "a" + IL_0014: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0019: stloc.0 + IL_001a: ldloc.0 + IL_001b: ldc.i4.1 + IL_001c: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0021: dup + IL_0022: ldc.i4.0 + IL_0023: ldloc.0 + IL_0024: stelem.ref + IL_0025: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_002a: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_002f: pop + IL_0030: ret + } // end of method ExpressionTrees::LambdaParameter + + .method public hidebysig instance void + AddOperator(int32 x) cil managed + { + // Code size 119 (0x77) + .maxstack 4 + .locals init (class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass10_0' V_0) + IL_0000: newobj instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass10_0'::.ctor() + IL_0005: stloc.0 + IL_0006: ldloc.0 + IL_0007: ldarg.1 + IL_0008: stfld int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass10_0'::x + IL_000d: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0012: ldc.i4.1 + IL_0013: box [mscorlib]System.Int32 + IL_0018: ldtoken [mscorlib]System.Int32 + IL_001d: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0022: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0027: ldloc.0 + IL_0028: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass10_0' + IL_002d: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0032: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0037: ldtoken field int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass10_0'::x + IL_003c: call class [mscorlib]System.Reflection.FieldInfo [mscorlib]System.Reflection.FieldInfo::GetFieldFromHandle(valuetype [mscorlib]System.RuntimeFieldHandle) + IL_0041: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Field(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.FieldInfo) + IL_0046: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Add(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_004b: ldc.i4.2 + IL_004c: box [mscorlib]System.Int32 + IL_0051: ldtoken [mscorlib]System.Int32 + IL_0056: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_005b: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0060: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Add(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0065: ldc.i4.0 + IL_0066: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_006b: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0070: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0075: pop + IL_0076: ret + } // end of method ExpressionTrees::AddOperator + + .method public hidebysig instance void + AnonymousClasses() cil managed + { + // Code size 153 (0x99) + .maxstack 8 + IL_0000: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0005: ldtoken method instance void class '<>f__AnonymousType0`2'::.ctor(!0, + !1) + IL_000a: ldtoken class '<>f__AnonymousType0`2' + IL_000f: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle, + valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0014: castclass [mscorlib]System.Reflection.ConstructorInfo + IL_0019: ldc.i4.2 + IL_001a: newarr [System.Core]System.Linq.Expressions.Expression + IL_001f: dup + IL_0020: ldc.i4.0 + IL_0021: ldc.i4.3 + IL_0022: box [mscorlib]System.Int32 + IL_0027: ldtoken [mscorlib]System.Int32 + IL_002c: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0031: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0036: stelem.ref + IL_0037: dup + IL_0038: ldc.i4.1 + IL_0039: ldstr "a" + IL_003e: ldtoken [mscorlib]System.String + IL_0043: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0048: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_004d: stelem.ref + IL_004e: ldc.i4.2 + IL_004f: newarr [mscorlib]System.Reflection.MemberInfo + IL_0054: dup + IL_0055: ldc.i4.0 + IL_0056: ldtoken method instance !0 class '<>f__AnonymousType0`2'::get_X() + IL_005b: ldtoken class '<>f__AnonymousType0`2' + IL_0060: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle, + valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0065: castclass [mscorlib]System.Reflection.MethodInfo + IL_006a: stelem.ref + IL_006b: dup + IL_006c: ldc.i4.1 + IL_006d: ldtoken method instance !1 class '<>f__AnonymousType0`2'::get_A() + IL_0072: ldtoken class '<>f__AnonymousType0`2' + IL_0077: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle, + valuetype [mscorlib]System.RuntimeTypeHandle) + IL_007c: castclass [mscorlib]System.Reflection.MethodInfo + IL_0081: stelem.ref + IL_0082: call class [System.Core]System.Linq.Expressions.NewExpression [System.Core]System.Linq.Expressions.Expression::New(class [mscorlib]System.Reflection.ConstructorInfo, + class [mscorlib]System.Collections.Generic.IEnumerable`1, + class [mscorlib]System.Reflection.MemberInfo[]) + IL_0087: ldc.i4.0 + IL_0088: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_008d: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambdaf__AnonymousType0`2'>>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0092: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCodef__AnonymousType0`2'>(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0097: pop + IL_0098: ret + } // end of method ExpressionTrees::AnonymousClasses + + .method public hidebysig instance void + ArrayIndex() cil managed + { + // Code size 230 (0xe6) + .maxstack 7 + IL_0000: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0005: ldtoken [mscorlib]System.Int32 + IL_000a: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_000f: ldc.i4.3 + IL_0010: newarr [System.Core]System.Linq.Expressions.Expression + IL_0015: dup + IL_0016: ldc.i4.0 + IL_0017: ldc.i4.3 + IL_0018: box [mscorlib]System.Int32 + IL_001d: ldtoken [mscorlib]System.Int32 + IL_0022: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0027: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_002c: stelem.ref + IL_002d: dup + IL_002e: ldc.i4.1 + IL_002f: ldc.i4.4 + IL_0030: box [mscorlib]System.Int32 + IL_0035: ldtoken [mscorlib]System.Int32 + IL_003a: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_003f: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0044: stelem.ref + IL_0045: dup + IL_0046: ldc.i4.2 + IL_0047: ldc.i4.5 + IL_0048: box [mscorlib]System.Int32 + IL_004d: ldtoken [mscorlib]System.Int32 + IL_0052: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0057: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_005c: stelem.ref + IL_005d: call class [System.Core]System.Linq.Expressions.NewArrayExpression [System.Core]System.Linq.Expressions.Expression::NewArrayInit(class [mscorlib]System.Type, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_0062: ldc.i4.0 + IL_0063: box [mscorlib]System.Int32 + IL_0068: ldtoken [mscorlib]System.Int32 + IL_006d: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0072: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0077: ldnull + IL_0078: ldtoken method valuetype [mscorlib]System.DateTime [mscorlib]System.DateTime::get_Now() + IL_007d: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0082: castclass [mscorlib]System.Reflection.MethodInfo + IL_0087: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Property(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo) + IL_008c: ldtoken method instance int64 [mscorlib]System.DateTime::get_Ticks() + IL_0091: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0096: castclass [mscorlib]System.Reflection.MethodInfo + IL_009b: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Property(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo) + IL_00a0: ldc.i4.3 + IL_00a1: conv.i8 + IL_00a2: box [mscorlib]System.Int64 + IL_00a7: ldtoken [mscorlib]System.Int64 + IL_00ac: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00b1: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_00b6: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Modulo(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_00bb: ldtoken [mscorlib]System.Int32 + IL_00c0: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00c5: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_00ca: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Add(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_00cf: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::ArrayIndex(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_00d4: ldc.i4.0 + IL_00d5: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_00da: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_00df: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_00e4: pop + IL_00e5: ret + } // end of method ExpressionTrees::ArrayIndex + + .method public hidebysig instance void + ArrayLengthAndDoubles() cil managed + { + // Code size 293 (0x125) + .maxstack 17 + IL_0000: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0005: ldnull + IL_0006: ldtoken method !!0[] [System.Core]System.Linq.Enumerable::ToArray(class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_000b: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0010: castclass [mscorlib]System.Reflection.MethodInfo + IL_0015: ldc.i4.1 + IL_0016: newarr [System.Core]System.Linq.Expressions.Expression + IL_001b: dup + IL_001c: ldc.i4.0 + IL_001d: ldnull + IL_001e: ldtoken method class [mscorlib]System.Collections.Generic.IEnumerable`1 [System.Core]System.Linq.Enumerable::Concat(class [mscorlib]System.Collections.Generic.IEnumerable`1, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0023: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0028: castclass [mscorlib]System.Reflection.MethodInfo + IL_002d: ldc.i4.2 + IL_002e: newarr [System.Core]System.Linq.Expressions.Expression + IL_0033: dup + IL_0034: ldc.i4.0 + IL_0035: ldtoken [mscorlib]System.Double + IL_003a: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_003f: ldc.i4.3 + IL_0040: newarr [System.Core]System.Linq.Expressions.Expression + IL_0045: dup + IL_0046: ldc.i4.0 + IL_0047: ldc.r8 1. + IL_0050: box [mscorlib]System.Double + IL_0055: ldtoken [mscorlib]System.Double + IL_005a: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_005f: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0064: stelem.ref + IL_0065: dup + IL_0066: ldc.i4.1 + IL_0067: ldc.r8 2.0099999999999998 + IL_0070: box [mscorlib]System.Double + IL_0075: ldtoken [mscorlib]System.Double + IL_007a: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_007f: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0084: stelem.ref + IL_0085: dup + IL_0086: ldc.i4.2 + IL_0087: ldc.r8 3.5 + IL_0090: box [mscorlib]System.Double + IL_0095: ldtoken [mscorlib]System.Double + IL_009a: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_009f: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_00a4: stelem.ref + IL_00a5: call class [System.Core]System.Linq.Expressions.NewArrayExpression [System.Core]System.Linq.Expressions.Expression::NewArrayInit(class [mscorlib]System.Type, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_00aa: stelem.ref + IL_00ab: dup + IL_00ac: ldc.i4.1 + IL_00ad: ldtoken [mscorlib]System.Double + IL_00b2: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00b7: ldc.i4.2 + IL_00b8: newarr [System.Core]System.Linq.Expressions.Expression + IL_00bd: dup + IL_00be: ldc.i4.0 + IL_00bf: ldc.r8 1. + IL_00c8: box [mscorlib]System.Double + IL_00cd: ldtoken [mscorlib]System.Double + IL_00d2: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00d7: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_00dc: stelem.ref + IL_00dd: dup + IL_00de: ldc.i4.1 + IL_00df: ldc.r8 2. + IL_00e8: box [mscorlib]System.Double + IL_00ed: ldtoken [mscorlib]System.Double + IL_00f2: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00f7: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_00fc: stelem.ref + IL_00fd: call class [System.Core]System.Linq.Expressions.NewArrayExpression [System.Core]System.Linq.Expressions.Expression::NewArrayInit(class [mscorlib]System.Type, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_0102: stelem.ref + IL_0103: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_0108: stelem.ref + IL_0109: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_010e: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::ArrayLength(class [System.Core]System.Linq.Expressions.Expression) + IL_0113: ldc.i4.0 + IL_0114: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0119: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_011e: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0123: pop + IL_0124: ret + } // end of method ExpressionTrees::ArrayLengthAndDoubles + + .method public hidebysig instance void + AsOperator() cil managed + { + // Code size 53 (0x35) + .maxstack 8 + IL_0000: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0005: ldtoken [mscorlib]System.Object + IL_000a: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_000f: call class [System.Core]System.Linq.Expressions.NewExpression [System.Core]System.Linq.Expressions.Expression::New(class [mscorlib]System.Type) + IL_0014: ldtoken [mscorlib]System.String + IL_0019: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_001e: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::TypeAs(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_0023: ldc.i4.0 + IL_0024: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0029: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_002e: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0033: pop + IL_0034: ret + } // end of method ExpressionTrees::AsOperator + + .method public hidebysig instance void + ComplexGenericName() cil managed + { + // Code size 136 (0x88) + .maxstack 7 + .locals init (class [System.Core]System.Linq.Expressions.ParameterExpression V_0) + IL_0000: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0005: ldtoken [mscorlib]System.Int32 + IL_000a: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_000f: ldstr "x" + IL_0014: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0019: stloc.0 + IL_001a: ldloc.0 + IL_001b: ldc.i4.0 + IL_001c: box [mscorlib]System.Int32 + IL_0021: ldtoken [mscorlib]System.Int32 + IL_0026: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_002b: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0030: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::GreaterThan(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0035: ldc.i4.1 + IL_0036: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_003b: dup + IL_003c: ldc.i4.0 + IL_003d: ldloc.0 + IL_003e: stelem.ref + IL_003f: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0044: ldtoken class [mscorlib]System.Func`2 + IL_0049: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_004e: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_0053: ldc.i4.1 + IL_0054: newarr [System.Core]System.Linq.Expressions.Expression + IL_0059: dup + IL_005a: ldc.i4.0 + IL_005b: ldc.i4.0 + IL_005c: box [mscorlib]System.Int32 + IL_0061: ldtoken [mscorlib]System.Int32 + IL_0066: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_006b: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0070: stelem.ref + IL_0071: call class [System.Core]System.Linq.Expressions.InvocationExpression [System.Core]System.Linq.Expressions.Expression::Invoke(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_0076: ldc.i4.0 + IL_0077: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_007c: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0081: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0086: pop + IL_0087: ret + } // end of method ExpressionTrees::ComplexGenericName + + .method public hidebysig instance void + DefaultValue() cil managed + { + // Code size 171 (0xab) + .maxstack 7 + .locals init (valuetype [mscorlib]System.TimeSpan V_0) + IL_0000: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0005: ldtoken method instance void [mscorlib]System.TimeSpan::.ctor(int32, + int32, + int32) + IL_000a: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_000f: castclass [mscorlib]System.Reflection.ConstructorInfo + IL_0014: ldc.i4.3 + IL_0015: newarr [System.Core]System.Linq.Expressions.Expression + IL_001a: dup + IL_001b: ldc.i4.0 + IL_001c: ldc.i4.1 + IL_001d: box [mscorlib]System.Int32 + IL_0022: ldtoken [mscorlib]System.Int32 + IL_0027: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_002c: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0031: stelem.ref + IL_0032: dup + IL_0033: ldc.i4.1 + IL_0034: ldc.i4.2 + IL_0035: box [mscorlib]System.Int32 + IL_003a: ldtoken [mscorlib]System.Int32 + IL_003f: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0044: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0049: stelem.ref + IL_004a: dup + IL_004b: ldc.i4.2 + IL_004c: ldc.i4.3 + IL_004d: box [mscorlib]System.Int32 + IL_0052: ldtoken [mscorlib]System.Int32 + IL_0057: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_005c: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0061: stelem.ref + IL_0062: call class [System.Core]System.Linq.Expressions.NewExpression [System.Core]System.Linq.Expressions.Expression::New(class [mscorlib]System.Reflection.ConstructorInfo, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0067: ldloca.s V_0 + IL_0069: initobj [mscorlib]System.TimeSpan + IL_006f: ldloc.0 + IL_0070: box [mscorlib]System.TimeSpan + IL_0075: ldtoken [mscorlib]System.TimeSpan + IL_007a: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_007f: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0084: ldc.i4.0 + IL_0085: ldtoken method bool [mscorlib]System.TimeSpan::op_Equality(valuetype [mscorlib]System.TimeSpan, + valuetype [mscorlib]System.TimeSpan) + IL_008a: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_008f: castclass [mscorlib]System.Reflection.MethodInfo + IL_0094: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Equal(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression, + bool, + class [mscorlib]System.Reflection.MethodInfo) + IL_0099: ldc.i4.0 + IL_009a: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_009f: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_00a4: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_00a9: pop + IL_00aa: ret + } // end of method ExpressionTrees::DefaultValue + + .method public hidebysig instance void + EnumConstant() cil managed + { + // Code size 103 (0x67) + .maxstack 8 + IL_0000: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0005: ldtoken [mscorlib]System.Object + IL_000a: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_000f: call class [System.Core]System.Linq.Expressions.NewExpression [System.Core]System.Linq.Expressions.Expression::New(class [mscorlib]System.Type) + IL_0014: ldtoken method instance bool [mscorlib]System.Object::Equals(object) + IL_0019: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_001e: castclass [mscorlib]System.Reflection.MethodInfo + IL_0023: ldc.i4.1 + IL_0024: newarr [System.Core]System.Linq.Expressions.Expression + IL_0029: dup + IL_002a: ldc.i4.0 + IL_002b: ldc.i4.0 + IL_002c: box [mscorlib]System.MidpointRounding + IL_0031: ldtoken [mscorlib]System.MidpointRounding + IL_0036: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_003b: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0040: ldtoken [mscorlib]System.Object + IL_0045: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_004a: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_004f: stelem.ref + IL_0050: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_0055: ldc.i4.0 + IL_0056: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_005b: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0060: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0065: pop + IL_0066: ret + } // end of method ExpressionTrees::EnumConstant + + .method public hidebysig instance void + IndexerAccess() cil managed + { + // Code size 190 (0xbe) + .maxstack 8 + .locals init (class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass18_0' V_0) + IL_0000: newobj instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass18_0'::.ctor() + IL_0005: stloc.0 + IL_0006: ldloc.0 + IL_0007: ldc.i4.1 + IL_0008: ldc.i4.s 20 + IL_000a: call class [mscorlib]System.Collections.Generic.IEnumerable`1 [System.Core]System.Linq.Enumerable::Range(int32, + int32) + IL_000f: ldsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__18_0' + IL_0014: dup + IL_0015: brtrue.s IL_002e + + IL_0017: pop + IL_0018: ldsfld class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c' ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9' + IL_001d: ldftn instance string ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'b__18_0'(int32) + IL_0023: newobj instance void class [mscorlib]System.Func`2::.ctor(object, + native int) + IL_0028: dup + IL_0029: stsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__18_0' + IL_002e: call class [mscorlib]System.Collections.Generic.Dictionary`2 [System.Core]System.Linq.Enumerable::ToDictionary(class [mscorlib]System.Collections.Generic.IEnumerable`1, + class [mscorlib]System.Func`2) + IL_0033: stfld class [mscorlib]System.Collections.Generic.Dictionary`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass18_0'::dict + IL_0038: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_003d: ldloc.0 + IL_003e: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass18_0' + IL_0043: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0048: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_004d: ldtoken field class [mscorlib]System.Collections.Generic.Dictionary`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass18_0'::dict + IL_0052: call class [mscorlib]System.Reflection.FieldInfo [mscorlib]System.Reflection.FieldInfo::GetFieldFromHandle(valuetype [mscorlib]System.RuntimeFieldHandle) + IL_0057: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Field(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.FieldInfo) + IL_005c: ldtoken method instance !1 class [mscorlib]System.Collections.Generic.Dictionary`2::get_Item(!0) + IL_0061: ldtoken class [mscorlib]System.Collections.Generic.Dictionary`2 + IL_0066: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle, + valuetype [mscorlib]System.RuntimeTypeHandle) + IL_006b: castclass [mscorlib]System.Reflection.MethodInfo + IL_0070: ldc.i4.1 + IL_0071: newarr [System.Core]System.Linq.Expressions.Expression + IL_0076: dup + IL_0077: ldc.i4.0 + IL_0078: ldstr "3" + IL_007d: ldtoken [mscorlib]System.String + IL_0082: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0087: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_008c: stelem.ref + IL_008d: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_0092: ldc.i4.3 + IL_0093: box [mscorlib]System.Int32 + IL_0098: ldtoken [mscorlib]System.Int32 + IL_009d: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00a2: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_00a7: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Equal(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_00ac: ldc.i4.0 + IL_00ad: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_00b2: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_00b7: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_00bc: pop + IL_00bd: ret + } // end of method ExpressionTrees::IndexerAccess + + .method public hidebysig instance void + IsOperator() cil managed + { + // Code size 53 (0x35) + .maxstack 8 + IL_0000: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0005: ldtoken [mscorlib]System.Object + IL_000a: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_000f: call class [System.Core]System.Linq.Expressions.NewExpression [System.Core]System.Linq.Expressions.Expression::New(class [mscorlib]System.Type) + IL_0014: ldtoken [mscorlib]System.String + IL_0019: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_001e: call class [System.Core]System.Linq.Expressions.TypeBinaryExpression [System.Core]System.Linq.Expressions.Expression::TypeIs(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_0023: ldc.i4.0 + IL_0024: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0029: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_002e: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0033: pop + IL_0034: ret + } // end of method ExpressionTrees::IsOperator + + .method public hidebysig instance void + ListInitializer() cil managed + { + // Code size 346 (0x15a) + .maxstack 11 + IL_0000: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0005: ldtoken class [mscorlib]System.Collections.Generic.Dictionary`2 + IL_000a: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_000f: call class [System.Core]System.Linq.Expressions.NewExpression [System.Core]System.Linq.Expressions.Expression::New(class [mscorlib]System.Type) + IL_0014: ldc.i4.3 + IL_0015: newarr [System.Core]System.Linq.Expressions.ElementInit + IL_001a: dup + IL_001b: ldc.i4.0 + IL_001c: ldtoken method instance void class [mscorlib]System.Collections.Generic.Dictionary`2::Add(!0, + !1) + IL_0021: ldtoken class [mscorlib]System.Collections.Generic.Dictionary`2 + IL_0026: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle, + valuetype [mscorlib]System.RuntimeTypeHandle) + IL_002b: castclass [mscorlib]System.Reflection.MethodInfo + IL_0030: ldc.i4.2 + IL_0031: newarr [System.Core]System.Linq.Expressions.Expression + IL_0036: dup + IL_0037: ldc.i4.0 + IL_0038: ldc.i4.1 + IL_0039: box [mscorlib]System.Int32 + IL_003e: ldtoken [mscorlib]System.Int32 + IL_0043: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0048: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_004d: stelem.ref + IL_004e: dup + IL_004f: ldc.i4.1 + IL_0050: ldc.i4.1 + IL_0051: box [mscorlib]System.Int32 + IL_0056: ldtoken [mscorlib]System.Int32 + IL_005b: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0060: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0065: stelem.ref + IL_0066: call class [System.Core]System.Linq.Expressions.ElementInit [System.Core]System.Linq.Expressions.Expression::ElementInit(class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_006b: stelem.ref + IL_006c: dup + IL_006d: ldc.i4.1 + IL_006e: ldtoken method instance void class [mscorlib]System.Collections.Generic.Dictionary`2::Add(!0, + !1) + IL_0073: ldtoken class [mscorlib]System.Collections.Generic.Dictionary`2 + IL_0078: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle, + valuetype [mscorlib]System.RuntimeTypeHandle) + IL_007d: castclass [mscorlib]System.Reflection.MethodInfo + IL_0082: ldc.i4.2 + IL_0083: newarr [System.Core]System.Linq.Expressions.Expression + IL_0088: dup + IL_0089: ldc.i4.0 + IL_008a: ldc.i4.2 + IL_008b: box [mscorlib]System.Int32 + IL_0090: ldtoken [mscorlib]System.Int32 + IL_0095: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_009a: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_009f: stelem.ref + IL_00a0: dup + IL_00a1: ldc.i4.1 + IL_00a2: ldc.i4.2 + IL_00a3: box [mscorlib]System.Int32 + IL_00a8: ldtoken [mscorlib]System.Int32 + IL_00ad: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00b2: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_00b7: stelem.ref + IL_00b8: call class [System.Core]System.Linq.Expressions.ElementInit [System.Core]System.Linq.Expressions.Expression::ElementInit(class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_00bd: stelem.ref + IL_00be: dup + IL_00bf: ldc.i4.2 + IL_00c0: ldtoken method instance void class [mscorlib]System.Collections.Generic.Dictionary`2::Add(!0, + !1) + IL_00c5: ldtoken class [mscorlib]System.Collections.Generic.Dictionary`2 + IL_00ca: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle, + valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00cf: castclass [mscorlib]System.Reflection.MethodInfo + IL_00d4: ldc.i4.2 + IL_00d5: newarr [System.Core]System.Linq.Expressions.Expression + IL_00da: dup + IL_00db: ldc.i4.0 + IL_00dc: ldc.i4.3 + IL_00dd: box [mscorlib]System.Int32 + IL_00e2: ldtoken [mscorlib]System.Int32 + IL_00e7: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00ec: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_00f1: stelem.ref + IL_00f2: dup + IL_00f3: ldc.i4.1 + IL_00f4: ldc.i4.4 + IL_00f5: box [mscorlib]System.Int32 + IL_00fa: ldtoken [mscorlib]System.Int32 + IL_00ff: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0104: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0109: stelem.ref + IL_010a: call class [System.Core]System.Linq.Expressions.ElementInit [System.Core]System.Linq.Expressions.Expression::ElementInit(class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_010f: stelem.ref + IL_0110: call class [System.Core]System.Linq.Expressions.ListInitExpression [System.Core]System.Linq.Expressions.Expression::ListInit(class [System.Core]System.Linq.Expressions.NewExpression, + class [System.Core]System.Linq.Expressions.ElementInit[]) + IL_0115: ldtoken method instance int32 class [mscorlib]System.Collections.Generic.Dictionary`2::get_Count() + IL_011a: ldtoken class [mscorlib]System.Collections.Generic.Dictionary`2 + IL_011f: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle, + valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0124: castclass [mscorlib]System.Reflection.MethodInfo + IL_0129: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Property(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo) + IL_012e: ldc.i4.3 + IL_012f: box [mscorlib]System.Int32 + IL_0134: ldtoken [mscorlib]System.Int32 + IL_0139: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_013e: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0143: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Equal(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0148: ldc.i4.0 + IL_0149: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_014e: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0153: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0158: pop + IL_0159: ret + } // end of method ExpressionTrees::ListInitializer + + .method public hidebysig instance void + ListInitializer2() cil managed + { + // Code size 315 (0x13b) + .maxstack 11 + IL_0000: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0005: ldtoken method instance void class [mscorlib]System.Collections.Generic.List`1::.ctor(int32) + IL_000a: ldtoken class [mscorlib]System.Collections.Generic.List`1 + IL_000f: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle, + valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0014: castclass [mscorlib]System.Reflection.ConstructorInfo + IL_0019: ldc.i4.1 + IL_001a: newarr [System.Core]System.Linq.Expressions.Expression + IL_001f: dup + IL_0020: ldc.i4.0 + IL_0021: ldc.i4.s 50 + IL_0023: box [mscorlib]System.Int32 + IL_0028: ldtoken [mscorlib]System.Int32 + IL_002d: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0032: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0037: stelem.ref + IL_0038: call class [System.Core]System.Linq.Expressions.NewExpression [System.Core]System.Linq.Expressions.Expression::New(class [mscorlib]System.Reflection.ConstructorInfo, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_003d: ldc.i4.3 + IL_003e: newarr [System.Core]System.Linq.Expressions.ElementInit + IL_0043: dup + IL_0044: ldc.i4.0 + IL_0045: ldtoken method instance void class [mscorlib]System.Collections.Generic.List`1::Add(!0) + IL_004a: ldtoken class [mscorlib]System.Collections.Generic.List`1 + IL_004f: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle, + valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0054: castclass [mscorlib]System.Reflection.MethodInfo + IL_0059: ldc.i4.1 + IL_005a: newarr [System.Core]System.Linq.Expressions.Expression + IL_005f: dup + IL_0060: ldc.i4.0 + IL_0061: ldc.i4.1 + IL_0062: box [mscorlib]System.Int32 + IL_0067: ldtoken [mscorlib]System.Int32 + IL_006c: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0071: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0076: stelem.ref + IL_0077: call class [System.Core]System.Linq.Expressions.ElementInit [System.Core]System.Linq.Expressions.Expression::ElementInit(class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_007c: stelem.ref + IL_007d: dup + IL_007e: ldc.i4.1 + IL_007f: ldtoken method instance void class [mscorlib]System.Collections.Generic.List`1::Add(!0) + IL_0084: ldtoken class [mscorlib]System.Collections.Generic.List`1 + IL_0089: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle, + valuetype [mscorlib]System.RuntimeTypeHandle) + IL_008e: castclass [mscorlib]System.Reflection.MethodInfo + IL_0093: ldc.i4.1 + IL_0094: newarr [System.Core]System.Linq.Expressions.Expression + IL_0099: dup + IL_009a: ldc.i4.0 + IL_009b: ldc.i4.2 + IL_009c: box [mscorlib]System.Int32 + IL_00a1: ldtoken [mscorlib]System.Int32 + IL_00a6: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00ab: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_00b0: stelem.ref + IL_00b1: call class [System.Core]System.Linq.Expressions.ElementInit [System.Core]System.Linq.Expressions.Expression::ElementInit(class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_00b6: stelem.ref + IL_00b7: dup + IL_00b8: ldc.i4.2 + IL_00b9: ldtoken method instance void class [mscorlib]System.Collections.Generic.List`1::Add(!0) + IL_00be: ldtoken class [mscorlib]System.Collections.Generic.List`1 + IL_00c3: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle, + valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00c8: castclass [mscorlib]System.Reflection.MethodInfo + IL_00cd: ldc.i4.1 + IL_00ce: newarr [System.Core]System.Linq.Expressions.Expression + IL_00d3: dup + IL_00d4: ldc.i4.0 + IL_00d5: ldc.i4.3 + IL_00d6: box [mscorlib]System.Int32 + IL_00db: ldtoken [mscorlib]System.Int32 + IL_00e0: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00e5: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_00ea: stelem.ref + IL_00eb: call class [System.Core]System.Linq.Expressions.ElementInit [System.Core]System.Linq.Expressions.Expression::ElementInit(class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_00f0: stelem.ref + IL_00f1: call class [System.Core]System.Linq.Expressions.ListInitExpression [System.Core]System.Linq.Expressions.Expression::ListInit(class [System.Core]System.Linq.Expressions.NewExpression, + class [System.Core]System.Linq.Expressions.ElementInit[]) + IL_00f6: ldtoken method instance int32 class [mscorlib]System.Collections.Generic.List`1::get_Count() + IL_00fb: ldtoken class [mscorlib]System.Collections.Generic.List`1 + IL_0100: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle, + valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0105: castclass [mscorlib]System.Reflection.MethodInfo + IL_010a: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Property(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo) + IL_010f: ldc.i4.3 + IL_0110: box [mscorlib]System.Int32 + IL_0115: ldtoken [mscorlib]System.Int32 + IL_011a: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_011f: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0124: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Equal(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0129: ldc.i4.0 + IL_012a: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_012f: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0134: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0139: pop + IL_013a: ret + } // end of method ExpressionTrees::ListInitializer2 + + .method public hidebysig instance void + ListInitializer3() cil managed + { + // Code size 274 (0x112) + .maxstack 11 + IL_0000: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0005: ldtoken class [mscorlib]System.Collections.Generic.List`1 + IL_000a: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_000f: call class [System.Core]System.Linq.Expressions.NewExpression [System.Core]System.Linq.Expressions.Expression::New(class [mscorlib]System.Type) + IL_0014: ldc.i4.3 + IL_0015: newarr [System.Core]System.Linq.Expressions.ElementInit + IL_001a: dup + IL_001b: ldc.i4.0 + IL_001c: ldtoken method instance void class [mscorlib]System.Collections.Generic.List`1::Add(!0) + IL_0021: ldtoken class [mscorlib]System.Collections.Generic.List`1 + IL_0026: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle, + valuetype [mscorlib]System.RuntimeTypeHandle) + IL_002b: castclass [mscorlib]System.Reflection.MethodInfo + IL_0030: ldc.i4.1 + IL_0031: newarr [System.Core]System.Linq.Expressions.Expression + IL_0036: dup + IL_0037: ldc.i4.0 + IL_0038: ldc.i4.1 + IL_0039: box [mscorlib]System.Int32 + IL_003e: ldtoken [mscorlib]System.Int32 + IL_0043: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0048: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_004d: stelem.ref + IL_004e: call class [System.Core]System.Linq.Expressions.ElementInit [System.Core]System.Linq.Expressions.Expression::ElementInit(class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_0053: stelem.ref + IL_0054: dup + IL_0055: ldc.i4.1 + IL_0056: ldtoken method instance void class [mscorlib]System.Collections.Generic.List`1::Add(!0) + IL_005b: ldtoken class [mscorlib]System.Collections.Generic.List`1 + IL_0060: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle, + valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0065: castclass [mscorlib]System.Reflection.MethodInfo + IL_006a: ldc.i4.1 + IL_006b: newarr [System.Core]System.Linq.Expressions.Expression + IL_0070: dup + IL_0071: ldc.i4.0 + IL_0072: ldc.i4.2 + IL_0073: box [mscorlib]System.Int32 + IL_0078: ldtoken [mscorlib]System.Int32 + IL_007d: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0082: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0087: stelem.ref + IL_0088: call class [System.Core]System.Linq.Expressions.ElementInit [System.Core]System.Linq.Expressions.Expression::ElementInit(class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_008d: stelem.ref + IL_008e: dup + IL_008f: ldc.i4.2 + IL_0090: ldtoken method instance void class [mscorlib]System.Collections.Generic.List`1::Add(!0) + IL_0095: ldtoken class [mscorlib]System.Collections.Generic.List`1 + IL_009a: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle, + valuetype [mscorlib]System.RuntimeTypeHandle) + IL_009f: castclass [mscorlib]System.Reflection.MethodInfo + IL_00a4: ldc.i4.1 + IL_00a5: newarr [System.Core]System.Linq.Expressions.Expression + IL_00aa: dup + IL_00ab: ldc.i4.0 + IL_00ac: ldc.i4.3 + IL_00ad: box [mscorlib]System.Int32 + IL_00b2: ldtoken [mscorlib]System.Int32 + IL_00b7: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00bc: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_00c1: stelem.ref + IL_00c2: call class [System.Core]System.Linq.Expressions.ElementInit [System.Core]System.Linq.Expressions.Expression::ElementInit(class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_00c7: stelem.ref + IL_00c8: call class [System.Core]System.Linq.Expressions.ListInitExpression [System.Core]System.Linq.Expressions.Expression::ListInit(class [System.Core]System.Linq.Expressions.NewExpression, + class [System.Core]System.Linq.Expressions.ElementInit[]) + IL_00cd: ldtoken method instance int32 class [mscorlib]System.Collections.Generic.List`1::get_Count() + IL_00d2: ldtoken class [mscorlib]System.Collections.Generic.List`1 + IL_00d7: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle, + valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00dc: castclass [mscorlib]System.Reflection.MethodInfo + IL_00e1: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Property(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo) + IL_00e6: ldc.i4.3 + IL_00e7: box [mscorlib]System.Int32 + IL_00ec: ldtoken [mscorlib]System.Int32 + IL_00f1: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00f6: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_00fb: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Equal(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0100: ldc.i4.0 + IL_0101: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0106: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_010b: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0110: pop + IL_0111: ret + } // end of method ExpressionTrees::ListInitializer3 + + .method public hidebysig instance void + LiteralCharAndProperty() cil managed + { + // Code size 144 (0x90) + .maxstack 7 + IL_0000: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0005: ldtoken method instance void [mscorlib]System.String::.ctor(char, + int32) + IL_000a: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_000f: castclass [mscorlib]System.Reflection.ConstructorInfo + IL_0014: ldc.i4.2 + IL_0015: newarr [System.Core]System.Linq.Expressions.Expression + IL_001a: dup + IL_001b: ldc.i4.0 + IL_001c: ldc.i4.s 32 + IL_001e: box [mscorlib]System.Char + IL_0023: ldtoken [mscorlib]System.Char + IL_0028: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_002d: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0032: stelem.ref + IL_0033: dup + IL_0034: ldc.i4.1 + IL_0035: ldc.i4.3 + IL_0036: box [mscorlib]System.Int32 + IL_003b: ldtoken [mscorlib]System.Int32 + IL_0040: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0045: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_004a: stelem.ref + IL_004b: call class [System.Core]System.Linq.Expressions.NewExpression [System.Core]System.Linq.Expressions.Expression::New(class [mscorlib]System.Reflection.ConstructorInfo, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0050: ldtoken method instance int32 [mscorlib]System.String::get_Length() + IL_0055: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_005a: castclass [mscorlib]System.Reflection.MethodInfo + IL_005f: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Property(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo) + IL_0064: ldc.i4.1 + IL_0065: box [mscorlib]System.Int32 + IL_006a: ldtoken [mscorlib]System.Int32 + IL_006f: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0074: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0079: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Equal(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_007e: ldc.i4.0 + IL_007f: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0084: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0089: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_008e: pop + IL_008f: ret + } // end of method ExpressionTrees::LiteralCharAndProperty + + .method public hidebysig instance void + CharNoCast() cil managed + { + // Code size 135 (0x87) + .maxstack 8 + IL_0000: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0005: ldstr "abc" + IL_000a: ldtoken [mscorlib]System.String + IL_000f: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0014: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0019: ldtoken method instance char [mscorlib]System.String::get_Chars(int32) + IL_001e: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0023: castclass [mscorlib]System.Reflection.MethodInfo + IL_0028: ldc.i4.1 + IL_0029: newarr [System.Core]System.Linq.Expressions.Expression + IL_002e: dup + IL_002f: ldc.i4.0 + IL_0030: ldc.i4.1 + IL_0031: box [mscorlib]System.Int32 + IL_0036: ldtoken [mscorlib]System.Int32 + IL_003b: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0040: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0045: stelem.ref + IL_0046: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_004b: ldtoken [mscorlib]System.Int32 + IL_0050: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0055: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_005a: ldc.i4.s 98 + IL_005c: box [mscorlib]System.Int32 + IL_0061: ldtoken [mscorlib]System.Int32 + IL_0066: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_006b: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0070: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Equal(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0075: ldc.i4.0 + IL_0076: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_007b: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0080: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0085: pop + IL_0086: ret + } // end of method ExpressionTrees::CharNoCast + + .method public hidebysig instance void + StringsImplicitCast() cil managed + { + // Code size 406 (0x196) + .maxstack 8 + .locals init (class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass25_0' V_0) + IL_0000: newobj instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass25_0'::.ctor() + IL_0005: stloc.0 + IL_0006: ldloc.0 + IL_0007: ldc.i4.1 + IL_0008: stfld int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass25_0'::i + IL_000d: ldloc.0 + IL_000e: ldstr "X" + IL_0013: stfld string ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass25_0'::x + IL_0018: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_001d: ldstr "a\n\\b" + IL_0022: ldtoken [mscorlib]System.String + IL_0027: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_002c: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0031: ldloc.0 + IL_0032: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass25_0' + IL_0037: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_003c: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0041: ldtoken field string ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass25_0'::x + IL_0046: call class [mscorlib]System.Reflection.FieldInfo [mscorlib]System.Reflection.FieldInfo::GetFieldFromHandle(valuetype [mscorlib]System.RuntimeFieldHandle) + IL_004b: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Field(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.FieldInfo) + IL_0050: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Coalesce(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0055: ldloc.0 + IL_0056: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass25_0' + IL_005b: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0060: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0065: ldtoken field string ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass25_0'::x + IL_006a: call class [mscorlib]System.Reflection.FieldInfo [mscorlib]System.Reflection.FieldInfo::GetFieldFromHandle(valuetype [mscorlib]System.RuntimeFieldHandle) + IL_006f: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Field(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.FieldInfo) + IL_0074: ldtoken method string [mscorlib]System.String::Concat(string, + string) + IL_0079: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_007e: castclass [mscorlib]System.Reflection.MethodInfo + IL_0083: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Add(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo) + IL_0088: ldtoken method instance int32 [mscorlib]System.String::get_Length() + IL_008d: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0092: castclass [mscorlib]System.Reflection.MethodInfo + IL_0097: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Property(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo) + IL_009c: ldc.i4.2 + IL_009d: box [mscorlib]System.Int32 + IL_00a2: ldtoken [mscorlib]System.Int32 + IL_00a7: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00ac: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_00b1: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Equal(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_00b6: ldc.i4.0 + IL_00b7: box [mscorlib]System.Boolean + IL_00bc: ldtoken [mscorlib]System.Boolean + IL_00c1: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00c6: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_00cb: ldc.i4.1 + IL_00cc: box [mscorlib]System.Boolean + IL_00d1: ldtoken [mscorlib]System.Boolean + IL_00d6: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00db: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_00e0: ldc.i4.1 + IL_00e1: newobj instance void [mscorlib]System.Decimal::.ctor(int32) + IL_00e6: box [mscorlib]System.Decimal + IL_00eb: ldtoken [mscorlib]System.Decimal + IL_00f0: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00f5: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_00fa: ldloc.0 + IL_00fb: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass25_0' + IL_0100: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0105: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_010a: ldtoken field int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass25_0'::i + IL_010f: call class [mscorlib]System.Reflection.FieldInfo [mscorlib]System.Reflection.FieldInfo::GetFieldFromHandle(valuetype [mscorlib]System.RuntimeFieldHandle) + IL_0114: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Field(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.FieldInfo) + IL_0119: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Negate(class [System.Core]System.Linq.Expressions.Expression) + IL_011e: ldtoken [mscorlib]System.Decimal + IL_0123: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0128: ldtoken method valuetype [mscorlib]System.Decimal [mscorlib]System.Decimal::op_Implicit(int32) + IL_012d: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0132: castclass [mscorlib]System.Reflection.MethodInfo + IL_0137: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type, + class [mscorlib]System.Reflection.MethodInfo) + IL_013c: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Add(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0141: ldc.i4.0 + IL_0142: newobj instance void [mscorlib]System.Decimal::.ctor(int32) + IL_0147: box [mscorlib]System.Decimal + IL_014c: ldtoken [mscorlib]System.Decimal + IL_0151: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0156: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_015b: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::GreaterThan(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0160: ldc.i4.0 + IL_0161: box [mscorlib]System.Boolean + IL_0166: ldtoken [mscorlib]System.Boolean + IL_016b: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0170: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0175: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::OrElse(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_017a: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::AndAlso(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_017f: call class [System.Core]System.Linq.Expressions.ConditionalExpression [System.Core]System.Linq.Expressions.Expression::Condition(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0184: ldc.i4.0 + IL_0185: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_018a: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_018f: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0194: pop + IL_0195: ret + } // end of method ExpressionTrees::StringsImplicitCast + + .method public hidebysig instance void + NotImplicitCast() cil managed + { + // Code size 114 (0x72) + .maxstack 4 + .locals init (class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass26_0' V_0) + IL_0000: newobj instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass26_0'::.ctor() + IL_0005: stloc.0 + IL_0006: ldloc.0 + IL_0007: ldc.i4.s 42 + IL_0009: stfld uint8 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass26_0'::z + IL_000e: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0013: ldloc.0 + IL_0014: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass26_0' + IL_0019: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_001e: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0023: ldtoken field uint8 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass26_0'::z + IL_0028: call class [mscorlib]System.Reflection.FieldInfo [mscorlib]System.Reflection.FieldInfo::GetFieldFromHandle(valuetype [mscorlib]System.RuntimeFieldHandle) + IL_002d: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Field(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.FieldInfo) + IL_0032: ldtoken [mscorlib]System.Int32 + IL_0037: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_003c: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_0041: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Not(class [System.Core]System.Linq.Expressions.Expression) + IL_0046: ldc.i4.0 + IL_0047: box [mscorlib]System.Int32 + IL_004c: ldtoken [mscorlib]System.Int32 + IL_0051: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0056: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_005b: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Equal(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0060: ldc.i4.0 + IL_0061: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0066: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_006b: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0070: pop + IL_0071: ret + } // end of method ExpressionTrees::NotImplicitCast + + .method public hidebysig instance void + MembersBuiltin() cil managed + { + // Code size 401 (0x191) + .maxstack 8 + IL_0000: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0005: ldc.i4.s 123 + IL_0007: ldc.i4.0 + IL_0008: ldc.i4.0 + IL_0009: ldc.i4.0 + IL_000a: ldc.i4.2 + IL_000b: newobj instance void [mscorlib]System.Decimal::.ctor(int32, + int32, + int32, + bool, + uint8) + IL_0010: box [mscorlib]System.Decimal + IL_0015: ldtoken [mscorlib]System.Decimal + IL_001a: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_001f: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0024: ldtoken method instance string [mscorlib]System.Decimal::ToString() + IL_0029: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_002e: castclass [mscorlib]System.Reflection.MethodInfo + IL_0033: ldc.i4.0 + IL_0034: newarr [System.Core]System.Linq.Expressions.Expression + IL_0039: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_003e: ldc.i4.0 + IL_003f: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0044: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0049: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_004e: pop + IL_004f: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0054: ldc.i4 0x7fff + IL_0059: box [mscorlib]System.AttributeTargets + IL_005e: ldtoken [mscorlib]System.AttributeTargets + IL_0063: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0068: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_006d: ldtoken method instance bool [mscorlib]System.Enum::HasFlag(class [mscorlib]System.Enum) + IL_0072: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0077: castclass [mscorlib]System.Reflection.MethodInfo + IL_007c: ldc.i4.1 + IL_007d: newarr [System.Core]System.Linq.Expressions.Expression + IL_0082: dup + IL_0083: ldc.i4.0 + IL_0084: ldc.i4.1 + IL_0085: box [mscorlib]System.AttributeTargets + IL_008a: ldtoken [mscorlib]System.AttributeTargets + IL_008f: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0094: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0099: ldtoken [mscorlib]System.Enum + IL_009e: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00a3: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_00a8: stelem.ref + IL_00a9: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_00ae: ldc.i4.0 + IL_00af: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_00b4: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_00b9: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_00be: pop + IL_00bf: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_00c4: ldstr "abc" + IL_00c9: ldtoken [mscorlib]System.String + IL_00ce: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00d3: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_00d8: ldtoken method instance int32 [mscorlib]System.String::get_Length() + IL_00dd: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_00e2: castclass [mscorlib]System.Reflection.MethodInfo + IL_00e7: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Property(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo) + IL_00ec: ldc.i4.3 + IL_00ed: box [mscorlib]System.Int32 + IL_00f2: ldtoken [mscorlib]System.Int32 + IL_00f7: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00fc: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0101: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Equal(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0106: ldc.i4.0 + IL_0107: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_010c: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0111: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0116: pop + IL_0117: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_011c: ldc.i4.s 97 + IL_011e: box [mscorlib]System.Char + IL_0123: ldtoken [mscorlib]System.Char + IL_0128: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_012d: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0132: ldtoken method instance int32 [mscorlib]System.Char::CompareTo(char) + IL_0137: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_013c: castclass [mscorlib]System.Reflection.MethodInfo + IL_0141: ldc.i4.1 + IL_0142: newarr [System.Core]System.Linq.Expressions.Expression + IL_0147: dup + IL_0148: ldc.i4.0 + IL_0149: ldc.i4.s 98 + IL_014b: box [mscorlib]System.Char + IL_0150: ldtoken [mscorlib]System.Char + IL_0155: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_015a: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_015f: stelem.ref + IL_0160: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_0165: ldc.i4.0 + IL_0166: box [mscorlib]System.Int32 + IL_016b: ldtoken [mscorlib]System.Int32 + IL_0170: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0175: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_017a: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::LessThan(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_017f: ldc.i4.0 + IL_0180: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0185: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_018a: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_018f: pop + IL_0190: ret + } // end of method ExpressionTrees::MembersBuiltin + + .method public hidebysig instance void + MembersDefault() cil managed + { + // Code size 540 (0x21c) + .maxstack 7 + .locals init (valuetype [mscorlib]System.DateTime V_0) + IL_0000: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0005: ldloca.s V_0 + IL_0007: initobj [mscorlib]System.DateTime + IL_000d: ldloc.0 + IL_000e: box [mscorlib]System.DateTime + IL_0013: ldtoken [mscorlib]System.DateTime + IL_0018: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_001d: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0022: ldtoken method instance int64 [mscorlib]System.DateTime::get_Ticks() + IL_0027: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_002c: castclass [mscorlib]System.Reflection.MethodInfo + IL_0031: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Property(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo) + IL_0036: ldc.i4.0 + IL_0037: conv.i8 + IL_0038: box [mscorlib]System.Int64 + IL_003d: ldtoken [mscorlib]System.Int64 + IL_0042: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0047: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_004c: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Equal(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0051: ldc.i4.0 + IL_0052: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0057: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_005c: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0061: pop + IL_0062: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0067: ldnull + IL_0068: ldtoken [mscorlib]System.Array + IL_006d: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0072: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0077: ldtoken method instance int32 [mscorlib]System.Array::get_Length() + IL_007c: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0081: castclass [mscorlib]System.Reflection.MethodInfo + IL_0086: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Property(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo) + IL_008b: ldc.i4.0 + IL_008c: box [mscorlib]System.Int32 + IL_0091: ldtoken [mscorlib]System.Int32 + IL_0096: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_009b: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_00a0: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Equal(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_00a5: ldc.i4.0 + IL_00a6: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_00ab: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_00b0: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_00b5: pop + IL_00b6: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_00bb: ldnull + IL_00bc: ldtoken [mscorlib]System.Type + IL_00c1: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00c6: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_00cb: ldtoken method instance bool [mscorlib]System.Type::get_IsLayoutSequential() + IL_00d0: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_00d5: castclass [mscorlib]System.Reflection.MethodInfo + IL_00da: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Property(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo) + IL_00df: ldc.i4.0 + IL_00e0: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_00e5: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_00ea: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_00ef: pop + IL_00f0: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_00f5: ldnull + IL_00f6: ldtoken class [mscorlib]System.Collections.Generic.List`1 + IL_00fb: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0100: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0105: ldtoken method instance int32 class [mscorlib]System.Collections.Generic.List`1::get_Count() + IL_010a: ldtoken class [mscorlib]System.Collections.Generic.List`1 + IL_010f: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle, + valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0114: castclass [mscorlib]System.Reflection.MethodInfo + IL_0119: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Property(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo) + IL_011e: ldc.i4.0 + IL_011f: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0124: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0129: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_012e: pop + IL_012f: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0134: ldnull + IL_0135: ldtoken [mscorlib]System.Array + IL_013a: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_013f: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0144: ldtoken method instance object [mscorlib]System.Array::Clone() + IL_0149: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_014e: castclass [mscorlib]System.Reflection.MethodInfo + IL_0153: ldc.i4.0 + IL_0154: newarr [System.Core]System.Linq.Expressions.Expression + IL_0159: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_015e: ldnull + IL_015f: ldtoken [mscorlib]System.Object + IL_0164: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0169: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_016e: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Equal(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0173: ldc.i4.0 + IL_0174: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0179: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_017e: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0183: pop + IL_0184: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0189: ldnull + IL_018a: ldtoken [mscorlib]System.Type + IL_018f: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0194: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0199: ldtoken method instance bool [mscorlib]System.Type::IsInstanceOfType(object) + IL_019e: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_01a3: castclass [mscorlib]System.Reflection.MethodInfo + IL_01a8: ldc.i4.1 + IL_01a9: newarr [System.Core]System.Linq.Expressions.Expression + IL_01ae: dup + IL_01af: ldc.i4.0 + IL_01b0: ldtoken [mscorlib]System.Object + IL_01b5: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_01ba: call class [System.Core]System.Linq.Expressions.NewExpression [System.Core]System.Linq.Expressions.Expression::New(class [mscorlib]System.Type) + IL_01bf: stelem.ref + IL_01c0: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_01c5: ldc.i4.0 + IL_01c6: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_01cb: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_01d0: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_01d5: pop + IL_01d6: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_01db: ldnull + IL_01dc: ldtoken class [mscorlib]System.Collections.Generic.List`1 + IL_01e1: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_01e6: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_01eb: ldtoken method instance class [mscorlib]System.Collections.ObjectModel.ReadOnlyCollection`1 class [mscorlib]System.Collections.Generic.List`1::AsReadOnly() + IL_01f0: ldtoken class [mscorlib]System.Collections.Generic.List`1 + IL_01f5: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle, + valuetype [mscorlib]System.RuntimeTypeHandle) + IL_01fa: castclass [mscorlib]System.Reflection.MethodInfo + IL_01ff: ldc.i4.0 + IL_0200: newarr [System.Core]System.Linq.Expressions.Expression + IL_0205: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_020a: ldc.i4.0 + IL_020b: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0210: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0215: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode>(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_021a: pop + IL_021b: ret + } // end of method ExpressionTrees::MembersDefault + + .method public hidebysig instance void + DoAssert() cil managed + { + // Code size 346 (0x15a) + .maxstack 9 + IL_0000: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0005: ldarg.0 + IL_0006: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees + IL_000b: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0010: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0015: ldtoken field int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'field' + IL_001a: call class [mscorlib]System.Reflection.FieldInfo [mscorlib]System.Reflection.FieldInfo::GetFieldFromHandle(valuetype [mscorlib]System.RuntimeFieldHandle) + IL_001f: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Field(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.FieldInfo) + IL_0024: ldarg.0 + IL_0025: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees + IL_002a: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_002f: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0034: ldtoken method instance int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::C() + IL_0039: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_003e: castclass [mscorlib]System.Reflection.MethodInfo + IL_0043: ldc.i4.0 + IL_0044: newarr [System.Core]System.Linq.Expressions.Expression + IL_0049: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_004e: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::NotEqual(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0053: ldc.i4.0 + IL_0054: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0059: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_005e: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0063: pop + IL_0064: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0069: ldnull + IL_006a: ldtoken method bool [mscorlib]System.Object::ReferenceEquals(object, + object) + IL_006f: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0074: castclass [mscorlib]System.Reflection.MethodInfo + IL_0079: ldc.i4.2 + IL_007a: newarr [System.Core]System.Linq.Expressions.Expression + IL_007f: dup + IL_0080: ldc.i4.0 + IL_0081: ldarg.0 + IL_0082: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees + IL_0087: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_008c: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0091: stelem.ref + IL_0092: dup + IL_0093: ldc.i4.1 + IL_0094: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees + IL_0099: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_009e: call class [System.Core]System.Linq.Expressions.NewExpression [System.Core]System.Linq.Expressions.Expression::New(class [mscorlib]System.Type) + IL_00a3: stelem.ref + IL_00a4: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_00a9: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Not(class [System.Core]System.Linq.Expressions.Expression) + IL_00ae: ldc.i4.0 + IL_00af: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_00b4: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_00b9: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_00be: pop + IL_00bf: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_00c4: ldarg.0 + IL_00c5: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees + IL_00ca: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00cf: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_00d4: ldtoken method instance bool ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::MyEquals(class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees) + IL_00d9: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_00de: castclass [mscorlib]System.Reflection.MethodInfo + IL_00e3: ldc.i4.1 + IL_00e4: newarr [System.Core]System.Linq.Expressions.Expression + IL_00e9: dup + IL_00ea: ldc.i4.0 + IL_00eb: ldarg.0 + IL_00ec: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees + IL_00f1: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00f6: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_00fb: stelem.ref + IL_00fc: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_0101: ldarg.0 + IL_0102: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees + IL_0107: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_010c: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0111: ldtoken method instance bool ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::MyEquals(class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees) + IL_0116: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_011b: castclass [mscorlib]System.Reflection.MethodInfo + IL_0120: ldc.i4.1 + IL_0121: newarr [System.Core]System.Linq.Expressions.Expression + IL_0126: dup + IL_0127: ldc.i4.0 + IL_0128: ldnull + IL_0129: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees + IL_012e: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0133: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0138: stelem.ref + IL_0139: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_013e: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Not(class [System.Core]System.Linq.Expressions.Expression) + IL_0143: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::AndAlso(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0148: ldc.i4.0 + IL_0149: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_014e: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0153: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0158: pop + IL_0159: ret + } // end of method ExpressionTrees::DoAssert + + .method private hidebysig instance int32 + C() cil managed + { + // Code size 6 (0x6) + .maxstack 8 + IL_0000: newobj instance void [mscorlib]System.NotImplementedException::.ctor() + IL_0005: throw + } // end of method ExpressionTrees::C + + .method private hidebysig instance bool + MyEquals(class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees other) cil managed + { + // Code size 6 (0x6) + .maxstack 8 + IL_0000: newobj instance void [mscorlib]System.NotImplementedException::.ctor() + IL_0005: throw + } // end of method ExpressionTrees::MyEquals + + .method public hidebysig instance void + MethodGroupAsExtensionMethod() cil managed + { + // Code size 273 (0x111) + .maxstack 12 + IL_0000: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0005: ldtoken method bool [System.Core]System.Linq.Enumerable::Any(class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_000a: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_000f: castclass [mscorlib]System.Reflection.MethodInfo + IL_0014: ldtoken [mscorlib]System.Reflection.MethodInfo + IL_0019: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_001e: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0023: ldtoken method instance class [mscorlib]System.Delegate [mscorlib]System.Reflection.MethodInfo::CreateDelegate(class [mscorlib]System.Type, + object) + IL_0028: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_002d: castclass [mscorlib]System.Reflection.MethodInfo + IL_0032: ldc.i4.2 + IL_0033: newarr [System.Core]System.Linq.Expressions.Expression + IL_0038: dup + IL_0039: ldc.i4.0 + IL_003a: ldtoken class [mscorlib]System.Func`1 + IL_003f: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0044: ldtoken [mscorlib]System.Type + IL_0049: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_004e: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0053: stelem.ref + IL_0054: dup + IL_0055: ldc.i4.1 + IL_0056: ldtoken [mscorlib]System.Int32 + IL_005b: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0060: ldc.i4.4 + IL_0061: newarr [System.Core]System.Linq.Expressions.Expression + IL_0066: dup + IL_0067: ldc.i4.0 + IL_0068: ldc.i4 0x7d0 + IL_006d: box [mscorlib]System.Int32 + IL_0072: ldtoken [mscorlib]System.Int32 + IL_0077: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_007c: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0081: stelem.ref + IL_0082: dup + IL_0083: ldc.i4.1 + IL_0084: ldc.i4 0x7d4 + IL_0089: box [mscorlib]System.Int32 + IL_008e: ldtoken [mscorlib]System.Int32 + IL_0093: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0098: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_009d: stelem.ref + IL_009e: dup + IL_009f: ldc.i4.2 + IL_00a0: ldc.i4 0x7d8 + IL_00a5: box [mscorlib]System.Int32 + IL_00aa: ldtoken [mscorlib]System.Int32 + IL_00af: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00b4: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_00b9: stelem.ref + IL_00ba: dup + IL_00bb: ldc.i4.3 + IL_00bc: ldc.i4 0x7dc + IL_00c1: box [mscorlib]System.Int32 + IL_00c6: ldtoken [mscorlib]System.Int32 + IL_00cb: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00d0: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_00d5: stelem.ref + IL_00d6: call class [System.Core]System.Linq.Expressions.NewArrayExpression [System.Core]System.Linq.Expressions.Expression::NewArrayInit(class [mscorlib]System.Type, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_00db: ldtoken class [mscorlib]System.Collections.Generic.IEnumerable`1 + IL_00e0: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00e5: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_00ea: stelem.ref + IL_00eb: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_00f0: ldtoken class [mscorlib]System.Func`1 + IL_00f5: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00fa: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_00ff: ldc.i4.0 + IL_0100: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0105: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_010a: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode>(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_010f: pop + IL_0110: ret + } // end of method ExpressionTrees::MethodGroupAsExtensionMethod + + .method public hidebysig instance void + MethodGroupConstant() cil managed + { + // Code size 872 (0x368) + .maxstack 13 + .locals init (class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass33_0' V_0) + IL_0000: newobj instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass33_0'::.ctor() + IL_0005: stloc.0 + IL_0006: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_000b: ldnull + IL_000c: ldtoken method bool [mscorlib]System.Array::TrueForAll(!!0[], + class [mscorlib]System.Predicate`1) + IL_0011: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0016: castclass [mscorlib]System.Reflection.MethodInfo + IL_001b: ldc.i4.2 + IL_001c: newarr [System.Core]System.Linq.Expressions.Expression + IL_0021: dup + IL_0022: ldc.i4.0 + IL_0023: ldtoken [mscorlib]System.Int32 + IL_0028: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_002d: ldc.i4.4 + IL_002e: newarr [System.Core]System.Linq.Expressions.Expression + IL_0033: dup + IL_0034: ldc.i4.0 + IL_0035: ldc.i4 0x7d0 + IL_003a: box [mscorlib]System.Int32 + IL_003f: ldtoken [mscorlib]System.Int32 + IL_0044: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0049: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_004e: stelem.ref + IL_004f: dup + IL_0050: ldc.i4.1 + IL_0051: ldc.i4 0x7d4 + IL_0056: box [mscorlib]System.Int32 + IL_005b: ldtoken [mscorlib]System.Int32 + IL_0060: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0065: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_006a: stelem.ref + IL_006b: dup + IL_006c: ldc.i4.2 + IL_006d: ldc.i4 0x7d8 + IL_0072: box [mscorlib]System.Int32 + IL_0077: ldtoken [mscorlib]System.Int32 + IL_007c: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0081: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0086: stelem.ref + IL_0087: dup + IL_0088: ldc.i4.3 + IL_0089: ldc.i4 0x7dc + IL_008e: box [mscorlib]System.Int32 + IL_0093: ldtoken [mscorlib]System.Int32 + IL_0098: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_009d: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_00a2: stelem.ref + IL_00a3: call class [System.Core]System.Linq.Expressions.NewArrayExpression [System.Core]System.Linq.Expressions.Expression::NewArrayInit(class [mscorlib]System.Type, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_00a8: stelem.ref + IL_00a9: dup + IL_00aa: ldc.i4.1 + IL_00ab: ldtoken method bool [mscorlib]System.DateTime::IsLeapYear(int32) + IL_00b0: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_00b5: castclass [mscorlib]System.Reflection.MethodInfo + IL_00ba: ldtoken [mscorlib]System.Reflection.MethodInfo + IL_00bf: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00c4: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_00c9: ldtoken method instance class [mscorlib]System.Delegate [mscorlib]System.Reflection.MethodInfo::CreateDelegate(class [mscorlib]System.Type, + object) + IL_00ce: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_00d3: castclass [mscorlib]System.Reflection.MethodInfo + IL_00d8: ldc.i4.2 + IL_00d9: newarr [System.Core]System.Linq.Expressions.Expression + IL_00de: dup + IL_00df: ldc.i4.0 + IL_00e0: ldtoken class [mscorlib]System.Predicate`1 + IL_00e5: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00ea: ldtoken [mscorlib]System.Type + IL_00ef: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00f4: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_00f9: stelem.ref + IL_00fa: dup + IL_00fb: ldc.i4.1 + IL_00fc: ldnull + IL_00fd: ldtoken [mscorlib]System.Object + IL_0102: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0107: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_010c: stelem.ref + IL_010d: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_0112: ldtoken class [mscorlib]System.Predicate`1 + IL_0117: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_011c: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_0121: stelem.ref + IL_0122: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_0127: ldc.i4.0 + IL_0128: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_012d: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0132: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0137: pop + IL_0138: ldloc.0 + IL_0139: newobj instance void class [System.Core]System.Collections.Generic.HashSet`1::.ctor() + IL_013e: stfld class [System.Core]System.Collections.Generic.HashSet`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass33_0'::set + IL_0143: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0148: ldnull + IL_0149: ldtoken method bool [System.Core]System.Linq.Enumerable::All(class [mscorlib]System.Collections.Generic.IEnumerable`1, + class [mscorlib]System.Func`2) + IL_014e: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0153: castclass [mscorlib]System.Reflection.MethodInfo + IL_0158: ldc.i4.2 + IL_0159: newarr [System.Core]System.Linq.Expressions.Expression + IL_015e: dup + IL_015f: ldc.i4.0 + IL_0160: ldtoken [mscorlib]System.Int32 + IL_0165: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_016a: ldc.i4.4 + IL_016b: newarr [System.Core]System.Linq.Expressions.Expression + IL_0170: dup + IL_0171: ldc.i4.0 + IL_0172: ldc.i4 0x7d0 + IL_0177: box [mscorlib]System.Int32 + IL_017c: ldtoken [mscorlib]System.Int32 + IL_0181: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0186: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_018b: stelem.ref + IL_018c: dup + IL_018d: ldc.i4.1 + IL_018e: ldc.i4 0x7d4 + IL_0193: box [mscorlib]System.Int32 + IL_0198: ldtoken [mscorlib]System.Int32 + IL_019d: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_01a2: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_01a7: stelem.ref + IL_01a8: dup + IL_01a9: ldc.i4.2 + IL_01aa: ldc.i4 0x7d8 + IL_01af: box [mscorlib]System.Int32 + IL_01b4: ldtoken [mscorlib]System.Int32 + IL_01b9: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_01be: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_01c3: stelem.ref + IL_01c4: dup + IL_01c5: ldc.i4.3 + IL_01c6: ldc.i4 0x7dc + IL_01cb: box [mscorlib]System.Int32 + IL_01d0: ldtoken [mscorlib]System.Int32 + IL_01d5: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_01da: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_01df: stelem.ref + IL_01e0: call class [System.Core]System.Linq.Expressions.NewArrayExpression [System.Core]System.Linq.Expressions.Expression::NewArrayInit(class [mscorlib]System.Type, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_01e5: stelem.ref + IL_01e6: dup + IL_01e7: ldc.i4.1 + IL_01e8: ldtoken method instance bool class [System.Core]System.Collections.Generic.HashSet`1::Add(!0) + IL_01ed: ldtoken class [System.Core]System.Collections.Generic.HashSet`1 + IL_01f2: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle, + valuetype [mscorlib]System.RuntimeTypeHandle) + IL_01f7: castclass [mscorlib]System.Reflection.MethodInfo + IL_01fc: ldtoken [mscorlib]System.Reflection.MethodInfo + IL_0201: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0206: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_020b: ldtoken method instance class [mscorlib]System.Delegate [mscorlib]System.Reflection.MethodInfo::CreateDelegate(class [mscorlib]System.Type, + object) + IL_0210: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0215: castclass [mscorlib]System.Reflection.MethodInfo + IL_021a: ldc.i4.2 + IL_021b: newarr [System.Core]System.Linq.Expressions.Expression + IL_0220: dup + IL_0221: ldc.i4.0 + IL_0222: ldtoken class [mscorlib]System.Func`2 + IL_0227: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_022c: ldtoken [mscorlib]System.Type + IL_0231: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0236: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_023b: stelem.ref + IL_023c: dup + IL_023d: ldc.i4.1 + IL_023e: ldloc.0 + IL_023f: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass33_0' + IL_0244: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0249: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_024e: ldtoken field class [System.Core]System.Collections.Generic.HashSet`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass33_0'::set + IL_0253: call class [mscorlib]System.Reflection.FieldInfo [mscorlib]System.Reflection.FieldInfo::GetFieldFromHandle(valuetype [mscorlib]System.RuntimeFieldHandle) + IL_0258: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Field(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.FieldInfo) + IL_025d: stelem.ref + IL_025e: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_0263: ldtoken class [mscorlib]System.Func`2 + IL_0268: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_026d: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_0272: stelem.ref + IL_0273: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_0278: ldc.i4.0 + IL_0279: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_027e: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0283: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0288: pop + IL_0289: ldloc.0 + IL_028a: ldsfld class [mscorlib]System.Func`2,bool> ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__33_0' + IL_028f: dup + IL_0290: brtrue.s IL_02a9 + + IL_0292: pop + IL_0293: ldsfld class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c' ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9' + IL_0298: ldftn instance bool ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'b__33_0'(class [mscorlib]System.Func`3) + IL_029e: newobj instance void class [mscorlib]System.Func`2,bool>::.ctor(object, + native int) + IL_02a3: dup + IL_02a4: stsfld class [mscorlib]System.Func`2,bool> ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__33_0' + IL_02a9: stfld class [mscorlib]System.Func`2,bool> ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass33_0'::sink + IL_02ae: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_02b3: ldloc.0 + IL_02b4: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass33_0' + IL_02b9: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_02be: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_02c3: ldtoken field class [mscorlib]System.Func`2,bool> ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass33_0'::sink + IL_02c8: call class [mscorlib]System.Reflection.FieldInfo [mscorlib]System.Reflection.FieldInfo::GetFieldFromHandle(valuetype [mscorlib]System.RuntimeFieldHandle) + IL_02cd: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Field(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.FieldInfo) + IL_02d2: ldc.i4.1 + IL_02d3: newarr [System.Core]System.Linq.Expressions.Expression + IL_02d8: dup + IL_02d9: ldc.i4.0 + IL_02da: ldtoken method bool [mscorlib]System.Object::Equals(object, + object) + IL_02df: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_02e4: castclass [mscorlib]System.Reflection.MethodInfo + IL_02e9: ldtoken [mscorlib]System.Reflection.MethodInfo + IL_02ee: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_02f3: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_02f8: ldtoken method instance class [mscorlib]System.Delegate [mscorlib]System.Reflection.MethodInfo::CreateDelegate(class [mscorlib]System.Type, + object) + IL_02fd: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0302: castclass [mscorlib]System.Reflection.MethodInfo + IL_0307: ldc.i4.2 + IL_0308: newarr [System.Core]System.Linq.Expressions.Expression + IL_030d: dup + IL_030e: ldc.i4.0 + IL_030f: ldtoken class [mscorlib]System.Func`3 + IL_0314: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0319: ldtoken [mscorlib]System.Type + IL_031e: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0323: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0328: stelem.ref + IL_0329: dup + IL_032a: ldc.i4.1 + IL_032b: ldnull + IL_032c: ldtoken [mscorlib]System.Object + IL_0331: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0336: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_033b: stelem.ref + IL_033c: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_0341: ldtoken class [mscorlib]System.Func`3 + IL_0346: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_034b: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_0350: stelem.ref + IL_0351: call class [System.Core]System.Linq.Expressions.InvocationExpression [System.Core]System.Linq.Expressions.Expression::Invoke(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_0356: ldc.i4.0 + IL_0357: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_035c: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0361: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0366: pop + IL_0367: ret + } // end of method ExpressionTrees::MethodGroupConstant + + .method public hidebysig instance void + MultipleCasts() cil managed + { + // Code size 100 (0x64) + .maxstack 4 + IL_0000: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0005: ldc.i4.1 + IL_0006: box [mscorlib]System.Int32 + IL_000b: ldtoken [mscorlib]System.Int32 + IL_0010: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0015: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_001a: ldc.i4.1 + IL_001b: box [mscorlib]System.Int32 + IL_0020: ldtoken [mscorlib]System.Int32 + IL_0025: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_002a: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_002f: ldtoken [mscorlib]System.Object + IL_0034: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0039: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_003e: ldtoken [mscorlib]System.Int32 + IL_0043: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0048: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_004d: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Equal(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0052: ldc.i4.0 + IL_0053: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0058: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_005d: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0062: pop + IL_0063: ret + } // end of method ExpressionTrees::MultipleCasts + + .method public hidebysig instance void + MultipleDots() cil managed + { + // Code size 142 (0x8e) + .maxstack 4 + IL_0000: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0005: ldc.i4.3 + IL_0006: box [mscorlib]System.Int32 + IL_000b: ldtoken [mscorlib]System.Int32 + IL_0010: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0015: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_001a: ldtoken method instance string [mscorlib]System.Int32::ToString() + IL_001f: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0024: castclass [mscorlib]System.Reflection.MethodInfo + IL_0029: ldc.i4.0 + IL_002a: newarr [System.Core]System.Linq.Expressions.Expression + IL_002f: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_0034: ldtoken method instance string [mscorlib]System.Object::ToString() + IL_0039: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_003e: castclass [mscorlib]System.Reflection.MethodInfo + IL_0043: ldc.i4.0 + IL_0044: newarr [System.Core]System.Linq.Expressions.Expression + IL_0049: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_004e: ldtoken method instance int32 [mscorlib]System.String::get_Length() + IL_0053: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0058: castclass [mscorlib]System.Reflection.MethodInfo + IL_005d: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Property(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo) + IL_0062: ldc.i4.0 + IL_0063: box [mscorlib]System.Int32 + IL_0068: ldtoken [mscorlib]System.Int32 + IL_006d: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0072: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0077: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::GreaterThan(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_007c: ldc.i4.0 + IL_007d: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0082: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0087: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_008c: pop + IL_008d: ret + } // end of method ExpressionTrees::MultipleDots + + .method public hidebysig instance void + NestedLambda() cil managed + { + // Code size 547 (0x223) + .maxstack 12 + .locals init (class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass36_0' V_0, + class [System.Core]System.Linq.Expressions.ParameterExpression V_1, + class [System.Core]System.Linq.Expressions.ParameterExpression V_2) + IL_0000: newobj instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass36_0'::.ctor() + IL_0005: stloc.0 + IL_0006: ldloc.0 + IL_0007: ldsfld class [mscorlib]System.Func`2,int32> ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__36_0' + IL_000c: dup + IL_000d: brtrue.s IL_0026 + + IL_000f: pop + IL_0010: ldsfld class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c' ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9' + IL_0015: ldftn instance int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'b__36_0'(class [mscorlib]System.Func`1) + IL_001b: newobj instance void class [mscorlib]System.Func`2,int32>::.ctor(object, + native int) + IL_0020: dup + IL_0021: stsfld class [mscorlib]System.Func`2,int32> ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__36_0' + IL_0026: stfld class [mscorlib]System.Func`2,int32> ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass36_0'::'call' + IL_002b: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0030: ldloc.0 + IL_0031: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass36_0' + IL_0036: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_003b: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0040: ldtoken field class [mscorlib]System.Func`2,int32> ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass36_0'::'call' + IL_0045: call class [mscorlib]System.Reflection.FieldInfo [mscorlib]System.Reflection.FieldInfo::GetFieldFromHandle(valuetype [mscorlib]System.RuntimeFieldHandle) + IL_004a: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Field(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.FieldInfo) + IL_004f: ldc.i4.1 + IL_0050: newarr [System.Core]System.Linq.Expressions.Expression + IL_0055: dup + IL_0056: ldc.i4.0 + IL_0057: ldc.i4.s 42 + IL_0059: box [mscorlib]System.Int32 + IL_005e: ldtoken [mscorlib]System.Int32 + IL_0063: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0068: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_006d: ldc.i4.0 + IL_006e: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0073: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0078: stelem.ref + IL_0079: call class [System.Core]System.Linq.Expressions.InvocationExpression [System.Core]System.Linq.Expressions.Expression::Invoke(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_007e: ldc.i4.0 + IL_007f: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0084: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0089: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_008e: pop + IL_008f: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0094: ldnull + IL_0095: ldtoken method class [mscorlib]System.Collections.Generic.IEnumerable`1 [System.Core]System.Linq.Enumerable::Select(class [mscorlib]System.Collections.Generic.IEnumerable`1, + class [mscorlib]System.Func`2) + IL_009a: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_009f: castclass [mscorlib]System.Reflection.MethodInfo + IL_00a4: ldc.i4.2 + IL_00a5: newarr [System.Core]System.Linq.Expressions.Expression + IL_00aa: dup + IL_00ab: ldc.i4.0 + IL_00ac: ldtoken [mscorlib]System.Int32 + IL_00b1: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00b6: ldc.i4.2 + IL_00b7: newarr [System.Core]System.Linq.Expressions.Expression + IL_00bc: dup + IL_00bd: ldc.i4.0 + IL_00be: ldc.i4.s 37 + IL_00c0: box [mscorlib]System.Int32 + IL_00c5: ldtoken [mscorlib]System.Int32 + IL_00ca: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00cf: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_00d4: stelem.ref + IL_00d5: dup + IL_00d6: ldc.i4.1 + IL_00d7: ldc.i4.s 42 + IL_00d9: box [mscorlib]System.Int32 + IL_00de: ldtoken [mscorlib]System.Int32 + IL_00e3: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00e8: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_00ed: stelem.ref + IL_00ee: call class [System.Core]System.Linq.Expressions.NewArrayExpression [System.Core]System.Linq.Expressions.Expression::NewArrayInit(class [mscorlib]System.Type, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_00f3: stelem.ref + IL_00f4: dup + IL_00f5: ldc.i4.1 + IL_00f6: ldtoken [mscorlib]System.Int32 + IL_00fb: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0100: ldstr "x" + IL_0105: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_010a: stloc.1 + IL_010b: ldloc.1 + IL_010c: ldc.i4.2 + IL_010d: box [mscorlib]System.Int32 + IL_0112: ldtoken [mscorlib]System.Int32 + IL_0117: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_011c: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0121: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Multiply(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0126: ldc.i4.1 + IL_0127: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_012c: dup + IL_012d: ldc.i4.0 + IL_012e: ldloc.1 + IL_012f: stelem.ref + IL_0130: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0135: stelem.ref + IL_0136: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_013b: ldc.i4.0 + IL_013c: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0141: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0146: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode>(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_014b: pop + IL_014c: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0151: ldnull + IL_0152: ldtoken method class [mscorlib]System.Collections.Generic.IEnumerable`1 [System.Core]System.Linq.Enumerable::Select(class [mscorlib]System.Collections.Generic.IEnumerable`1, + class [mscorlib]System.Func`3) + IL_0157: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_015c: castclass [mscorlib]System.Reflection.MethodInfo + IL_0161: ldc.i4.2 + IL_0162: newarr [System.Core]System.Linq.Expressions.Expression + IL_0167: dup + IL_0168: ldc.i4.0 + IL_0169: ldtoken [mscorlib]System.Int32 + IL_016e: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0173: ldc.i4.2 + IL_0174: newarr [System.Core]System.Linq.Expressions.Expression + IL_0179: dup + IL_017a: ldc.i4.0 + IL_017b: ldc.i4.s 37 + IL_017d: box [mscorlib]System.Int32 + IL_0182: ldtoken [mscorlib]System.Int32 + IL_0187: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_018c: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0191: stelem.ref + IL_0192: dup + IL_0193: ldc.i4.1 + IL_0194: ldc.i4.s 42 + IL_0196: box [mscorlib]System.Int32 + IL_019b: ldtoken [mscorlib]System.Int32 + IL_01a0: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_01a5: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_01aa: stelem.ref + IL_01ab: call class [System.Core]System.Linq.Expressions.NewArrayExpression [System.Core]System.Linq.Expressions.Expression::NewArrayInit(class [mscorlib]System.Type, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_01b0: stelem.ref + IL_01b1: dup + IL_01b2: ldc.i4.1 + IL_01b3: ldtoken [mscorlib]System.Int32 + IL_01b8: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_01bd: ldstr "x" + IL_01c2: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_01c7: stloc.1 + IL_01c8: ldtoken [mscorlib]System.Int32 + IL_01cd: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_01d2: ldstr "i" + IL_01d7: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_01dc: stloc.2 + IL_01dd: ldloc.1 + IL_01de: ldc.i4.2 + IL_01df: box [mscorlib]System.Int32 + IL_01e4: ldtoken [mscorlib]System.Int32 + IL_01e9: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_01ee: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_01f3: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Multiply(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_01f8: ldc.i4.2 + IL_01f9: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_01fe: dup + IL_01ff: ldc.i4.0 + IL_0200: ldloc.1 + IL_0201: stelem.ref + IL_0202: dup + IL_0203: ldc.i4.1 + IL_0204: ldloc.2 + IL_0205: stelem.ref + IL_0206: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_020b: stelem.ref + IL_020c: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_0211: ldc.i4.0 + IL_0212: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0217: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_021c: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode>(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0221: pop + IL_0222: ret + } // end of method ExpressionTrees::NestedLambda + + .method public hidebysig instance void + CurriedLambda() cil managed + { + // Code size 133 (0x85) + .maxstack 6 + .locals init (class [System.Core]System.Linq.Expressions.ParameterExpression V_0, + class [System.Core]System.Linq.Expressions.ParameterExpression V_1, + class [System.Core]System.Linq.Expressions.ParameterExpression V_2) + IL_0000: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0005: ldtoken [mscorlib]System.Int32 + IL_000a: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_000f: ldstr "a" + IL_0014: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0019: stloc.0 + IL_001a: ldtoken [mscorlib]System.Int32 + IL_001f: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0024: ldstr "b" + IL_0029: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_002e: stloc.1 + IL_002f: ldtoken [mscorlib]System.Int32 + IL_0034: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0039: ldstr "c" + IL_003e: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0043: stloc.2 + IL_0044: ldloc.0 + IL_0045: ldloc.1 + IL_0046: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Add(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_004b: ldloc.2 + IL_004c: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Add(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0051: ldc.i4.1 + IL_0052: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0057: dup + IL_0058: ldc.i4.0 + IL_0059: ldloc.2 + IL_005a: stelem.ref + IL_005b: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0060: ldc.i4.1 + IL_0061: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0066: dup + IL_0067: ldc.i4.0 + IL_0068: ldloc.1 + IL_0069: stelem.ref + IL_006a: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_006f: ldc.i4.1 + IL_0070: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0075: dup + IL_0076: ldc.i4.0 + IL_0077: ldloc.0 + IL_0078: stelem.ref + IL_0079: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>>>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_007e: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode>>(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0083: pop + IL_0084: ret + } // end of method ExpressionTrees::CurriedLambda + + .method private hidebysig instance bool + Fizz(class [mscorlib]System.Func`2 a) cil managed + { + // Code size 9 (0x9) + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldc.i4.s 42 + IL_0003: callvirt instance !1 class [mscorlib]System.Func`2::Invoke(!0) + IL_0008: ret + } // end of method ExpressionTrees::Fizz + + .method private hidebysig instance bool + Buzz(class [mscorlib]System.Func`2 a) cil managed + { + // Code size 9 (0x9) + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldc.i4.s 42 + IL_0003: callvirt instance !1 class [mscorlib]System.Func`2::Invoke(!0) + IL_0008: ret + } // end of method ExpressionTrees::Buzz + + .method private hidebysig instance bool + Fizz(class [mscorlib]System.Func`2 a) cil managed + { + // Code size 12 (0xc) + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldstr "42" + IL_0006: callvirt instance !1 class [mscorlib]System.Func`2::Invoke(!0) + IL_000b: ret + } // end of method ExpressionTrees::Fizz + + .method private hidebysig instance bool + Fizz(class [mscorlib]System.Func`2 a) cil managed + { + // Code size 8 (0x8) + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldnull + IL_0002: callvirt instance !1 class [mscorlib]System.Func`2::Invoke(!0) + IL_0007: ret + } // end of method ExpressionTrees::Fizz + + .method public hidebysig instance void + NestedLambda2() cil managed + { + // Code size 1124 (0x464) + .maxstack 14 + .locals init (class [System.Core]System.Linq.Expressions.ParameterExpression V_0) + IL_0000: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0005: ldarg.0 + IL_0006: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees + IL_000b: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0010: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0015: ldtoken method instance bool ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Fizz(class [mscorlib]System.Func`2) + IL_001a: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_001f: castclass [mscorlib]System.Reflection.MethodInfo + IL_0024: ldc.i4.1 + IL_0025: newarr [System.Core]System.Linq.Expressions.Expression + IL_002a: dup + IL_002b: ldc.i4.0 + IL_002c: ldtoken [mscorlib]System.String + IL_0031: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0036: ldstr "x" + IL_003b: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0040: stloc.0 + IL_0041: ldloc.0 + IL_0042: ldstr "a" + IL_0047: ldtoken [mscorlib]System.String + IL_004c: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0051: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0056: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Equal(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_005b: ldc.i4.1 + IL_005c: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0061: dup + IL_0062: ldc.i4.0 + IL_0063: ldloc.0 + IL_0064: stelem.ref + IL_0065: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_006a: stelem.ref + IL_006b: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_0070: ldc.i4.0 + IL_0071: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0076: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_007b: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0080: pop + IL_0081: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0086: ldarg.0 + IL_0087: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees + IL_008c: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0091: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0096: ldtoken method instance bool ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Fizz(class [mscorlib]System.Func`2) + IL_009b: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_00a0: castclass [mscorlib]System.Reflection.MethodInfo + IL_00a5: ldc.i4.1 + IL_00a6: newarr [System.Core]System.Linq.Expressions.Expression + IL_00ab: dup + IL_00ac: ldc.i4.0 + IL_00ad: ldtoken [mscorlib]System.String + IL_00b2: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00b7: ldstr "x" + IL_00bc: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_00c1: stloc.0 + IL_00c2: ldloc.0 + IL_00c3: ldstr "a" + IL_00c8: ldtoken [mscorlib]System.String + IL_00cd: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00d2: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_00d7: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::NotEqual(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_00dc: ldc.i4.1 + IL_00dd: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_00e2: dup + IL_00e3: ldc.i4.0 + IL_00e4: ldloc.0 + IL_00e5: stelem.ref + IL_00e6: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_00eb: stelem.ref + IL_00ec: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_00f1: ldc.i4.0 + IL_00f2: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_00f7: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_00fc: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0101: pop + IL_0102: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0107: ldarg.0 + IL_0108: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees + IL_010d: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0112: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0117: ldtoken method instance bool ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Fizz(class [mscorlib]System.Func`2) + IL_011c: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0121: castclass [mscorlib]System.Reflection.MethodInfo + IL_0126: ldc.i4.1 + IL_0127: newarr [System.Core]System.Linq.Expressions.Expression + IL_012c: dup + IL_012d: ldc.i4.0 + IL_012e: ldtoken [mscorlib]System.Action + IL_0133: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0138: ldstr "x" + IL_013d: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0142: stloc.0 + IL_0143: ldloc.0 + IL_0144: ldtoken method instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::NestedLambda2() + IL_0149: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_014e: castclass [mscorlib]System.Reflection.MethodInfo + IL_0153: ldtoken [mscorlib]System.Reflection.MethodInfo + IL_0158: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_015d: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0162: ldtoken method instance class [mscorlib]System.Delegate [mscorlib]System.Reflection.MethodInfo::CreateDelegate(class [mscorlib]System.Type, + object) + IL_0167: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_016c: castclass [mscorlib]System.Reflection.MethodInfo + IL_0171: ldc.i4.2 + IL_0172: newarr [System.Core]System.Linq.Expressions.Expression + IL_0177: dup + IL_0178: ldc.i4.0 + IL_0179: ldtoken [mscorlib]System.Action + IL_017e: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0183: ldtoken [mscorlib]System.Type + IL_0188: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_018d: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0192: stelem.ref + IL_0193: dup + IL_0194: ldc.i4.1 + IL_0195: ldarg.0 + IL_0196: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees + IL_019b: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_01a0: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_01a5: stelem.ref + IL_01a6: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_01ab: ldtoken [mscorlib]System.Action + IL_01b0: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_01b5: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_01ba: ldc.i4.0 + IL_01bb: ldtoken method bool [mscorlib]System.Delegate::op_Equality(class [mscorlib]System.Delegate, + class [mscorlib]System.Delegate) + IL_01c0: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_01c5: castclass [mscorlib]System.Reflection.MethodInfo + IL_01ca: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Equal(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression, + bool, + class [mscorlib]System.Reflection.MethodInfo) + IL_01cf: ldc.i4.1 + IL_01d0: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_01d5: dup + IL_01d6: ldc.i4.0 + IL_01d7: ldloc.0 + IL_01d8: stelem.ref + IL_01d9: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_01de: stelem.ref + IL_01df: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_01e4: ldc.i4.0 + IL_01e5: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_01ea: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_01ef: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_01f4: pop + IL_01f5: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_01fa: ldarg.0 + IL_01fb: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees + IL_0200: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0205: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_020a: ldtoken method instance bool ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Fizz(class [mscorlib]System.Func`2) + IL_020f: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0214: castclass [mscorlib]System.Reflection.MethodInfo + IL_0219: ldc.i4.1 + IL_021a: newarr [System.Core]System.Linq.Expressions.Expression + IL_021f: dup + IL_0220: ldc.i4.0 + IL_0221: ldtoken [mscorlib]System.Action + IL_0226: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_022b: ldstr "x" + IL_0230: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0235: stloc.0 + IL_0236: ldloc.0 + IL_0237: ldtoken method instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::NestedLambda2() + IL_023c: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0241: castclass [mscorlib]System.Reflection.MethodInfo + IL_0246: ldtoken [mscorlib]System.Reflection.MethodInfo + IL_024b: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0250: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0255: ldtoken method instance class [mscorlib]System.Delegate [mscorlib]System.Reflection.MethodInfo::CreateDelegate(class [mscorlib]System.Type, + object) + IL_025a: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_025f: castclass [mscorlib]System.Reflection.MethodInfo + IL_0264: ldc.i4.2 + IL_0265: newarr [System.Core]System.Linq.Expressions.Expression + IL_026a: dup + IL_026b: ldc.i4.0 + IL_026c: ldtoken [mscorlib]System.Action + IL_0271: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0276: ldtoken [mscorlib]System.Type + IL_027b: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0280: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0285: stelem.ref + IL_0286: dup + IL_0287: ldc.i4.1 + IL_0288: ldarg.0 + IL_0289: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees + IL_028e: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0293: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0298: stelem.ref + IL_0299: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_029e: ldtoken [mscorlib]System.Action + IL_02a3: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_02a8: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_02ad: ldc.i4.0 + IL_02ae: ldtoken method bool [mscorlib]System.Delegate::op_Inequality(class [mscorlib]System.Delegate, + class [mscorlib]System.Delegate) + IL_02b3: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_02b8: castclass [mscorlib]System.Reflection.MethodInfo + IL_02bd: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::NotEqual(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression, + bool, + class [mscorlib]System.Reflection.MethodInfo) + IL_02c2: ldc.i4.1 + IL_02c3: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_02c8: dup + IL_02c9: ldc.i4.0 + IL_02ca: ldloc.0 + IL_02cb: stelem.ref + IL_02cc: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_02d1: stelem.ref + IL_02d2: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_02d7: ldc.i4.0 + IL_02d8: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_02dd: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_02e2: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_02e7: pop + IL_02e8: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_02ed: ldarg.0 + IL_02ee: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees + IL_02f3: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_02f8: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_02fd: ldtoken method instance bool ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Fizz(class [mscorlib]System.Func`2) + IL_0302: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0307: castclass [mscorlib]System.Reflection.MethodInfo + IL_030c: ldc.i4.1 + IL_030d: newarr [System.Core]System.Linq.Expressions.Expression + IL_0312: dup + IL_0313: ldc.i4.0 + IL_0314: ldtoken [mscorlib]System.Int32 + IL_0319: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_031e: ldstr "x" + IL_0323: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0328: stloc.0 + IL_0329: ldloc.0 + IL_032a: ldc.i4.s 37 + IL_032c: box [mscorlib]System.Int32 + IL_0331: ldtoken [mscorlib]System.Int32 + IL_0336: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_033b: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0340: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Equal(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0345: ldc.i4.1 + IL_0346: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_034b: dup + IL_034c: ldc.i4.0 + IL_034d: ldloc.0 + IL_034e: stelem.ref + IL_034f: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0354: stelem.ref + IL_0355: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_035a: ldc.i4.0 + IL_035b: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0360: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0365: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_036a: pop + IL_036b: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0370: ldarg.0 + IL_0371: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees + IL_0376: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_037b: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0380: ldtoken method instance bool ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Fizz(class [mscorlib]System.Func`2) + IL_0385: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_038a: castclass [mscorlib]System.Reflection.MethodInfo + IL_038f: ldc.i4.1 + IL_0390: newarr [System.Core]System.Linq.Expressions.Expression + IL_0395: dup + IL_0396: ldc.i4.0 + IL_0397: ldtoken [mscorlib]System.Int32 + IL_039c: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_03a1: ldstr "x" + IL_03a6: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_03ab: stloc.0 + IL_03ac: ldc.i4.1 + IL_03ad: box [mscorlib]System.Boolean + IL_03b2: ldtoken [mscorlib]System.Boolean + IL_03b7: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_03bc: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_03c1: ldc.i4.1 + IL_03c2: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_03c7: dup + IL_03c8: ldc.i4.0 + IL_03c9: ldloc.0 + IL_03ca: stelem.ref + IL_03cb: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_03d0: stelem.ref + IL_03d1: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_03d6: ldc.i4.0 + IL_03d7: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_03dc: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_03e1: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_03e6: pop + IL_03e7: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_03ec: ldarg.0 + IL_03ed: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees + IL_03f2: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_03f7: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_03fc: ldtoken method instance bool ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Buzz(class [mscorlib]System.Func`2) + IL_0401: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0406: castclass [mscorlib]System.Reflection.MethodInfo + IL_040b: ldc.i4.1 + IL_040c: newarr [System.Core]System.Linq.Expressions.Expression + IL_0411: dup + IL_0412: ldc.i4.0 + IL_0413: ldtoken [mscorlib]System.Int32 + IL_0418: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_041d: ldstr "x" + IL_0422: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0427: stloc.0 + IL_0428: ldc.i4.1 + IL_0429: box [mscorlib]System.Boolean + IL_042e: ldtoken [mscorlib]System.Boolean + IL_0433: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0438: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_043d: ldc.i4.1 + IL_043e: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0443: dup + IL_0444: ldc.i4.0 + IL_0445: ldloc.0 + IL_0446: stelem.ref + IL_0447: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_044c: stelem.ref + IL_044d: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_0452: ldc.i4.0 + IL_0453: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0458: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_045d: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0462: pop + IL_0463: ret + } // end of method ExpressionTrees::NestedLambda2 + + .method public hidebysig instance void + NewArrayAndExtensionMethod() cil managed + { + // Code size 290 (0x122) + .maxstack 12 + IL_0000: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0005: ldnull + IL_0006: ldtoken method bool [System.Core]System.Linq.Enumerable::SequenceEqual(class [mscorlib]System.Collections.Generic.IEnumerable`1, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_000b: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0010: castclass [mscorlib]System.Reflection.MethodInfo + IL_0015: ldc.i4.2 + IL_0016: newarr [System.Core]System.Linq.Expressions.Expression + IL_001b: dup + IL_001c: ldc.i4.0 + IL_001d: ldtoken [mscorlib]System.Double + IL_0022: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0027: ldc.i4.3 + IL_0028: newarr [System.Core]System.Linq.Expressions.Expression + IL_002d: dup + IL_002e: ldc.i4.0 + IL_002f: ldc.r8 1. + IL_0038: box [mscorlib]System.Double + IL_003d: ldtoken [mscorlib]System.Double + IL_0042: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0047: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_004c: stelem.ref + IL_004d: dup + IL_004e: ldc.i4.1 + IL_004f: ldc.r8 2.0099999999999998 + IL_0058: box [mscorlib]System.Double + IL_005d: ldtoken [mscorlib]System.Double + IL_0062: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0067: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_006c: stelem.ref + IL_006d: dup + IL_006e: ldc.i4.2 + IL_006f: ldc.r8 3.5 + IL_0078: box [mscorlib]System.Double + IL_007d: ldtoken [mscorlib]System.Double + IL_0082: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0087: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_008c: stelem.ref + IL_008d: call class [System.Core]System.Linq.Expressions.NewArrayExpression [System.Core]System.Linq.Expressions.Expression::NewArrayInit(class [mscorlib]System.Type, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_0092: stelem.ref + IL_0093: dup + IL_0094: ldc.i4.1 + IL_0095: ldtoken [mscorlib]System.Double + IL_009a: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_009f: ldc.i4.3 + IL_00a0: newarr [System.Core]System.Linq.Expressions.Expression + IL_00a5: dup + IL_00a6: ldc.i4.0 + IL_00a7: ldc.r8 1. + IL_00b0: box [mscorlib]System.Double + IL_00b5: ldtoken [mscorlib]System.Double + IL_00ba: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00bf: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_00c4: stelem.ref + IL_00c5: dup + IL_00c6: ldc.i4.1 + IL_00c7: ldc.r8 2.0099999999999998 + IL_00d0: box [mscorlib]System.Double + IL_00d5: ldtoken [mscorlib]System.Double + IL_00da: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00df: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_00e4: stelem.ref + IL_00e5: dup + IL_00e6: ldc.i4.2 + IL_00e7: ldc.r8 3.5 + IL_00f0: box [mscorlib]System.Double + IL_00f5: ldtoken [mscorlib]System.Double + IL_00fa: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00ff: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0104: stelem.ref + IL_0105: call class [System.Core]System.Linq.Expressions.NewArrayExpression [System.Core]System.Linq.Expressions.Expression::NewArrayInit(class [mscorlib]System.Type, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_010a: stelem.ref + IL_010b: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_0110: ldc.i4.0 + IL_0111: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0116: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_011b: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0120: pop + IL_0121: ret + } // end of method ExpressionTrees::NewArrayAndExtensionMethod + + .method public hidebysig instance void + NewMultiDimArray() cil managed + { + // Code size 138 (0x8a) + .maxstack 7 + IL_0000: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0005: ldtoken [mscorlib]System.Int32 + IL_000a: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_000f: ldc.i4.2 + IL_0010: newarr [System.Core]System.Linq.Expressions.Expression + IL_0015: dup + IL_0016: ldc.i4.0 + IL_0017: ldc.i4.3 + IL_0018: box [mscorlib]System.Int32 + IL_001d: ldtoken [mscorlib]System.Int32 + IL_0022: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0027: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_002c: stelem.ref + IL_002d: dup + IL_002e: ldc.i4.1 + IL_002f: ldc.i4.4 + IL_0030: box [mscorlib]System.Int32 + IL_0035: ldtoken [mscorlib]System.Int32 + IL_003a: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_003f: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0044: stelem.ref + IL_0045: call class [System.Core]System.Linq.Expressions.NewArrayExpression [System.Core]System.Linq.Expressions.Expression::NewArrayBounds(class [mscorlib]System.Type, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_004a: ldtoken method instance int32 [mscorlib]System.Array::get_Length() + IL_004f: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0054: castclass [mscorlib]System.Reflection.MethodInfo + IL_0059: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Property(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo) + IL_005e: ldc.i4.1 + IL_005f: box [mscorlib]System.Int32 + IL_0064: ldtoken [mscorlib]System.Int32 + IL_0069: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_006e: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0073: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Equal(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0078: ldc.i4.0 + IL_0079: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_007e: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0083: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0088: pop + IL_0089: ret + } // end of method ExpressionTrees::NewMultiDimArray + + .method public hidebysig instance void + NewObject() cil managed + { + // Code size 58 (0x3a) + .maxstack 8 + IL_0000: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0005: ldtoken [mscorlib]System.Object + IL_000a: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_000f: call class [System.Core]System.Linq.Expressions.NewExpression [System.Core]System.Linq.Expressions.Expression::New(class [mscorlib]System.Type) + IL_0014: ldtoken [mscorlib]System.Object + IL_0019: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_001e: call class [System.Core]System.Linq.Expressions.NewExpression [System.Core]System.Linq.Expressions.Expression::New(class [mscorlib]System.Type) + IL_0023: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::NotEqual(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0028: ldc.i4.0 + IL_0029: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_002e: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0033: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0038: pop + IL_0039: ret + } // end of method ExpressionTrees::NewObject + + .method public hidebysig instance void + NotOperator() cil managed + { + // Code size 270 (0x10e) + .maxstack 4 + .locals init (class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass46_0' V_0) + IL_0000: newobj instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass46_0'::.ctor() + IL_0005: stloc.0 + IL_0006: ldloc.0 + IL_0007: ldc.i4.1 + IL_0008: stfld bool ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass46_0'::x + IL_000d: ldloc.0 + IL_000e: ldc.i4.3 + IL_000f: stfld int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass46_0'::y + IL_0014: ldloc.0 + IL_0015: ldc.i4.s 42 + IL_0017: stfld uint8 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass46_0'::z + IL_001c: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0021: ldloc.0 + IL_0022: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass46_0' + IL_0027: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_002c: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0031: ldtoken field uint8 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass46_0'::z + IL_0036: call class [mscorlib]System.Reflection.FieldInfo [mscorlib]System.Reflection.FieldInfo::GetFieldFromHandle(valuetype [mscorlib]System.RuntimeFieldHandle) + IL_003b: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Field(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.FieldInfo) + IL_0040: ldtoken [mscorlib]System.Int32 + IL_0045: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_004a: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_004f: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Not(class [System.Core]System.Linq.Expressions.Expression) + IL_0054: ldc.i4.0 + IL_0055: box [mscorlib]System.Int32 + IL_005a: ldtoken [mscorlib]System.Int32 + IL_005f: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0064: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0069: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Equal(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_006e: ldc.i4.0 + IL_006f: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0074: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0079: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_007e: pop + IL_007f: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0084: ldloc.0 + IL_0085: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass46_0' + IL_008a: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_008f: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0094: ldtoken field int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass46_0'::y + IL_0099: call class [mscorlib]System.Reflection.FieldInfo [mscorlib]System.Reflection.FieldInfo::GetFieldFromHandle(valuetype [mscorlib]System.RuntimeFieldHandle) + IL_009e: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Field(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.FieldInfo) + IL_00a3: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Not(class [System.Core]System.Linq.Expressions.Expression) + IL_00a8: ldc.i4.0 + IL_00a9: box [mscorlib]System.Int32 + IL_00ae: ldtoken [mscorlib]System.Int32 + IL_00b3: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00b8: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_00bd: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Equal(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_00c2: ldc.i4.0 + IL_00c3: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_00c8: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_00cd: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_00d2: pop + IL_00d3: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_00d8: ldloc.0 + IL_00d9: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass46_0' + IL_00de: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00e3: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_00e8: ldtoken field bool ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass46_0'::x + IL_00ed: call class [mscorlib]System.Reflection.FieldInfo [mscorlib]System.Reflection.FieldInfo::GetFieldFromHandle(valuetype [mscorlib]System.RuntimeFieldHandle) + IL_00f2: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Field(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.FieldInfo) + IL_00f7: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Not(class [System.Core]System.Linq.Expressions.Expression) + IL_00fc: ldc.i4.0 + IL_00fd: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0102: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0107: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_010c: pop + IL_010d: ret + } // end of method ExpressionTrees::NotOperator + + .method public hidebysig instance void + ObjectInitializers() cil managed + { + // Code size 288 (0x120) + .maxstack 8 + .locals init (class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass47_0' V_0) + IL_0000: newobj instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass47_0'::.ctor() + IL_0005: stloc.0 + IL_0006: ldloc.0 + IL_0007: newobj instance void [System.Xml]System.Xml.XmlReaderSettings::.ctor() + IL_000c: dup + IL_000d: ldc.i4.0 + IL_000e: callvirt instance void [System.Xml]System.Xml.XmlReaderSettings::set_CloseInput(bool) + IL_0013: dup + IL_0014: ldc.i4.0 + IL_0015: callvirt instance void [System.Xml]System.Xml.XmlReaderSettings::set_CheckCharacters(bool) + IL_001a: stfld class [System.Xml]System.Xml.XmlReaderSettings ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass47_0'::s + IL_001f: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0024: ldtoken [System.Xml]System.Xml.XmlReaderSettings + IL_0029: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_002e: call class [System.Core]System.Linq.Expressions.NewExpression [System.Core]System.Linq.Expressions.Expression::New(class [mscorlib]System.Type) + IL_0033: ldc.i4.2 + IL_0034: newarr [System.Core]System.Linq.Expressions.MemberBinding + IL_0039: dup + IL_003a: ldc.i4.0 + IL_003b: ldtoken method instance void [System.Xml]System.Xml.XmlReaderSettings::set_CloseInput(bool) + IL_0040: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0045: castclass [mscorlib]System.Reflection.MethodInfo + IL_004a: ldloc.0 + IL_004b: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass47_0' + IL_0050: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0055: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_005a: ldtoken field class [System.Xml]System.Xml.XmlReaderSettings ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass47_0'::s + IL_005f: call class [mscorlib]System.Reflection.FieldInfo [mscorlib]System.Reflection.FieldInfo::GetFieldFromHandle(valuetype [mscorlib]System.RuntimeFieldHandle) + IL_0064: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Field(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.FieldInfo) + IL_0069: ldtoken method instance bool [System.Xml]System.Xml.XmlReaderSettings::get_CloseInput() + IL_006e: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0073: castclass [mscorlib]System.Reflection.MethodInfo + IL_0078: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Property(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo) + IL_007d: call class [System.Core]System.Linq.Expressions.MemberAssignment [System.Core]System.Linq.Expressions.Expression::Bind(class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression) + IL_0082: stelem.ref + IL_0083: dup + IL_0084: ldc.i4.1 + IL_0085: ldtoken method instance void [System.Xml]System.Xml.XmlReaderSettings::set_CheckCharacters(bool) + IL_008a: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_008f: castclass [mscorlib]System.Reflection.MethodInfo + IL_0094: ldloc.0 + IL_0095: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass47_0' + IL_009a: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_009f: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_00a4: ldtoken field class [System.Xml]System.Xml.XmlReaderSettings ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass47_0'::s + IL_00a9: call class [mscorlib]System.Reflection.FieldInfo [mscorlib]System.Reflection.FieldInfo::GetFieldFromHandle(valuetype [mscorlib]System.RuntimeFieldHandle) + IL_00ae: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Field(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.FieldInfo) + IL_00b3: ldtoken method instance bool [System.Xml]System.Xml.XmlReaderSettings::get_CheckCharacters() + IL_00b8: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_00bd: castclass [mscorlib]System.Reflection.MethodInfo + IL_00c2: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Property(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo) + IL_00c7: call class [System.Core]System.Linq.Expressions.MemberAssignment [System.Core]System.Linq.Expressions.Expression::Bind(class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression) + IL_00cc: stelem.ref + IL_00cd: call class [System.Core]System.Linq.Expressions.MemberInitExpression [System.Core]System.Linq.Expressions.Expression::MemberInit(class [System.Core]System.Linq.Expressions.NewExpression, + class [System.Core]System.Linq.Expressions.MemberBinding[]) + IL_00d2: ldtoken method instance bool [mscorlib]System.Object::Equals(object) + IL_00d7: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_00dc: castclass [mscorlib]System.Reflection.MethodInfo + IL_00e1: ldc.i4.1 + IL_00e2: newarr [System.Core]System.Linq.Expressions.Expression + IL_00e7: dup + IL_00e8: ldc.i4.0 + IL_00e9: ldloc.0 + IL_00ea: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass47_0' + IL_00ef: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00f4: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_00f9: ldtoken field class [System.Xml]System.Xml.XmlReaderSettings ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass47_0'::s + IL_00fe: call class [mscorlib]System.Reflection.FieldInfo [mscorlib]System.Reflection.FieldInfo::GetFieldFromHandle(valuetype [mscorlib]System.RuntimeFieldHandle) + IL_0103: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Field(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.FieldInfo) + IL_0108: stelem.ref + IL_0109: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_010e: ldc.i4.0 + IL_010f: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0114: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0119: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_011e: pop + IL_011f: ret + } // end of method ExpressionTrees::ObjectInitializers + + .method public hidebysig instance void + Quoted() cil managed + { + // Code size 173 (0xad) + .maxstack 6 + .locals init (class [System.Core]System.Linq.Expressions.ParameterExpression V_0, + class [System.Core]System.Linq.Expressions.ParameterExpression V_1) + IL_0000: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0005: ldtoken [mscorlib]System.Int32 + IL_000a: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_000f: ldstr "n" + IL_0014: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0019: stloc.0 + IL_001a: ldtoken [mscorlib]System.String + IL_001f: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0024: ldstr "s" + IL_0029: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_002e: stloc.1 + IL_002f: ldloc.1 + IL_0030: ldloc.0 + IL_0031: ldtoken method instance string [mscorlib]System.Int32::ToString() + IL_0036: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_003b: castclass [mscorlib]System.Reflection.MethodInfo + IL_0040: ldc.i4.0 + IL_0041: newarr [System.Core]System.Linq.Expressions.Expression + IL_0046: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_004b: ldtoken method string [mscorlib]System.String::Concat(string, + string) + IL_0050: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0055: castclass [mscorlib]System.Reflection.MethodInfo + IL_005a: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Add(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo) + IL_005f: ldc.i4.2 + IL_0060: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0065: dup + IL_0066: ldc.i4.0 + IL_0067: ldloc.0 + IL_0068: stelem.ref + IL_0069: dup + IL_006a: ldc.i4.1 + IL_006b: ldloc.1 + IL_006c: stelem.ref + IL_006d: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0072: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Quote(class [System.Core]System.Linq.Expressions.Expression) + IL_0077: ldtoken class [System.Core]System.Linq.Expressions.Expression`1> + IL_007c: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0081: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_0086: ldnull + IL_0087: ldtoken [mscorlib]System.Object + IL_008c: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0091: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0096: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::NotEqual(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_009b: ldc.i4.0 + IL_009c: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_00a1: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_00a6: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_00ab: pop + IL_00ac: ret + } // end of method ExpressionTrees::Quoted + + .method public hidebysig instance void + Quoted2() cil managed + { + // Code size 165 (0xa5) + .maxstack 9 + IL_0000: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0005: ldnull + IL_0006: ldtoken method object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_000b: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0010: castclass [mscorlib]System.Reflection.MethodInfo + IL_0015: ldc.i4.2 + IL_0016: newarr [System.Core]System.Linq.Expressions.Expression + IL_001b: dup + IL_001c: ldc.i4.0 + IL_001d: ldnull + IL_001e: ldtoken method object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0023: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0028: castclass [mscorlib]System.Reflection.MethodInfo + IL_002d: ldc.i4.0 + IL_002e: newarr [System.Core]System.Linq.Expressions.Expression + IL_0033: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_0038: stelem.ref + IL_0039: dup + IL_003a: ldc.i4.1 + IL_003b: ldc.i4.1 + IL_003c: box [mscorlib]System.Boolean + IL_0041: ldtoken [mscorlib]System.Boolean + IL_0046: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_004b: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0050: ldc.i4.0 + IL_0051: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0056: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_005b: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Quote(class [System.Core]System.Linq.Expressions.Expression) + IL_0060: stelem.ref + IL_0061: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_0066: ldtoken method instance bool [mscorlib]System.Object::Equals(object) + IL_006b: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0070: castclass [mscorlib]System.Reflection.MethodInfo + IL_0075: ldc.i4.1 + IL_0076: newarr [System.Core]System.Linq.Expressions.Expression + IL_007b: dup + IL_007c: ldc.i4.0 + IL_007d: ldnull + IL_007e: ldtoken [mscorlib]System.Object + IL_0083: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0088: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_008d: stelem.ref + IL_008e: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_0093: ldc.i4.0 + IL_0094: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0099: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_009e: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_00a3: pop + IL_00a4: ret + } // end of method ExpressionTrees::Quoted2 + + .method public hidebysig instance void + QuotedWithAnonymous() cil managed + { + // Code size 347 (0x15b) + .maxstack 22 + .locals init (class [System.Core]System.Linq.Expressions.ParameterExpression V_0) + IL_0000: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0005: ldnull + IL_0006: ldtoken method !!0 [System.Core]System.Linq.Enumerable::Single(class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_000b: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0010: castclass [mscorlib]System.Reflection.MethodInfo + IL_0015: ldc.i4.1 + IL_0016: newarr [System.Core]System.Linq.Expressions.Expression + IL_001b: dup + IL_001c: ldc.i4.0 + IL_001d: ldnull + IL_001e: ldtoken method class [mscorlib]System.Collections.Generic.IEnumerable`1 [System.Core]System.Linq.Enumerable::Selectf__AnonymousType1`2',string>(class [mscorlib]System.Collections.Generic.IEnumerable`1, + class [mscorlib]System.Func`2) + IL_0023: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0028: castclass [mscorlib]System.Reflection.MethodInfo + IL_002d: ldc.i4.2 + IL_002e: newarr [System.Core]System.Linq.Expressions.Expression + IL_0033: dup + IL_0034: ldc.i4.0 + IL_0035: ldtoken class '<>f__AnonymousType1`2' + IL_003a: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_003f: ldc.i4.1 + IL_0040: newarr [System.Core]System.Linq.Expressions.Expression + IL_0045: dup + IL_0046: ldc.i4.0 + IL_0047: ldtoken method instance void class '<>f__AnonymousType1`2'::.ctor(!0, + !1) + IL_004c: ldtoken class '<>f__AnonymousType1`2' + IL_0051: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle, + valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0056: castclass [mscorlib]System.Reflection.ConstructorInfo + IL_005b: ldc.i4.2 + IL_005c: newarr [System.Core]System.Linq.Expressions.Expression + IL_0061: dup + IL_0062: ldc.i4.0 + IL_0063: ldstr "a" + IL_0068: ldtoken [mscorlib]System.String + IL_006d: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0072: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0077: stelem.ref + IL_0078: dup + IL_0079: ldc.i4.1 + IL_007a: ldstr "b" + IL_007f: ldtoken [mscorlib]System.String + IL_0084: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0089: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_008e: stelem.ref + IL_008f: ldc.i4.2 + IL_0090: newarr [mscorlib]System.Reflection.MemberInfo + IL_0095: dup + IL_0096: ldc.i4.0 + IL_0097: ldtoken method instance !0 class '<>f__AnonymousType1`2'::get_X() + IL_009c: ldtoken class '<>f__AnonymousType1`2' + IL_00a1: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle, + valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00a6: castclass [mscorlib]System.Reflection.MethodInfo + IL_00ab: stelem.ref + IL_00ac: dup + IL_00ad: ldc.i4.1 + IL_00ae: ldtoken method instance !1 class '<>f__AnonymousType1`2'::get_Y() + IL_00b3: ldtoken class '<>f__AnonymousType1`2' + IL_00b8: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle, + valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00bd: castclass [mscorlib]System.Reflection.MethodInfo + IL_00c2: stelem.ref + IL_00c3: call class [System.Core]System.Linq.Expressions.NewExpression [System.Core]System.Linq.Expressions.Expression::New(class [mscorlib]System.Reflection.ConstructorInfo, + class [mscorlib]System.Collections.Generic.IEnumerable`1, + class [mscorlib]System.Reflection.MemberInfo[]) + IL_00c8: stelem.ref + IL_00c9: call class [System.Core]System.Linq.Expressions.NewArrayExpression [System.Core]System.Linq.Expressions.Expression::NewArrayInit(class [mscorlib]System.Type, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_00ce: stelem.ref + IL_00cf: dup + IL_00d0: ldc.i4.1 + IL_00d1: ldtoken class '<>f__AnonymousType1`2' + IL_00d6: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00db: ldstr "o" + IL_00e0: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_00e5: stloc.0 + IL_00e6: ldloc.0 + IL_00e7: ldtoken method instance !0 class '<>f__AnonymousType1`2'::get_X() + IL_00ec: ldtoken class '<>f__AnonymousType1`2' + IL_00f1: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle, + valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00f6: castclass [mscorlib]System.Reflection.MethodInfo + IL_00fb: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Property(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo) + IL_0100: ldloc.0 + IL_0101: ldtoken method instance !1 class '<>f__AnonymousType1`2'::get_Y() + IL_0106: ldtoken class '<>f__AnonymousType1`2' + IL_010b: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle, + valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0110: castclass [mscorlib]System.Reflection.MethodInfo + IL_0115: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Property(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo) + IL_011a: ldtoken method string [mscorlib]System.String::Concat(string, + string) + IL_011f: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0124: castclass [mscorlib]System.Reflection.MethodInfo + IL_0129: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Add(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo) + IL_012e: ldc.i4.1 + IL_012f: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0134: dup + IL_0135: ldc.i4.0 + IL_0136: ldloc.0 + IL_0137: stelem.ref + IL_0138: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambdaf__AnonymousType1`2',string>>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_013d: stelem.ref + IL_013e: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_0143: stelem.ref + IL_0144: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_0149: ldc.i4.0 + IL_014a: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_014f: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0154: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0159: pop + IL_015a: ret + } // end of method ExpressionTrees::QuotedWithAnonymous + + .method public hidebysig instance void + StaticCall() cil managed + { + // Code size 128 (0x80) + .maxstack 8 + IL_0000: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0005: ldnull + IL_0006: ldtoken method bool [mscorlib]System.Object::Equals(object, + object) + IL_000b: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0010: castclass [mscorlib]System.Reflection.MethodInfo + IL_0015: ldc.i4.2 + IL_0016: newarr [System.Core]System.Linq.Expressions.Expression + IL_001b: dup + IL_001c: ldc.i4.0 + IL_001d: ldc.i4.3 + IL_001e: box [mscorlib]System.Int32 + IL_0023: ldtoken [mscorlib]System.Int32 + IL_0028: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_002d: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0032: ldtoken [mscorlib]System.Object + IL_0037: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_003c: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_0041: stelem.ref + IL_0042: dup + IL_0043: ldc.i4.1 + IL_0044: ldc.i4.0 + IL_0045: box [mscorlib]System.Int32 + IL_004a: ldtoken [mscorlib]System.Int32 + IL_004f: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0054: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0059: ldtoken [mscorlib]System.Object + IL_005e: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0063: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_0068: stelem.ref + IL_0069: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_006e: ldc.i4.0 + IL_006f: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0074: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0079: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_007e: pop + IL_007f: ret + } // end of method ExpressionTrees::StaticCall + + .method public hidebysig instance void + ThisCall() cil managed + { + // Code size 109 (0x6d) + .maxstack 8 + IL_0000: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0005: ldarg.0 + IL_0006: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees + IL_000b: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0010: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0015: ldtoken method instance bool [mscorlib]System.Object::Equals(object) + IL_001a: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_001f: castclass [mscorlib]System.Reflection.MethodInfo + IL_0024: ldc.i4.1 + IL_0025: newarr [System.Core]System.Linq.Expressions.Expression + IL_002a: dup + IL_002b: ldc.i4.0 + IL_002c: ldc.i4.3 + IL_002d: box [mscorlib]System.Int32 + IL_0032: ldtoken [mscorlib]System.Int32 + IL_0037: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_003c: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0041: ldtoken [mscorlib]System.Object + IL_0046: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_004b: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_0050: stelem.ref + IL_0051: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_0056: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Not(class [System.Core]System.Linq.Expressions.Expression) + IL_005b: ldc.i4.0 + IL_005c: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0061: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0066: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_006b: pop + IL_006c: ret + } // end of method ExpressionTrees::ThisCall + + .method public hidebysig instance void + ThisExplicit() cil managed + { + // Code size 108 (0x6c) + .maxstack 8 + IL_0000: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0005: ldnull + IL_0006: ldtoken method bool [mscorlib]System.Object::Equals(object, + object) + IL_000b: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0010: castclass [mscorlib]System.Reflection.MethodInfo + IL_0015: ldc.i4.2 + IL_0016: newarr [System.Core]System.Linq.Expressions.Expression + IL_001b: dup + IL_001c: ldc.i4.0 + IL_001d: ldarg.0 + IL_001e: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees + IL_0023: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0028: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_002d: stelem.ref + IL_002e: dup + IL_002f: ldc.i4.1 + IL_0030: ldc.i4.3 + IL_0031: box [mscorlib]System.Int32 + IL_0036: ldtoken [mscorlib]System.Int32 + IL_003b: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0040: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0045: ldtoken [mscorlib]System.Object + IL_004a: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_004f: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_0054: stelem.ref + IL_0055: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_005a: ldc.i4.0 + IL_005b: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0060: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0065: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_006a: pop + IL_006b: ret + } // end of method ExpressionTrees::ThisExplicit + + .method public hidebysig instance void + TypedConstant() cil managed + { + // Code size 100 (0x64) + .maxstack 7 + IL_0000: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0005: ldtoken [mscorlib]System.Type + IL_000a: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_000f: ldc.i4.2 + IL_0010: newarr [System.Core]System.Linq.Expressions.Expression + IL_0015: dup + IL_0016: ldc.i4.0 + IL_0017: ldtoken [mscorlib]System.Int32 + IL_001c: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0021: ldtoken [mscorlib]System.Type + IL_0026: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_002b: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0030: stelem.ref + IL_0031: dup + IL_0032: ldc.i4.1 + IL_0033: ldtoken [mscorlib]System.String + IL_0038: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_003d: ldtoken [mscorlib]System.Type + IL_0042: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0047: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_004c: stelem.ref + IL_004d: call class [System.Core]System.Linq.Expressions.NewArrayExpression [System.Core]System.Linq.Expressions.Expression::NewArrayInit(class [mscorlib]System.Type, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_0052: ldc.i4.0 + IL_0053: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0058: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_005d: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0062: pop + IL_0063: ret + } // end of method ExpressionTrees::TypedConstant + + .method public hidebysig instance void + StaticCallImplicitCast() cil managed + { + // Code size 128 (0x80) + .maxstack 8 + IL_0000: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0005: ldnull + IL_0006: ldtoken method bool [mscorlib]System.Object::Equals(object, + object) + IL_000b: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0010: castclass [mscorlib]System.Reflection.MethodInfo + IL_0015: ldc.i4.2 + IL_0016: newarr [System.Core]System.Linq.Expressions.Expression + IL_001b: dup + IL_001c: ldc.i4.0 + IL_001d: ldc.i4.3 + IL_001e: box [mscorlib]System.Int32 + IL_0023: ldtoken [mscorlib]System.Int32 + IL_0028: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_002d: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0032: ldtoken [mscorlib]System.Object + IL_0037: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_003c: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_0041: stelem.ref + IL_0042: dup + IL_0043: ldc.i4.1 + IL_0044: ldc.i4.0 + IL_0045: box [mscorlib]System.Int32 + IL_004a: ldtoken [mscorlib]System.Int32 + IL_004f: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0054: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0059: ldtoken [mscorlib]System.Object + IL_005e: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0063: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_0068: stelem.ref + IL_0069: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_006e: ldc.i4.0 + IL_006f: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0074: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0079: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_007e: pop + IL_007f: ret + } // end of method ExpressionTrees::StaticCallImplicitCast + + .method public hidebysig instance void + StaticMembers() cil managed + { + // Code size 216 (0xd8) + .maxstack 10 + IL_0000: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0005: ldnull + IL_0006: ldtoken method valuetype [mscorlib]System.DateTime [mscorlib]System.DateTime::get_Now() + IL_000b: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0010: castclass [mscorlib]System.Reflection.MethodInfo + IL_0015: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Property(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo) + IL_001a: ldnull + IL_001b: ldtoken method valuetype [mscorlib]System.DateTime [mscorlib]System.DateTime::get_Now() + IL_0020: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0025: castclass [mscorlib]System.Reflection.MethodInfo + IL_002a: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Property(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo) + IL_002f: ldnull + IL_0030: ldtoken method valuetype [mscorlib]System.TimeSpan [mscorlib]System.TimeSpan::FromMilliseconds(float64) + IL_0035: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_003a: castclass [mscorlib]System.Reflection.MethodInfo + IL_003f: ldc.i4.1 + IL_0040: newarr [System.Core]System.Linq.Expressions.Expression + IL_0045: dup + IL_0046: ldc.i4.0 + IL_0047: ldc.r8 10.000999999999999 + IL_0050: box [mscorlib]System.Double + IL_0055: ldtoken [mscorlib]System.Double + IL_005a: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_005f: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0064: stelem.ref + IL_0065: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_006a: ldtoken method valuetype [mscorlib]System.DateTime [mscorlib]System.DateTime::op_Addition(valuetype [mscorlib]System.DateTime, + valuetype [mscorlib]System.TimeSpan) + IL_006f: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0074: castclass [mscorlib]System.Reflection.MethodInfo + IL_0079: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Add(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo) + IL_007e: ldc.i4.0 + IL_007f: ldtoken method bool [mscorlib]System.DateTime::op_GreaterThan(valuetype [mscorlib]System.DateTime, + valuetype [mscorlib]System.DateTime) + IL_0084: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0089: castclass [mscorlib]System.Reflection.MethodInfo + IL_008e: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::GreaterThan(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression, + bool, + class [mscorlib]System.Reflection.MethodInfo) + IL_0093: ldtoken method instance string [mscorlib]System.Boolean::ToString() + IL_0098: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_009d: castclass [mscorlib]System.Reflection.MethodInfo + IL_00a2: ldc.i4.0 + IL_00a3: newarr [System.Core]System.Linq.Expressions.Expression + IL_00a8: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_00ad: ldstr "False" + IL_00b2: ldtoken [mscorlib]System.String + IL_00b7: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00bc: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_00c1: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Equal(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_00c6: ldc.i4.0 + IL_00c7: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_00cc: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_00d1: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_00d6: pop + IL_00d7: ret + } // end of method ExpressionTrees::StaticMembers + + .method public hidebysig instance void + Strings() cil managed + { + // Code size 406 (0x196) + .maxstack 8 + .locals init (class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass57_0' V_0) + IL_0000: newobj instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass57_0'::.ctor() + IL_0005: stloc.0 + IL_0006: ldloc.0 + IL_0007: ldc.i4.1 + IL_0008: stfld int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass57_0'::i + IL_000d: ldloc.0 + IL_000e: ldstr "X" + IL_0013: stfld string ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass57_0'::x + IL_0018: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_001d: ldstr "a\n\\b" + IL_0022: ldtoken [mscorlib]System.String + IL_0027: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_002c: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0031: ldloc.0 + IL_0032: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass57_0' + IL_0037: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_003c: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0041: ldtoken field string ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass57_0'::x + IL_0046: call class [mscorlib]System.Reflection.FieldInfo [mscorlib]System.Reflection.FieldInfo::GetFieldFromHandle(valuetype [mscorlib]System.RuntimeFieldHandle) + IL_004b: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Field(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.FieldInfo) + IL_0050: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Coalesce(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0055: ldloc.0 + IL_0056: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass57_0' + IL_005b: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0060: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0065: ldtoken field string ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass57_0'::x + IL_006a: call class [mscorlib]System.Reflection.FieldInfo [mscorlib]System.Reflection.FieldInfo::GetFieldFromHandle(valuetype [mscorlib]System.RuntimeFieldHandle) + IL_006f: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Field(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.FieldInfo) + IL_0074: ldtoken method string [mscorlib]System.String::Concat(string, + string) + IL_0079: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_007e: castclass [mscorlib]System.Reflection.MethodInfo + IL_0083: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Add(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo) + IL_0088: ldtoken method instance int32 [mscorlib]System.String::get_Length() + IL_008d: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0092: castclass [mscorlib]System.Reflection.MethodInfo + IL_0097: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Property(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo) + IL_009c: ldc.i4.2 + IL_009d: box [mscorlib]System.Int32 + IL_00a2: ldtoken [mscorlib]System.Int32 + IL_00a7: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00ac: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_00b1: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Equal(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_00b6: ldc.i4.0 + IL_00b7: box [mscorlib]System.Boolean + IL_00bc: ldtoken [mscorlib]System.Boolean + IL_00c1: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00c6: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_00cb: ldc.i4.1 + IL_00cc: box [mscorlib]System.Boolean + IL_00d1: ldtoken [mscorlib]System.Boolean + IL_00d6: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00db: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_00e0: ldc.i4.1 + IL_00e1: newobj instance void [mscorlib]System.Decimal::.ctor(int32) + IL_00e6: box [mscorlib]System.Decimal + IL_00eb: ldtoken [mscorlib]System.Decimal + IL_00f0: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00f5: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_00fa: ldloc.0 + IL_00fb: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass57_0' + IL_0100: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0105: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_010a: ldtoken field int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass57_0'::i + IL_010f: call class [mscorlib]System.Reflection.FieldInfo [mscorlib]System.Reflection.FieldInfo::GetFieldFromHandle(valuetype [mscorlib]System.RuntimeFieldHandle) + IL_0114: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Field(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.FieldInfo) + IL_0119: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Negate(class [System.Core]System.Linq.Expressions.Expression) + IL_011e: ldtoken [mscorlib]System.Decimal + IL_0123: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0128: ldtoken method valuetype [mscorlib]System.Decimal [mscorlib]System.Decimal::op_Implicit(int32) + IL_012d: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0132: castclass [mscorlib]System.Reflection.MethodInfo + IL_0137: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type, + class [mscorlib]System.Reflection.MethodInfo) + IL_013c: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Add(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0141: ldc.i4.0 + IL_0142: newobj instance void [mscorlib]System.Decimal::.ctor(int32) + IL_0147: box [mscorlib]System.Decimal + IL_014c: ldtoken [mscorlib]System.Decimal + IL_0151: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0156: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_015b: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::GreaterThan(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0160: ldc.i4.0 + IL_0161: box [mscorlib]System.Boolean + IL_0166: ldtoken [mscorlib]System.Boolean + IL_016b: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0170: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0175: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::OrElse(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_017a: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::AndAlso(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_017f: call class [System.Core]System.Linq.Expressions.ConditionalExpression [System.Core]System.Linq.Expressions.Expression::Condition(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0184: ldc.i4.0 + IL_0185: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_018a: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_018f: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0194: pop + IL_0195: ret + } // end of method ExpressionTrees::Strings + + .method public hidebysig instance void + GenericClassInstance() cil managed + { + // Code size 118 (0x76) + .maxstack 5 + IL_0000: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0005: ldtoken class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/GenericClass`1 + IL_000a: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_000f: call class [System.Core]System.Linq.Expressions.NewExpression [System.Core]System.Linq.Expressions.Expression::New(class [mscorlib]System.Type) + IL_0014: ldtoken field !0 class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/GenericClass`1::InstanceField + IL_0019: ldtoken class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/GenericClass`1 + IL_001e: call class [mscorlib]System.Reflection.FieldInfo [mscorlib]System.Reflection.FieldInfo::GetFieldFromHandle(valuetype [mscorlib]System.RuntimeFieldHandle, + valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0023: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Field(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.FieldInfo) + IL_0028: ldtoken [mscorlib]System.Double + IL_002d: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0032: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_0037: ldtoken class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/GenericClass`1 + IL_003c: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0041: call class [System.Core]System.Linq.Expressions.NewExpression [System.Core]System.Linq.Expressions.Expression::New(class [mscorlib]System.Type) + IL_0046: ldtoken method instance !0 class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/GenericClass`1::get_InstanceProperty() + IL_004b: ldtoken class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/GenericClass`1 + IL_0050: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle, + valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0055: castclass [mscorlib]System.Reflection.MethodInfo + IL_005a: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Property(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo) + IL_005f: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Add(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0064: ldc.i4.0 + IL_0065: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_006a: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_006f: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0074: pop + IL_0075: ret + } // end of method ExpressionTrees::GenericClassInstance + + .method public hidebysig instance void + GenericClassStatic() cil managed + { + // Code size 90 (0x5a) + .maxstack 5 + IL_0000: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0005: ldnull + IL_0006: ldtoken field !0 class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/GenericClass`1::StaticField + IL_000b: ldtoken class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/GenericClass`1 + IL_0010: call class [mscorlib]System.Reflection.FieldInfo [mscorlib]System.Reflection.FieldInfo::GetFieldFromHandle(valuetype [mscorlib]System.RuntimeFieldHandle, + valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0015: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Field(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.FieldInfo) + IL_001a: ldtoken [mscorlib]System.Double + IL_001f: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0024: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_0029: ldnull + IL_002a: ldtoken method !0 class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/GenericClass`1::get_StaticProperty() + IL_002f: ldtoken class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/GenericClass`1 + IL_0034: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle, + valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0039: castclass [mscorlib]System.Reflection.MethodInfo + IL_003e: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Property(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo) + IL_0043: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Add(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0048: ldc.i4.0 + IL_0049: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_004e: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0053: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0058: pop + IL_0059: ret + } // end of method ExpressionTrees::GenericClassStatic + + .method public hidebysig instance void + InvokeGenericMethod() cil managed + { + // Code size 55 (0x37) + .maxstack 8 + IL_0000: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0005: ldnull + IL_0006: ldtoken method bool class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/GenericClass`1::GenericMethod() + IL_000b: ldtoken class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/GenericClass`1 + IL_0010: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle, + valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0015: castclass [mscorlib]System.Reflection.MethodInfo + IL_001a: ldc.i4.0 + IL_001b: newarr [System.Core]System.Linq.Expressions.Expression + IL_0020: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_0025: ldc.i4.0 + IL_0026: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_002b: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0030: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0035: pop + IL_0036: ret + } // end of method ExpressionTrees::InvokeGenericMethod + + .method private hidebysig static void Test(!!T delegateExpression, + class [System.Core]System.Linq.Expressions.Expression`1 expressionTree) cil managed + { + // Code size 1 (0x1) + .maxstack 8 + IL_0000: ret + } // end of method ExpressionTrees::Test + + .method public hidebysig static void ArrayIndexer() cil managed + { + // Code size 603 (0x25b) + .maxstack 7 + .locals init (class [System.Core]System.Linq.Expressions.ParameterExpression V_0, + class [System.Core]System.Linq.Expressions.ParameterExpression V_1) + IL_0000: ldsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__62_0' + IL_0005: dup + IL_0006: brtrue.s IL_001f + + IL_0008: pop + IL_0009: ldsfld class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c' ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9' + IL_000e: ldftn instance int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'b__62_0'(int32[]) + IL_0014: newobj instance void class [mscorlib]System.Func`2::.ctor(object, + native int) + IL_0019: dup + IL_001a: stsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__62_0' + IL_001f: ldtoken int32[] + IL_0024: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0029: ldstr "array" + IL_002e: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0033: stloc.0 + IL_0034: ldloc.0 + IL_0035: ldc.i4.0 + IL_0036: box [mscorlib]System.Int32 + IL_003b: ldtoken [mscorlib]System.Int32 + IL_0040: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0045: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_004a: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::ArrayIndex(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_004f: ldc.i4.1 + IL_0050: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0055: dup + IL_0056: ldc.i4.0 + IL_0057: ldloc.0 + IL_0058: stelem.ref + IL_0059: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_005e: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_0063: ldsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__62_1' + IL_0068: dup + IL_0069: brtrue.s IL_0082 + + IL_006b: pop + IL_006c: ldsfld class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c' ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9' + IL_0071: ldftn instance int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'b__62_1'(int32[], + int32) + IL_0077: newobj instance void class [mscorlib]System.Func`3::.ctor(object, + native int) + IL_007c: dup + IL_007d: stsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__62_1' + IL_0082: ldtoken int32[] + IL_0087: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_008c: ldstr "array" + IL_0091: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0096: stloc.0 + IL_0097: ldtoken [mscorlib]System.Int32 + IL_009c: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00a1: ldstr "index" + IL_00a6: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_00ab: stloc.1 + IL_00ac: ldloc.0 + IL_00ad: ldloc.1 + IL_00ae: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::ArrayIndex(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_00b3: ldc.i4.2 + IL_00b4: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_00b9: dup + IL_00ba: ldc.i4.0 + IL_00bb: ldloc.0 + IL_00bc: stelem.ref + IL_00bd: dup + IL_00be: ldc.i4.1 + IL_00bf: ldloc.1 + IL_00c0: stelem.ref + IL_00c1: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_00c6: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_00cb: ldsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__62_2' + IL_00d0: dup + IL_00d1: brtrue.s IL_00ea + + IL_00d3: pop + IL_00d4: ldsfld class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c' ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9' + IL_00d9: ldftn instance int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'b__62_2'(int32[0...,0...]) + IL_00df: newobj instance void class [mscorlib]System.Func`2::.ctor(object, + native int) + IL_00e4: dup + IL_00e5: stsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__62_2' + IL_00ea: ldtoken int32[0...,0...] + IL_00ef: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00f4: ldstr "array" + IL_00f9: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_00fe: stloc.1 + IL_00ff: ldloc.1 + IL_0100: ldc.i4.2 + IL_0101: newarr [System.Core]System.Linq.Expressions.Expression + IL_0106: dup + IL_0107: ldc.i4.0 + IL_0108: ldc.i4.0 + IL_0109: box [mscorlib]System.Int32 + IL_010e: ldtoken [mscorlib]System.Int32 + IL_0113: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0118: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_011d: stelem.ref + IL_011e: dup + IL_011f: ldc.i4.1 + IL_0120: ldc.i4.5 + IL_0121: box [mscorlib]System.Int32 + IL_0126: ldtoken [mscorlib]System.Int32 + IL_012b: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0130: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0135: stelem.ref + IL_0136: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::ArrayIndex(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_013b: ldc.i4.1 + IL_013c: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0141: dup + IL_0142: ldc.i4.0 + IL_0143: ldloc.1 + IL_0144: stelem.ref + IL_0145: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_014a: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_014f: ldsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__62_3' + IL_0154: dup + IL_0155: brtrue.s IL_016e + + IL_0157: pop + IL_0158: ldsfld class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c' ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9' + IL_015d: ldftn instance int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'b__62_3'(int32[0...,0...], + int32) + IL_0163: newobj instance void class [mscorlib]System.Func`3::.ctor(object, + native int) + IL_0168: dup + IL_0169: stsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__62_3' + IL_016e: ldtoken int32[0...,0...] + IL_0173: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0178: ldstr "array" + IL_017d: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0182: stloc.1 + IL_0183: ldtoken [mscorlib]System.Int32 + IL_0188: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_018d: ldstr "index" + IL_0192: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0197: stloc.0 + IL_0198: ldloc.1 + IL_0199: ldc.i4.2 + IL_019a: newarr [System.Core]System.Linq.Expressions.Expression + IL_019f: dup + IL_01a0: ldc.i4.0 + IL_01a1: ldloc.0 + IL_01a2: stelem.ref + IL_01a3: dup + IL_01a4: ldc.i4.1 + IL_01a5: ldc.i4.7 + IL_01a6: box [mscorlib]System.Int32 + IL_01ab: ldtoken [mscorlib]System.Int32 + IL_01b0: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_01b5: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_01ba: stelem.ref + IL_01bb: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::ArrayIndex(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_01c0: ldc.i4.2 + IL_01c1: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_01c6: dup + IL_01c7: ldc.i4.0 + IL_01c8: ldloc.1 + IL_01c9: stelem.ref + IL_01ca: dup + IL_01cb: ldc.i4.1 + IL_01cc: ldloc.0 + IL_01cd: stelem.ref + IL_01ce: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_01d3: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_01d8: ldsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__62_4' + IL_01dd: dup + IL_01de: brtrue.s IL_01f7 + + IL_01e0: pop + IL_01e1: ldsfld class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c' ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9' + IL_01e6: ldftn instance int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'b__62_4'(int32[][], + int32) + IL_01ec: newobj instance void class [mscorlib]System.Func`3::.ctor(object, + native int) + IL_01f1: dup + IL_01f2: stsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__62_4' + IL_01f7: ldtoken int32[][] + IL_01fc: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0201: ldstr "array" + IL_0206: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_020b: stloc.0 + IL_020c: ldtoken [mscorlib]System.Int32 + IL_0211: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0216: ldstr "index" + IL_021b: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0220: stloc.1 + IL_0221: ldloc.0 + IL_0222: ldloc.1 + IL_0223: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::ArrayIndex(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0228: ldc.i4.7 + IL_0229: box [mscorlib]System.Int32 + IL_022e: ldtoken [mscorlib]System.Int32 + IL_0233: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0238: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_023d: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::ArrayIndex(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0242: ldc.i4.2 + IL_0243: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0248: dup + IL_0249: ldc.i4.0 + IL_024a: ldloc.0 + IL_024b: stelem.ref + IL_024c: dup + IL_024d: ldc.i4.1 + IL_024e: ldloc.1 + IL_024f: stelem.ref + IL_0250: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0255: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_025a: ret + } // end of method ExpressionTrees::ArrayIndexer + + .method public hidebysig static void ArrayLength() cil managed + { + // Code size 162 (0xa2) + .maxstack 6 + .locals init (class [System.Core]System.Linq.Expressions.ParameterExpression V_0) + IL_0000: ldsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__63_0' + IL_0005: dup + IL_0006: brtrue.s IL_001f + + IL_0008: pop + IL_0009: ldsfld class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c' ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9' + IL_000e: ldftn instance int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'b__63_0'(int32[]) + IL_0014: newobj instance void class [mscorlib]System.Func`2::.ctor(object, + native int) + IL_0019: dup + IL_001a: stsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__63_0' + IL_001f: ldtoken int32[] + IL_0024: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0029: ldstr "array" + IL_002e: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0033: stloc.0 + IL_0034: ldloc.0 + IL_0035: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::ArrayLength(class [System.Core]System.Linq.Expressions.Expression) + IL_003a: ldc.i4.1 + IL_003b: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0040: dup + IL_0041: ldc.i4.0 + IL_0042: ldloc.0 + IL_0043: stelem.ref + IL_0044: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0049: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_004e: ldsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__63_1' + IL_0053: dup + IL_0054: brtrue.s IL_006d + + IL_0056: pop + IL_0057: ldsfld class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c' ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9' + IL_005c: ldftn instance int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'b__63_1'() + IL_0062: newobj instance void class [mscorlib]System.Func`1::.ctor(object, + native int) + IL_0067: dup + IL_0068: stsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__63_1' + IL_006d: ldnull + IL_006e: ldtoken [mscorlib]System.Array + IL_0073: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0078: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_007d: ldtoken method instance int32 [mscorlib]System.Array::get_Length() + IL_0082: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0087: castclass [mscorlib]System.Reflection.MethodInfo + IL_008c: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Property(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo) + IL_0091: ldc.i4.0 + IL_0092: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0097: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_009c: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_00a1: ret + } // end of method ExpressionTrees::ArrayLength + + .method public hidebysig static void NewObj() cil managed + { + // Code size 545 (0x221) + .maxstack 7 + IL_0000: ldsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__64_0' + IL_0005: dup + IL_0006: brtrue.s IL_001f + + IL_0008: pop + IL_0009: ldsfld class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c' ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9' + IL_000e: ldftn instance object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'b__64_0'() + IL_0014: newobj instance void class [mscorlib]System.Func`1::.ctor(object, + native int) + IL_0019: dup + IL_001a: stsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__64_0' + IL_001f: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.SimpleType + IL_0024: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0029: call class [System.Core]System.Linq.Expressions.NewExpression [System.Core]System.Linq.Expressions.Expression::New(class [mscorlib]System.Type) + IL_002e: ldc.i4.0 + IL_002f: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0034: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0039: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_003e: ldsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__64_1' + IL_0043: dup + IL_0044: brtrue.s IL_005d + + IL_0046: pop + IL_0047: ldsfld class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c' ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9' + IL_004c: ldftn instance object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'b__64_1'() + IL_0052: newobj instance void class [mscorlib]System.Func`1::.ctor(object, + native int) + IL_0057: dup + IL_0058: stsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__64_1' + IL_005d: ldtoken method instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.SimpleTypeWithCtor::.ctor(int32) + IL_0062: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0067: castclass [mscorlib]System.Reflection.ConstructorInfo + IL_006c: ldc.i4.1 + IL_006d: newarr [System.Core]System.Linq.Expressions.Expression + IL_0072: dup + IL_0073: ldc.i4.0 + IL_0074: ldc.i4.5 + IL_0075: box [mscorlib]System.Int32 + IL_007a: ldtoken [mscorlib]System.Int32 + IL_007f: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0084: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0089: stelem.ref + IL_008a: call class [System.Core]System.Linq.Expressions.NewExpression [System.Core]System.Linq.Expressions.Expression::New(class [mscorlib]System.Reflection.ConstructorInfo, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_008f: ldc.i4.0 + IL_0090: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0095: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_009a: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_009f: ldsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__64_2' + IL_00a4: dup + IL_00a5: brtrue.s IL_00be + + IL_00a7: pop + IL_00a8: ldsfld class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c' ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9' + IL_00ad: ldftn instance object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'b__64_2'() + IL_00b3: newobj instance void class [mscorlib]System.Func`1::.ctor(object, + native int) + IL_00b8: dup + IL_00b9: stsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__64_2' + IL_00be: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.SimpleTypeWithMultipleCtors + IL_00c3: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00c8: call class [System.Core]System.Linq.Expressions.NewExpression [System.Core]System.Linq.Expressions.Expression::New(class [mscorlib]System.Type) + IL_00cd: ldc.i4.0 + IL_00ce: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_00d3: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_00d8: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_00dd: ldsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__64_3' + IL_00e2: dup + IL_00e3: brtrue.s IL_00fc + + IL_00e5: pop + IL_00e6: ldsfld class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c' ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9' + IL_00eb: ldftn instance object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'b__64_3'() + IL_00f1: newobj instance void class [mscorlib]System.Func`1::.ctor(object, + native int) + IL_00f6: dup + IL_00f7: stsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__64_3' + IL_00fc: ldtoken method instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.SimpleTypeWithMultipleCtors::.ctor(int32) + IL_0101: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0106: castclass [mscorlib]System.Reflection.ConstructorInfo + IL_010b: ldc.i4.1 + IL_010c: newarr [System.Core]System.Linq.Expressions.Expression + IL_0111: dup + IL_0112: ldc.i4.0 + IL_0113: ldc.i4.5 + IL_0114: box [mscorlib]System.Int32 + IL_0119: ldtoken [mscorlib]System.Int32 + IL_011e: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0123: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0128: stelem.ref + IL_0129: call class [System.Core]System.Linq.Expressions.NewExpression [System.Core]System.Linq.Expressions.Expression::New(class [mscorlib]System.Reflection.ConstructorInfo, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_012e: ldc.i4.0 + IL_012f: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0134: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0139: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_013e: ldsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__64_4' + IL_0143: dup + IL_0144: brtrue.s IL_015d + + IL_0146: pop + IL_0147: ldsfld class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c' ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9' + IL_014c: ldftn instance object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'b__64_4'() + IL_0152: newobj instance void class [mscorlib]System.Func`1::.ctor(object, + native int) + IL_0157: dup + IL_0158: stsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__64_4' + IL_015d: ldtoken class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/GenericClass`1 + IL_0162: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0167: call class [System.Core]System.Linq.Expressions.NewExpression [System.Core]System.Linq.Expressions.Expression::New(class [mscorlib]System.Type) + IL_016c: ldc.i4.0 + IL_016d: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0172: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0177: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_017c: ldsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__64_5' + IL_0181: dup + IL_0182: brtrue.s IL_019b + + IL_0184: pop + IL_0185: ldsfld class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c' ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9' + IL_018a: ldftn instance object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'b__64_5'() + IL_0190: newobj instance void class [mscorlib]System.Func`1::.ctor(object, + native int) + IL_0195: dup + IL_0196: stsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__64_5' + IL_019b: ldtoken class ICSharpCode.Decompiler.Tests.TestCases.Pretty.GenericClassWithCtor`1 + IL_01a0: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_01a5: call class [System.Core]System.Linq.Expressions.NewExpression [System.Core]System.Linq.Expressions.Expression::New(class [mscorlib]System.Type) + IL_01aa: ldc.i4.0 + IL_01ab: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_01b0: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_01b5: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_01ba: ldsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__64_6' + IL_01bf: dup + IL_01c0: brtrue.s IL_01d9 + + IL_01c2: pop + IL_01c3: ldsfld class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c' ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9' + IL_01c8: ldftn instance object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'b__64_6'() + IL_01ce: newobj instance void class [mscorlib]System.Func`1::.ctor(object, + native int) + IL_01d3: dup + IL_01d4: stsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__64_6' + IL_01d9: ldtoken method instance void class ICSharpCode.Decompiler.Tests.TestCases.Pretty.GenericClassWithMultipleCtors`1::.ctor(int32) + IL_01de: ldtoken class ICSharpCode.Decompiler.Tests.TestCases.Pretty.GenericClassWithMultipleCtors`1 + IL_01e3: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle, + valuetype [mscorlib]System.RuntimeTypeHandle) + IL_01e8: castclass [mscorlib]System.Reflection.ConstructorInfo + IL_01ed: ldc.i4.1 + IL_01ee: newarr [System.Core]System.Linq.Expressions.Expression + IL_01f3: dup + IL_01f4: ldc.i4.0 + IL_01f5: ldc.i4.5 + IL_01f6: box [mscorlib]System.Int32 + IL_01fb: ldtoken [mscorlib]System.Int32 + IL_0200: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0205: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_020a: stelem.ref + IL_020b: call class [System.Core]System.Linq.Expressions.NewExpression [System.Core]System.Linq.Expressions.Expression::New(class [mscorlib]System.Reflection.ConstructorInfo, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0210: ldc.i4.0 + IL_0211: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0216: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_021b: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_0220: ret + } // end of method ExpressionTrees::NewObj + + .method public hidebysig static void TypeOfExpr() cil managed + { + // Code size 361 (0x169) + .maxstack 3 + IL_0000: ldsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__65_0' + IL_0005: dup + IL_0006: brtrue.s IL_001f + + IL_0008: pop + IL_0009: ldsfld class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c' ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9' + IL_000e: ldftn instance class [mscorlib]System.Type ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'b__65_0'() + IL_0014: newobj instance void class [mscorlib]System.Func`1::.ctor(object, + native int) + IL_0019: dup + IL_001a: stsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__65_0' + IL_001f: ldtoken [mscorlib]System.Int32 + IL_0024: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0029: ldtoken [mscorlib]System.Type + IL_002e: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0033: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0038: ldc.i4.0 + IL_0039: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_003e: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0043: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_0048: ldsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__65_1' + IL_004d: dup + IL_004e: brtrue.s IL_0067 + + IL_0050: pop + IL_0051: ldsfld class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c' ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9' + IL_0056: ldftn instance class [mscorlib]System.Type ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'b__65_1'() + IL_005c: newobj instance void class [mscorlib]System.Func`1::.ctor(object, + native int) + IL_0061: dup + IL_0062: stsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__65_1' + IL_0067: ldtoken [mscorlib]System.Object + IL_006c: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0071: ldtoken [mscorlib]System.Type + IL_0076: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_007b: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0080: ldc.i4.0 + IL_0081: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0086: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_008b: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_0090: ldsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__65_2' + IL_0095: dup + IL_0096: brtrue.s IL_00af + + IL_0098: pop + IL_0099: ldsfld class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c' ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9' + IL_009e: ldftn instance class [mscorlib]System.Type ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'b__65_2'() + IL_00a4: newobj instance void class [mscorlib]System.Func`1::.ctor(object, + native int) + IL_00a9: dup + IL_00aa: stsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__65_2' + IL_00af: ldtoken [mscorlib]System.Collections.Generic.List`1 + IL_00b4: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00b9: ldtoken [mscorlib]System.Type + IL_00be: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00c3: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_00c8: ldc.i4.0 + IL_00c9: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_00ce: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_00d3: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_00d8: ldsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__65_3' + IL_00dd: dup + IL_00de: brtrue.s IL_00f7 + + IL_00e0: pop + IL_00e1: ldsfld class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c' ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9' + IL_00e6: ldftn instance class [mscorlib]System.Type ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'b__65_3'() + IL_00ec: newobj instance void class [mscorlib]System.Func`1::.ctor(object, + native int) + IL_00f1: dup + IL_00f2: stsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__65_3' + IL_00f7: ldtoken class [mscorlib]System.Collections.Generic.List`1 + IL_00fc: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0101: ldtoken [mscorlib]System.Type + IL_0106: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_010b: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0110: ldc.i4.0 + IL_0111: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0116: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_011b: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_0120: ldsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__65_4' + IL_0125: dup + IL_0126: brtrue.s IL_013f + + IL_0128: pop + IL_0129: ldsfld class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c' ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9' + IL_012e: ldftn instance class [mscorlib]System.Type ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'b__65_4'() + IL_0134: newobj instance void class [mscorlib]System.Func`1::.ctor(object, + native int) + IL_0139: dup + IL_013a: stsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__65_4' + IL_013f: ldtoken int32* + IL_0144: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0149: ldtoken [mscorlib]System.Type + IL_014e: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0153: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0158: ldc.i4.0 + IL_0159: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_015e: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0163: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_0168: ret + } // end of method ExpressionTrees::TypeOfExpr + + .method public hidebysig static void AsTypeExpr() cil managed + { + // Code size 177 (0xb1) + .maxstack 6 + .locals init (class [System.Core]System.Linq.Expressions.ParameterExpression V_0) + IL_0000: ldsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__66_0' + IL_0005: dup + IL_0006: brtrue.s IL_001f + + IL_0008: pop + IL_0009: ldsfld class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c' ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9' + IL_000e: ldftn instance class ICSharpCode.Decompiler.Tests.TestCases.Pretty.MyClass ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'b__66_0'(object) + IL_0014: newobj instance void class [mscorlib]System.Func`2::.ctor(object, + native int) + IL_0019: dup + IL_001a: stsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__66_0' + IL_001f: ldtoken [mscorlib]System.Object + IL_0024: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0029: ldstr "obj" + IL_002e: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0033: stloc.0 + IL_0034: ldloc.0 + IL_0035: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.MyClass + IL_003a: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_003f: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::TypeAs(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_0044: ldc.i4.1 + IL_0045: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_004a: dup + IL_004b: ldc.i4.0 + IL_004c: ldloc.0 + IL_004d: stelem.ref + IL_004e: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0053: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_0058: ldsfld class [mscorlib]System.Func`2> ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__66_1' + IL_005d: dup + IL_005e: brtrue.s IL_0077 + + IL_0060: pop + IL_0061: ldsfld class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c' ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9' + IL_0066: ldftn instance class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/GenericClass`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'b__66_1'(object) + IL_006c: newobj instance void class [mscorlib]System.Func`2>::.ctor(object, + native int) + IL_0071: dup + IL_0072: stsfld class [mscorlib]System.Func`2> ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__66_1' + IL_0077: ldtoken [mscorlib]System.Object + IL_007c: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0081: ldstr "obj" + IL_0086: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_008b: stloc.0 + IL_008c: ldloc.0 + IL_008d: ldtoken class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/GenericClass`1 + IL_0092: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0097: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::TypeAs(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_009c: ldc.i4.1 + IL_009d: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_00a2: dup + IL_00a3: ldc.i4.0 + IL_00a4: ldloc.0 + IL_00a5: stelem.ref + IL_00a6: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_00ab: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_00b0: ret + } // end of method ExpressionTrees::AsTypeExpr + + .method public hidebysig static void IsTypeExpr() cil managed + { + // Code size 89 (0x59) + .maxstack 6 + .locals init (class [System.Core]System.Linq.Expressions.ParameterExpression V_0) + IL_0000: ldsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__67_0' + IL_0005: dup + IL_0006: brtrue.s IL_001f + + IL_0008: pop + IL_0009: ldsfld class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c' ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9' + IL_000e: ldftn instance bool ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'b__67_0'(object) + IL_0014: newobj instance void class [mscorlib]System.Func`2::.ctor(object, + native int) + IL_0019: dup + IL_001a: stsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__67_0' + IL_001f: ldtoken [mscorlib]System.Object + IL_0024: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0029: ldstr "obj" + IL_002e: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0033: stloc.0 + IL_0034: ldloc.0 + IL_0035: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.MyClass + IL_003a: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_003f: call class [System.Core]System.Linq.Expressions.TypeBinaryExpression [System.Core]System.Linq.Expressions.Expression::TypeIs(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_0044: ldc.i4.1 + IL_0045: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_004a: dup + IL_004b: ldc.i4.0 + IL_004c: ldloc.0 + IL_004d: stelem.ref + IL_004e: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0053: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_0058: ret + } // end of method ExpressionTrees::IsTypeExpr + + .method public hidebysig static void UnaryLogicalOperators() cil managed + { + // Code size 79 (0x4f) + .maxstack 6 + .locals init (class [System.Core]System.Linq.Expressions.ParameterExpression V_0) + IL_0000: ldsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__68_0' + IL_0005: dup + IL_0006: brtrue.s IL_001f + + IL_0008: pop + IL_0009: ldsfld class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c' ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9' + IL_000e: ldftn instance bool ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'b__68_0'(bool) + IL_0014: newobj instance void class [mscorlib]System.Func`2::.ctor(object, + native int) + IL_0019: dup + IL_001a: stsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__68_0' + IL_001f: ldtoken [mscorlib]System.Boolean + IL_0024: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0029: ldstr "a" + IL_002e: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0033: stloc.0 + IL_0034: ldloc.0 + IL_0035: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Not(class [System.Core]System.Linq.Expressions.Expression) + IL_003a: ldc.i4.1 + IL_003b: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0040: dup + IL_0041: ldc.i4.0 + IL_0042: ldloc.0 + IL_0043: stelem.ref + IL_0044: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0049: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_004e: ret + } // end of method ExpressionTrees::UnaryLogicalOperators + + .method public hidebysig static void ConditionalOperator() cil managed + { + // Code size 157 (0x9d) + .maxstack 6 + .locals init (class [System.Core]System.Linq.Expressions.ParameterExpression V_0) + IL_0000: ldnull + IL_0001: ldtoken [mscorlib]System.Boolean + IL_0006: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_000b: ldstr "a" + IL_0010: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0015: stloc.0 + IL_0016: ldloc.0 + IL_0017: ldc.i4.5 + IL_0018: box [mscorlib]System.Int32 + IL_001d: ldtoken [mscorlib]System.Int32 + IL_0022: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0027: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_002c: ldc.i4.s 10 + IL_002e: box [mscorlib]System.Int32 + IL_0033: ldtoken [mscorlib]System.Int32 + IL_0038: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_003d: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0042: call class [System.Core]System.Linq.Expressions.ConditionalExpression [System.Core]System.Linq.Expressions.Expression::Condition(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0047: ldc.i4.1 + IL_0048: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_004d: dup + IL_004e: ldc.i4.0 + IL_004f: ldloc.0 + IL_0050: stelem.ref + IL_0051: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0056: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_005b: pop + IL_005c: ldnull + IL_005d: ldtoken [mscorlib]System.Object + IL_0062: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0067: ldstr "a" + IL_006c: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0071: stloc.0 + IL_0072: ldloc.0 + IL_0073: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.MyClass + IL_0078: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_007d: call class [System.Core]System.Linq.Expressions.NewExpression [System.Core]System.Linq.Expressions.Expression::New(class [mscorlib]System.Type) + IL_0082: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Coalesce(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0087: ldc.i4.1 + IL_0088: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_008d: dup + IL_008e: ldc.i4.0 + IL_008f: ldloc.0 + IL_0090: stelem.ref + IL_0091: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0096: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_009b: pop + IL_009c: ret + } // end of method ExpressionTrees::ConditionalOperator + + .method public hidebysig static void BinaryLogicalOperators() cil managed + { + // Code size 1604 (0x644) + .maxstack 6 + .locals init (class [System.Core]System.Linq.Expressions.ParameterExpression V_0, + class [System.Core]System.Linq.Expressions.ParameterExpression V_1) + IL_0000: ldnull + IL_0001: ldtoken [mscorlib]System.Int32 + IL_0006: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_000b: ldstr "a" + IL_0010: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0015: stloc.0 + IL_0016: ldtoken [mscorlib]System.Int32 + IL_001b: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0020: ldstr "b" + IL_0025: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_002a: stloc.1 + IL_002b: ldloc.0 + IL_002c: ldloc.1 + IL_002d: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Equal(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0032: ldc.i4.2 + IL_0033: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0038: dup + IL_0039: ldc.i4.0 + IL_003a: ldloc.0 + IL_003b: stelem.ref + IL_003c: dup + IL_003d: ldc.i4.1 + IL_003e: ldloc.1 + IL_003f: stelem.ref + IL_0040: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0045: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_004a: pop + IL_004b: ldnull + IL_004c: ldtoken [mscorlib]System.Int32 + IL_0051: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0056: ldstr "a" + IL_005b: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0060: stloc.1 + IL_0061: ldtoken [mscorlib]System.Int32 + IL_0066: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_006b: ldstr "b" + IL_0070: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0075: stloc.0 + IL_0076: ldloc.1 + IL_0077: ldloc.0 + IL_0078: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::NotEqual(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_007d: ldc.i4.2 + IL_007e: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0083: dup + IL_0084: ldc.i4.0 + IL_0085: ldloc.1 + IL_0086: stelem.ref + IL_0087: dup + IL_0088: ldc.i4.1 + IL_0089: ldloc.0 + IL_008a: stelem.ref + IL_008b: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0090: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0095: pop + IL_0096: ldnull + IL_0097: ldtoken [mscorlib]System.Int32 + IL_009c: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00a1: ldstr "a" + IL_00a6: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_00ab: stloc.0 + IL_00ac: ldtoken [mscorlib]System.Int32 + IL_00b1: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00b6: ldstr "b" + IL_00bb: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_00c0: stloc.1 + IL_00c1: ldloc.0 + IL_00c2: ldloc.1 + IL_00c3: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::LessThan(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_00c8: ldc.i4.2 + IL_00c9: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_00ce: dup + IL_00cf: ldc.i4.0 + IL_00d0: ldloc.0 + IL_00d1: stelem.ref + IL_00d2: dup + IL_00d3: ldc.i4.1 + IL_00d4: ldloc.1 + IL_00d5: stelem.ref + IL_00d6: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_00db: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_00e0: pop + IL_00e1: ldnull + IL_00e2: ldtoken [mscorlib]System.Int32 + IL_00e7: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00ec: ldstr "a" + IL_00f1: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_00f6: stloc.1 + IL_00f7: ldtoken [mscorlib]System.Int32 + IL_00fc: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0101: ldstr "b" + IL_0106: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_010b: stloc.0 + IL_010c: ldloc.1 + IL_010d: ldloc.0 + IL_010e: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::LessThanOrEqual(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0113: ldc.i4.2 + IL_0114: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0119: dup + IL_011a: ldc.i4.0 + IL_011b: ldloc.1 + IL_011c: stelem.ref + IL_011d: dup + IL_011e: ldc.i4.1 + IL_011f: ldloc.0 + IL_0120: stelem.ref + IL_0121: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0126: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_012b: pop + IL_012c: ldnull + IL_012d: ldtoken [mscorlib]System.Int32 + IL_0132: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0137: ldstr "a" + IL_013c: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0141: stloc.0 + IL_0142: ldtoken [mscorlib]System.Int32 + IL_0147: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_014c: ldstr "b" + IL_0151: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0156: stloc.1 + IL_0157: ldloc.0 + IL_0158: ldloc.1 + IL_0159: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::GreaterThan(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_015e: ldc.i4.2 + IL_015f: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0164: dup + IL_0165: ldc.i4.0 + IL_0166: ldloc.0 + IL_0167: stelem.ref + IL_0168: dup + IL_0169: ldc.i4.1 + IL_016a: ldloc.1 + IL_016b: stelem.ref + IL_016c: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0171: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0176: pop + IL_0177: ldnull + IL_0178: ldtoken [mscorlib]System.Int32 + IL_017d: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0182: ldstr "a" + IL_0187: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_018c: stloc.1 + IL_018d: ldtoken [mscorlib]System.Int32 + IL_0192: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0197: ldstr "b" + IL_019c: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_01a1: stloc.0 + IL_01a2: ldloc.1 + IL_01a3: ldloc.0 + IL_01a4: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::GreaterThanOrEqual(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_01a9: ldc.i4.2 + IL_01aa: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_01af: dup + IL_01b0: ldc.i4.0 + IL_01b1: ldloc.1 + IL_01b2: stelem.ref + IL_01b3: dup + IL_01b4: ldc.i4.1 + IL_01b5: ldloc.0 + IL_01b6: stelem.ref + IL_01b7: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_01bc: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_01c1: pop + IL_01c2: ldnull + IL_01c3: ldtoken [mscorlib]System.Int32 + IL_01c8: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_01cd: ldstr "a" + IL_01d2: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_01d7: stloc.0 + IL_01d8: ldtoken [mscorlib]System.Int32 + IL_01dd: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_01e2: ldstr "b" + IL_01e7: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_01ec: stloc.1 + IL_01ed: ldloc.0 + IL_01ee: ldc.i4.1 + IL_01ef: box [mscorlib]System.Int32 + IL_01f4: ldtoken [mscorlib]System.Int32 + IL_01f9: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_01fe: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0203: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Equal(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0208: ldloc.1 + IL_0209: ldc.i4.2 + IL_020a: box [mscorlib]System.Int32 + IL_020f: ldtoken [mscorlib]System.Int32 + IL_0214: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0219: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_021e: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Equal(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0223: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::AndAlso(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0228: ldc.i4.2 + IL_0229: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_022e: dup + IL_022f: ldc.i4.0 + IL_0230: ldloc.0 + IL_0231: stelem.ref + IL_0232: dup + IL_0233: ldc.i4.1 + IL_0234: ldloc.1 + IL_0235: stelem.ref + IL_0236: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_023b: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0240: pop + IL_0241: ldnull + IL_0242: ldtoken [mscorlib]System.Int32 + IL_0247: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_024c: ldstr "a" + IL_0251: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0256: stloc.1 + IL_0257: ldtoken [mscorlib]System.Int32 + IL_025c: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0261: ldstr "b" + IL_0266: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_026b: stloc.0 + IL_026c: ldloc.1 + IL_026d: ldc.i4.1 + IL_026e: box [mscorlib]System.Int32 + IL_0273: ldtoken [mscorlib]System.Int32 + IL_0278: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_027d: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0282: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Equal(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0287: ldloc.0 + IL_0288: ldc.i4.2 + IL_0289: box [mscorlib]System.Int32 + IL_028e: ldtoken [mscorlib]System.Int32 + IL_0293: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0298: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_029d: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Equal(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_02a2: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::OrElse(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_02a7: ldc.i4.2 + IL_02a8: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_02ad: dup + IL_02ae: ldc.i4.0 + IL_02af: ldloc.1 + IL_02b0: stelem.ref + IL_02b1: dup + IL_02b2: ldc.i4.1 + IL_02b3: ldloc.0 + IL_02b4: stelem.ref + IL_02b5: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_02ba: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_02bf: pop + IL_02c0: ldnull + IL_02c1: ldtoken [mscorlib]System.Int32 + IL_02c6: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_02cb: ldstr "a" + IL_02d0: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_02d5: stloc.0 + IL_02d6: ldtoken [mscorlib]System.Int16 + IL_02db: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_02e0: ldstr "b" + IL_02e5: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_02ea: stloc.1 + IL_02eb: ldloc.0 + IL_02ec: ldloc.1 + IL_02ed: ldtoken [mscorlib]System.Int32 + IL_02f2: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_02f7: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_02fc: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Equal(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0301: ldc.i4.2 + IL_0302: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0307: dup + IL_0308: ldc.i4.0 + IL_0309: ldloc.0 + IL_030a: stelem.ref + IL_030b: dup + IL_030c: ldc.i4.1 + IL_030d: ldloc.1 + IL_030e: stelem.ref + IL_030f: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0314: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0319: pop + IL_031a: ldnull + IL_031b: ldtoken [mscorlib]System.UInt16 + IL_0320: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0325: ldstr "a" + IL_032a: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_032f: stloc.1 + IL_0330: ldtoken [mscorlib]System.Int32 + IL_0335: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_033a: ldstr "b" + IL_033f: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0344: stloc.0 + IL_0345: ldloc.1 + IL_0346: ldtoken [mscorlib]System.Int32 + IL_034b: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0350: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_0355: ldloc.0 + IL_0356: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::NotEqual(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_035b: ldc.i4.2 + IL_035c: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0361: dup + IL_0362: ldc.i4.0 + IL_0363: ldloc.1 + IL_0364: stelem.ref + IL_0365: dup + IL_0366: ldc.i4.1 + IL_0367: ldloc.0 + IL_0368: stelem.ref + IL_0369: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_036e: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0373: pop + IL_0374: ldnull + IL_0375: ldtoken [mscorlib]System.Int32 + IL_037a: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_037f: ldstr "a" + IL_0384: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0389: stloc.0 + IL_038a: ldtoken [mscorlib]System.Int64 + IL_038f: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0394: ldstr "b" + IL_0399: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_039e: stloc.1 + IL_039f: ldloc.0 + IL_03a0: ldtoken [mscorlib]System.Int64 + IL_03a5: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_03aa: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_03af: ldloc.1 + IL_03b0: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::LessThan(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_03b5: ldc.i4.2 + IL_03b6: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_03bb: dup + IL_03bc: ldc.i4.0 + IL_03bd: ldloc.0 + IL_03be: stelem.ref + IL_03bf: dup + IL_03c0: ldc.i4.1 + IL_03c1: ldloc.1 + IL_03c2: stelem.ref + IL_03c3: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_03c8: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_03cd: pop + IL_03ce: ldnull + IL_03cf: ldtoken [mscorlib]System.UInt64 + IL_03d4: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_03d9: ldstr "a" + IL_03de: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_03e3: stloc.1 + IL_03e4: ldtoken [mscorlib]System.UInt32 + IL_03e9: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_03ee: ldstr "b" + IL_03f3: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_03f8: stloc.0 + IL_03f9: ldloc.1 + IL_03fa: ldloc.0 + IL_03fb: ldtoken [mscorlib]System.UInt64 + IL_0400: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0405: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_040a: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::LessThanOrEqual(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_040f: ldc.i4.2 + IL_0410: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0415: dup + IL_0416: ldc.i4.0 + IL_0417: ldloc.1 + IL_0418: stelem.ref + IL_0419: dup + IL_041a: ldc.i4.1 + IL_041b: ldloc.0 + IL_041c: stelem.ref + IL_041d: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0422: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0427: pop + IL_0428: ldnull + IL_0429: ldtoken [mscorlib]System.Int32 + IL_042e: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0433: ldstr "a" + IL_0438: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_043d: stloc.0 + IL_043e: ldtoken [mscorlib]System.UInt32 + IL_0443: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0448: ldstr "b" + IL_044d: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0452: stloc.1 + IL_0453: ldloc.0 + IL_0454: ldtoken [mscorlib]System.Int64 + IL_0459: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_045e: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_0463: ldloc.1 + IL_0464: ldtoken [mscorlib]System.Int64 + IL_0469: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_046e: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_0473: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::LessThanOrEqual(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0478: ldc.i4.2 + IL_0479: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_047e: dup + IL_047f: ldc.i4.0 + IL_0480: ldloc.0 + IL_0481: stelem.ref + IL_0482: dup + IL_0483: ldc.i4.1 + IL_0484: ldloc.1 + IL_0485: stelem.ref + IL_0486: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_048b: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0490: pop + IL_0491: ldnull + IL_0492: ldtoken [mscorlib]System.Int32 + IL_0497: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_049c: ldstr "a" + IL_04a1: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_04a6: stloc.1 + IL_04a7: ldtoken [mscorlib]System.Int64 + IL_04ac: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_04b1: ldstr "b" + IL_04b6: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_04bb: stloc.0 + IL_04bc: ldloc.1 + IL_04bd: ldtoken [mscorlib]System.Int64 + IL_04c2: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_04c7: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_04cc: ldloc.0 + IL_04cd: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::GreaterThan(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_04d2: ldc.i4.2 + IL_04d3: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_04d8: dup + IL_04d9: ldc.i4.0 + IL_04da: ldloc.1 + IL_04db: stelem.ref + IL_04dc: dup + IL_04dd: ldc.i4.1 + IL_04de: ldloc.0 + IL_04df: stelem.ref + IL_04e0: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_04e5: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_04ea: pop + IL_04eb: ldnull + IL_04ec: ldtoken [mscorlib]System.Int16 + IL_04f1: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_04f6: ldstr "a" + IL_04fb: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0500: stloc.0 + IL_0501: ldtoken [mscorlib]System.Int64 + IL_0506: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_050b: ldstr "b" + IL_0510: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0515: stloc.1 + IL_0516: ldloc.0 + IL_0517: ldtoken [mscorlib]System.Int64 + IL_051c: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0521: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_0526: ldloc.1 + IL_0527: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::GreaterThanOrEqual(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_052c: ldc.i4.2 + IL_052d: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0532: dup + IL_0533: ldc.i4.0 + IL_0534: ldloc.0 + IL_0535: stelem.ref + IL_0536: dup + IL_0537: ldc.i4.1 + IL_0538: ldloc.1 + IL_0539: stelem.ref + IL_053a: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_053f: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0544: pop + IL_0545: ldnull + IL_0546: ldtoken [mscorlib]System.Int32 + IL_054b: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0550: ldstr "a" + IL_0555: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_055a: stloc.1 + IL_055b: ldtoken [mscorlib]System.Int32 + IL_0560: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0565: ldstr "b" + IL_056a: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_056f: stloc.0 + IL_0570: ldloc.1 + IL_0571: ldc.i4.1 + IL_0572: box [mscorlib]System.Int32 + IL_0577: ldtoken [mscorlib]System.Int32 + IL_057c: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0581: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0586: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Equal(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_058b: ldloc.0 + IL_058c: ldc.i4.2 + IL_058d: box [mscorlib]System.Int32 + IL_0592: ldtoken [mscorlib]System.Int32 + IL_0597: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_059c: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_05a1: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Equal(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_05a6: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::AndAlso(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_05ab: ldc.i4.2 + IL_05ac: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_05b1: dup + IL_05b2: ldc.i4.0 + IL_05b3: ldloc.1 + IL_05b4: stelem.ref + IL_05b5: dup + IL_05b6: ldc.i4.1 + IL_05b7: ldloc.0 + IL_05b8: stelem.ref + IL_05b9: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_05be: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_05c3: pop + IL_05c4: ldnull + IL_05c5: ldtoken [mscorlib]System.Int32 + IL_05ca: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_05cf: ldstr "a" + IL_05d4: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_05d9: stloc.0 + IL_05da: ldtoken [mscorlib]System.Int32 + IL_05df: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_05e4: ldstr "b" + IL_05e9: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_05ee: stloc.1 + IL_05ef: ldloc.0 + IL_05f0: ldc.i4.1 + IL_05f1: box [mscorlib]System.Int32 + IL_05f6: ldtoken [mscorlib]System.Int32 + IL_05fb: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0600: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0605: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Equal(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_060a: ldloc.1 + IL_060b: ldc.i4.2 + IL_060c: box [mscorlib]System.Int32 + IL_0611: ldtoken [mscorlib]System.Int32 + IL_0616: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_061b: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0620: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Equal(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0625: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::OrElse(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_062a: ldc.i4.2 + IL_062b: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0630: dup + IL_0631: ldc.i4.0 + IL_0632: ldloc.0 + IL_0633: stelem.ref + IL_0634: dup + IL_0635: ldc.i4.1 + IL_0636: ldloc.1 + IL_0637: stelem.ref + IL_0638: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_063d: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0642: pop + IL_0643: ret + } // end of method ExpressionTrees::BinaryLogicalOperators + + .method public hidebysig static void UnaryArithmeticOperators() cil managed + { + // Code size 152 (0x98) + .maxstack 6 + .locals init (class [System.Core]System.Linq.Expressions.ParameterExpression V_0) + IL_0000: ldsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__71_0' + IL_0005: dup + IL_0006: brtrue.s IL_001f + + IL_0008: pop + IL_0009: ldsfld class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c' ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9' + IL_000e: ldftn instance int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'b__71_0'(int32) + IL_0014: newobj instance void class [mscorlib]System.Func`2::.ctor(object, + native int) + IL_0019: dup + IL_001a: stsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__71_0' + IL_001f: ldtoken [mscorlib]System.Int32 + IL_0024: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0029: ldstr "a" + IL_002e: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0033: stloc.0 + IL_0034: ldloc.0 + IL_0035: ldc.i4.1 + IL_0036: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_003b: dup + IL_003c: ldc.i4.0 + IL_003d: ldloc.0 + IL_003e: stelem.ref + IL_003f: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0044: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_0049: ldsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__71_1' + IL_004e: dup + IL_004f: brtrue.s IL_0068 + + IL_0051: pop + IL_0052: ldsfld class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c' ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9' + IL_0057: ldftn instance int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'b__71_1'(int32) + IL_005d: newobj instance void class [mscorlib]System.Func`2::.ctor(object, + native int) + IL_0062: dup + IL_0063: stsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__71_1' + IL_0068: ldtoken [mscorlib]System.Int32 + IL_006d: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0072: ldstr "a" + IL_0077: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_007c: stloc.0 + IL_007d: ldloc.0 + IL_007e: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Negate(class [System.Core]System.Linq.Expressions.Expression) + IL_0083: ldc.i4.1 + IL_0084: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0089: dup + IL_008a: ldc.i4.0 + IL_008b: ldloc.0 + IL_008c: stelem.ref + IL_008d: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0092: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_0097: ret + } // end of method ExpressionTrees::UnaryArithmeticOperators + + .method public hidebysig static void BinaryArithmeticOperators() cil managed + { + // Code size 1711 (0x6af) + .maxstack 6 + .locals init (class [System.Core]System.Linq.Expressions.ParameterExpression V_0, + class [System.Core]System.Linq.Expressions.ParameterExpression V_1) + IL_0000: ldsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__72_0' + IL_0005: dup + IL_0006: brtrue.s IL_001f + + IL_0008: pop + IL_0009: ldsfld class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c' ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9' + IL_000e: ldftn instance int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'b__72_0'(int32, + int32) + IL_0014: newobj instance void class [mscorlib]System.Func`3::.ctor(object, + native int) + IL_0019: dup + IL_001a: stsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__72_0' + IL_001f: ldtoken [mscorlib]System.Int32 + IL_0024: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0029: ldstr "a" + IL_002e: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0033: stloc.0 + IL_0034: ldtoken [mscorlib]System.Int32 + IL_0039: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_003e: ldstr "b" + IL_0043: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0048: stloc.1 + IL_0049: ldloc.0 + IL_004a: ldloc.1 + IL_004b: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Add(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0050: ldc.i4.2 + IL_0051: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0056: dup + IL_0057: ldc.i4.0 + IL_0058: ldloc.0 + IL_0059: stelem.ref + IL_005a: dup + IL_005b: ldc.i4.1 + IL_005c: ldloc.1 + IL_005d: stelem.ref + IL_005e: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0063: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_0068: ldsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__72_1' + IL_006d: dup + IL_006e: brtrue.s IL_0087 + + IL_0070: pop + IL_0071: ldsfld class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c' ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9' + IL_0076: ldftn instance int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'b__72_1'(int32, + int32) + IL_007c: newobj instance void class [mscorlib]System.Func`3::.ctor(object, + native int) + IL_0081: dup + IL_0082: stsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__72_1' + IL_0087: ldtoken [mscorlib]System.Int32 + IL_008c: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0091: ldstr "a" + IL_0096: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_009b: stloc.1 + IL_009c: ldtoken [mscorlib]System.Int32 + IL_00a1: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00a6: ldstr "b" + IL_00ab: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_00b0: stloc.0 + IL_00b1: ldloc.1 + IL_00b2: ldloc.0 + IL_00b3: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Subtract(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_00b8: ldc.i4.2 + IL_00b9: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_00be: dup + IL_00bf: ldc.i4.0 + IL_00c0: ldloc.1 + IL_00c1: stelem.ref + IL_00c2: dup + IL_00c3: ldc.i4.1 + IL_00c4: ldloc.0 + IL_00c5: stelem.ref + IL_00c6: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_00cb: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_00d0: ldsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__72_2' + IL_00d5: dup + IL_00d6: brtrue.s IL_00ef + + IL_00d8: pop + IL_00d9: ldsfld class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c' ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9' + IL_00de: ldftn instance int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'b__72_2'(int32, + int32) + IL_00e4: newobj instance void class [mscorlib]System.Func`3::.ctor(object, + native int) + IL_00e9: dup + IL_00ea: stsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__72_2' + IL_00ef: ldtoken [mscorlib]System.Int32 + IL_00f4: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00f9: ldstr "a" + IL_00fe: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0103: stloc.0 + IL_0104: ldtoken [mscorlib]System.Int32 + IL_0109: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_010e: ldstr "b" + IL_0113: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0118: stloc.1 + IL_0119: ldloc.0 + IL_011a: ldloc.1 + IL_011b: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Multiply(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0120: ldc.i4.2 + IL_0121: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0126: dup + IL_0127: ldc.i4.0 + IL_0128: ldloc.0 + IL_0129: stelem.ref + IL_012a: dup + IL_012b: ldc.i4.1 + IL_012c: ldloc.1 + IL_012d: stelem.ref + IL_012e: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0133: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_0138: ldsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__72_3' + IL_013d: dup + IL_013e: brtrue.s IL_0157 + + IL_0140: pop + IL_0141: ldsfld class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c' ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9' + IL_0146: ldftn instance int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'b__72_3'(int32, + int32) + IL_014c: newobj instance void class [mscorlib]System.Func`3::.ctor(object, + native int) + IL_0151: dup + IL_0152: stsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__72_3' + IL_0157: ldtoken [mscorlib]System.Int32 + IL_015c: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0161: ldstr "a" + IL_0166: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_016b: stloc.1 + IL_016c: ldtoken [mscorlib]System.Int32 + IL_0171: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0176: ldstr "b" + IL_017b: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0180: stloc.0 + IL_0181: ldloc.1 + IL_0182: ldloc.0 + IL_0183: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Divide(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0188: ldc.i4.2 + IL_0189: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_018e: dup + IL_018f: ldc.i4.0 + IL_0190: ldloc.1 + IL_0191: stelem.ref + IL_0192: dup + IL_0193: ldc.i4.1 + IL_0194: ldloc.0 + IL_0195: stelem.ref + IL_0196: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_019b: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_01a0: ldsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__72_4' + IL_01a5: dup + IL_01a6: brtrue.s IL_01bf + + IL_01a8: pop + IL_01a9: ldsfld class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c' ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9' + IL_01ae: ldftn instance int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'b__72_4'(int32, + int32) + IL_01b4: newobj instance void class [mscorlib]System.Func`3::.ctor(object, + native int) + IL_01b9: dup + IL_01ba: stsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__72_4' + IL_01bf: ldtoken [mscorlib]System.Int32 + IL_01c4: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_01c9: ldstr "a" + IL_01ce: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_01d3: stloc.0 + IL_01d4: ldtoken [mscorlib]System.Int32 + IL_01d9: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_01de: ldstr "b" + IL_01e3: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_01e8: stloc.1 + IL_01e9: ldloc.0 + IL_01ea: ldloc.1 + IL_01eb: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Modulo(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_01f0: ldc.i4.2 + IL_01f1: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_01f6: dup + IL_01f7: ldc.i4.0 + IL_01f8: ldloc.0 + IL_01f9: stelem.ref + IL_01fa: dup + IL_01fb: ldc.i4.1 + IL_01fc: ldloc.1 + IL_01fd: stelem.ref + IL_01fe: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0203: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_0208: ldsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__72_5' + IL_020d: dup + IL_020e: brtrue.s IL_0227 + + IL_0210: pop + IL_0211: ldsfld class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c' ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9' + IL_0216: ldftn instance int64 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'b__72_5'(int64, + int32) + IL_021c: newobj instance void class [mscorlib]System.Func`3::.ctor(object, + native int) + IL_0221: dup + IL_0222: stsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__72_5' + IL_0227: ldtoken [mscorlib]System.Int64 + IL_022c: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0231: ldstr "a" + IL_0236: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_023b: stloc.1 + IL_023c: ldtoken [mscorlib]System.Int32 + IL_0241: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0246: ldstr "b" + IL_024b: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0250: stloc.0 + IL_0251: ldloc.1 + IL_0252: ldloc.0 + IL_0253: ldtoken [mscorlib]System.Int64 + IL_0258: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_025d: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_0262: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Add(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0267: ldc.i4.2 + IL_0268: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_026d: dup + IL_026e: ldc.i4.0 + IL_026f: ldloc.1 + IL_0270: stelem.ref + IL_0271: dup + IL_0272: ldc.i4.1 + IL_0273: ldloc.0 + IL_0274: stelem.ref + IL_0275: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_027a: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_027f: ldsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__72_6' + IL_0284: dup + IL_0285: brtrue.s IL_029e + + IL_0287: pop + IL_0288: ldsfld class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c' ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9' + IL_028d: ldftn instance int64 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'b__72_6'(int64, + int32) + IL_0293: newobj instance void class [mscorlib]System.Func`3::.ctor(object, + native int) + IL_0298: dup + IL_0299: stsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__72_6' + IL_029e: ldtoken [mscorlib]System.Int64 + IL_02a3: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_02a8: ldstr "a" + IL_02ad: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_02b2: stloc.0 + IL_02b3: ldtoken [mscorlib]System.Int32 + IL_02b8: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_02bd: ldstr "b" + IL_02c2: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_02c7: stloc.1 + IL_02c8: ldloc.0 + IL_02c9: ldloc.1 + IL_02ca: ldtoken [mscorlib]System.Int64 + IL_02cf: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_02d4: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_02d9: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Subtract(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_02de: ldc.i4.2 + IL_02df: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_02e4: dup + IL_02e5: ldc.i4.0 + IL_02e6: ldloc.0 + IL_02e7: stelem.ref + IL_02e8: dup + IL_02e9: ldc.i4.1 + IL_02ea: ldloc.1 + IL_02eb: stelem.ref + IL_02ec: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_02f1: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_02f6: ldsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__72_7' + IL_02fb: dup + IL_02fc: brtrue.s IL_0315 + + IL_02fe: pop + IL_02ff: ldsfld class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c' ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9' + IL_0304: ldftn instance int64 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'b__72_7'(int64, + int32) + IL_030a: newobj instance void class [mscorlib]System.Func`3::.ctor(object, + native int) + IL_030f: dup + IL_0310: stsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__72_7' + IL_0315: ldtoken [mscorlib]System.Int64 + IL_031a: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_031f: ldstr "a" + IL_0324: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0329: stloc.1 + IL_032a: ldtoken [mscorlib]System.Int32 + IL_032f: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0334: ldstr "b" + IL_0339: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_033e: stloc.0 + IL_033f: ldloc.1 + IL_0340: ldloc.0 + IL_0341: ldtoken [mscorlib]System.Int64 + IL_0346: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_034b: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_0350: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Multiply(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0355: ldc.i4.2 + IL_0356: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_035b: dup + IL_035c: ldc.i4.0 + IL_035d: ldloc.1 + IL_035e: stelem.ref + IL_035f: dup + IL_0360: ldc.i4.1 + IL_0361: ldloc.0 + IL_0362: stelem.ref + IL_0363: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0368: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_036d: ldsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__72_8' + IL_0372: dup + IL_0373: brtrue.s IL_038c + + IL_0375: pop + IL_0376: ldsfld class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c' ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9' + IL_037b: ldftn instance int64 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'b__72_8'(int64, + int32) + IL_0381: newobj instance void class [mscorlib]System.Func`3::.ctor(object, + native int) + IL_0386: dup + IL_0387: stsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__72_8' + IL_038c: ldtoken [mscorlib]System.Int64 + IL_0391: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0396: ldstr "a" + IL_039b: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_03a0: stloc.0 + IL_03a1: ldtoken [mscorlib]System.Int32 + IL_03a6: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_03ab: ldstr "b" + IL_03b0: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_03b5: stloc.1 + IL_03b6: ldloc.0 + IL_03b7: ldloc.1 + IL_03b8: ldtoken [mscorlib]System.Int64 + IL_03bd: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_03c2: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_03c7: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Divide(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_03cc: ldc.i4.2 + IL_03cd: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_03d2: dup + IL_03d3: ldc.i4.0 + IL_03d4: ldloc.0 + IL_03d5: stelem.ref + IL_03d6: dup + IL_03d7: ldc.i4.1 + IL_03d8: ldloc.1 + IL_03d9: stelem.ref + IL_03da: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_03df: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_03e4: ldsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__72_9' + IL_03e9: dup + IL_03ea: brtrue.s IL_0403 + + IL_03ec: pop + IL_03ed: ldsfld class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c' ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9' + IL_03f2: ldftn instance int64 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'b__72_9'(int64, + int32) + IL_03f8: newobj instance void class [mscorlib]System.Func`3::.ctor(object, + native int) + IL_03fd: dup + IL_03fe: stsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__72_9' + IL_0403: ldtoken [mscorlib]System.Int64 + IL_0408: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_040d: ldstr "a" + IL_0412: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0417: stloc.1 + IL_0418: ldtoken [mscorlib]System.Int32 + IL_041d: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0422: ldstr "b" + IL_0427: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_042c: stloc.0 + IL_042d: ldloc.1 + IL_042e: ldloc.0 + IL_042f: ldtoken [mscorlib]System.Int64 + IL_0434: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0439: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_043e: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Modulo(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0443: ldc.i4.2 + IL_0444: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0449: dup + IL_044a: ldc.i4.0 + IL_044b: ldloc.1 + IL_044c: stelem.ref + IL_044d: dup + IL_044e: ldc.i4.1 + IL_044f: ldloc.0 + IL_0450: stelem.ref + IL_0451: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0456: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_045b: ldsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__72_10' + IL_0460: dup + IL_0461: brtrue.s IL_047a + + IL_0463: pop + IL_0464: ldsfld class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c' ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9' + IL_0469: ldftn instance int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'b__72_10'(int16, + int32) + IL_046f: newobj instance void class [mscorlib]System.Func`3::.ctor(object, + native int) + IL_0474: dup + IL_0475: stsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__72_10' + IL_047a: ldtoken [mscorlib]System.Int16 + IL_047f: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0484: ldstr "a" + IL_0489: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_048e: stloc.0 + IL_048f: ldtoken [mscorlib]System.Int32 + IL_0494: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0499: ldstr "b" + IL_049e: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_04a3: stloc.1 + IL_04a4: ldloc.0 + IL_04a5: ldtoken [mscorlib]System.Int32 + IL_04aa: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_04af: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_04b4: ldloc.1 + IL_04b5: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Add(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_04ba: ldc.i4.2 + IL_04bb: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_04c0: dup + IL_04c1: ldc.i4.0 + IL_04c2: ldloc.0 + IL_04c3: stelem.ref + IL_04c4: dup + IL_04c5: ldc.i4.1 + IL_04c6: ldloc.1 + IL_04c7: stelem.ref + IL_04c8: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_04cd: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_04d2: ldsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__72_11' + IL_04d7: dup + IL_04d8: brtrue.s IL_04f1 + + IL_04da: pop + IL_04db: ldsfld class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c' ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9' + IL_04e0: ldftn instance int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'b__72_11'(int32, + int16) + IL_04e6: newobj instance void class [mscorlib]System.Func`3::.ctor(object, + native int) + IL_04eb: dup + IL_04ec: stsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__72_11' + IL_04f1: ldtoken [mscorlib]System.Int32 + IL_04f6: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_04fb: ldstr "a" + IL_0500: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0505: stloc.1 + IL_0506: ldtoken [mscorlib]System.Int16 + IL_050b: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0510: ldstr "b" + IL_0515: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_051a: stloc.0 + IL_051b: ldloc.1 + IL_051c: ldloc.0 + IL_051d: ldtoken [mscorlib]System.Int32 + IL_0522: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0527: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_052c: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Subtract(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0531: ldc.i4.2 + IL_0532: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0537: dup + IL_0538: ldc.i4.0 + IL_0539: ldloc.1 + IL_053a: stelem.ref + IL_053b: dup + IL_053c: ldc.i4.1 + IL_053d: ldloc.0 + IL_053e: stelem.ref + IL_053f: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0544: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_0549: ldsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__72_12' + IL_054e: dup + IL_054f: brtrue.s IL_0568 + + IL_0551: pop + IL_0552: ldsfld class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c' ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9' + IL_0557: ldftn instance int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'b__72_12'(int16, + int32) + IL_055d: newobj instance void class [mscorlib]System.Func`3::.ctor(object, + native int) + IL_0562: dup + IL_0563: stsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__72_12' + IL_0568: ldtoken [mscorlib]System.Int16 + IL_056d: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0572: ldstr "a" + IL_0577: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_057c: stloc.0 + IL_057d: ldtoken [mscorlib]System.Int32 + IL_0582: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0587: ldstr "b" + IL_058c: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0591: stloc.1 + IL_0592: ldloc.0 + IL_0593: ldtoken [mscorlib]System.Int32 + IL_0598: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_059d: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_05a2: ldloc.1 + IL_05a3: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Multiply(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_05a8: ldc.i4.2 + IL_05a9: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_05ae: dup + IL_05af: ldc.i4.0 + IL_05b0: ldloc.0 + IL_05b1: stelem.ref + IL_05b2: dup + IL_05b3: ldc.i4.1 + IL_05b4: ldloc.1 + IL_05b5: stelem.ref + IL_05b6: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_05bb: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_05c0: ldsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__72_13' + IL_05c5: dup + IL_05c6: brtrue.s IL_05df + + IL_05c8: pop + IL_05c9: ldsfld class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c' ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9' + IL_05ce: ldftn instance int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'b__72_13'(int32, + int16) + IL_05d4: newobj instance void class [mscorlib]System.Func`3::.ctor(object, + native int) + IL_05d9: dup + IL_05da: stsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__72_13' + IL_05df: ldtoken [mscorlib]System.Int32 + IL_05e4: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_05e9: ldstr "a" + IL_05ee: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_05f3: stloc.1 + IL_05f4: ldtoken [mscorlib]System.Int16 + IL_05f9: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_05fe: ldstr "b" + IL_0603: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0608: stloc.0 + IL_0609: ldloc.1 + IL_060a: ldloc.0 + IL_060b: ldtoken [mscorlib]System.Int32 + IL_0610: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0615: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_061a: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Divide(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_061f: ldc.i4.2 + IL_0620: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0625: dup + IL_0626: ldc.i4.0 + IL_0627: ldloc.1 + IL_0628: stelem.ref + IL_0629: dup + IL_062a: ldc.i4.1 + IL_062b: ldloc.0 + IL_062c: stelem.ref + IL_062d: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0632: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_0637: ldsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__72_14' + IL_063c: dup + IL_063d: brtrue.s IL_0656 + + IL_063f: pop + IL_0640: ldsfld class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c' ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9' + IL_0645: ldftn instance int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'b__72_14'(int16, + int32) + IL_064b: newobj instance void class [mscorlib]System.Func`3::.ctor(object, + native int) + IL_0650: dup + IL_0651: stsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__72_14' + IL_0656: ldtoken [mscorlib]System.Int16 + IL_065b: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0660: ldstr "a" + IL_0665: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_066a: stloc.0 + IL_066b: ldtoken [mscorlib]System.Int32 + IL_0670: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0675: ldstr "b" + IL_067a: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_067f: stloc.1 + IL_0680: ldloc.0 + IL_0681: ldtoken [mscorlib]System.Int32 + IL_0686: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_068b: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_0690: ldloc.1 + IL_0691: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Modulo(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0696: ldc.i4.2 + IL_0697: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_069c: dup + IL_069d: ldc.i4.0 + IL_069e: ldloc.0 + IL_069f: stelem.ref + IL_06a0: dup + IL_06a1: ldc.i4.1 + IL_06a2: ldloc.1 + IL_06a3: stelem.ref + IL_06a4: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_06a9: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_06ae: ret + } // end of method ExpressionTrees::BinaryArithmeticOperators + + .method public hidebysig static void BitOperators() cil managed + { + // Code size 391 (0x187) + .maxstack 6 + .locals init (class [System.Core]System.Linq.Expressions.ParameterExpression V_0, + class [System.Core]System.Linq.Expressions.ParameterExpression V_1) + IL_0000: ldsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__73_0' + IL_0005: dup + IL_0006: brtrue.s IL_001f + + IL_0008: pop + IL_0009: ldsfld class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c' ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9' + IL_000e: ldftn instance int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'b__73_0'(int32) + IL_0014: newobj instance void class [mscorlib]System.Func`2::.ctor(object, + native int) + IL_0019: dup + IL_001a: stsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__73_0' + IL_001f: ldtoken [mscorlib]System.Int32 + IL_0024: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0029: ldstr "a" + IL_002e: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0033: stloc.0 + IL_0034: ldloc.0 + IL_0035: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Not(class [System.Core]System.Linq.Expressions.Expression) + IL_003a: ldc.i4.1 + IL_003b: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0040: dup + IL_0041: ldc.i4.0 + IL_0042: ldloc.0 + IL_0043: stelem.ref + IL_0044: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0049: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_004e: ldsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__73_1' + IL_0053: dup + IL_0054: brtrue.s IL_006d + + IL_0056: pop + IL_0057: ldsfld class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c' ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9' + IL_005c: ldftn instance int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'b__73_1'(int32, + int32) + IL_0062: newobj instance void class [mscorlib]System.Func`3::.ctor(object, + native int) + IL_0067: dup + IL_0068: stsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__73_1' + IL_006d: ldtoken [mscorlib]System.Int32 + IL_0072: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0077: ldstr "a" + IL_007c: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0081: stloc.0 + IL_0082: ldtoken [mscorlib]System.Int32 + IL_0087: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_008c: ldstr "b" + IL_0091: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0096: stloc.1 + IL_0097: ldloc.0 + IL_0098: ldloc.1 + IL_0099: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::And(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_009e: ldc.i4.2 + IL_009f: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_00a4: dup + IL_00a5: ldc.i4.0 + IL_00a6: ldloc.0 + IL_00a7: stelem.ref + IL_00a8: dup + IL_00a9: ldc.i4.1 + IL_00aa: ldloc.1 + IL_00ab: stelem.ref + IL_00ac: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_00b1: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_00b6: ldsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__73_2' + IL_00bb: dup + IL_00bc: brtrue.s IL_00d5 + + IL_00be: pop + IL_00bf: ldsfld class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c' ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9' + IL_00c4: ldftn instance int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'b__73_2'(int32, + int32) + IL_00ca: newobj instance void class [mscorlib]System.Func`3::.ctor(object, + native int) + IL_00cf: dup + IL_00d0: stsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__73_2' + IL_00d5: ldtoken [mscorlib]System.Int32 + IL_00da: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00df: ldstr "a" + IL_00e4: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_00e9: stloc.1 + IL_00ea: ldtoken [mscorlib]System.Int32 + IL_00ef: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00f4: ldstr "b" + IL_00f9: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_00fe: stloc.0 + IL_00ff: ldloc.1 + IL_0100: ldloc.0 + IL_0101: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Or(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0106: ldc.i4.2 + IL_0107: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_010c: dup + IL_010d: ldc.i4.0 + IL_010e: ldloc.1 + IL_010f: stelem.ref + IL_0110: dup + IL_0111: ldc.i4.1 + IL_0112: ldloc.0 + IL_0113: stelem.ref + IL_0114: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0119: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_011e: ldsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__73_3' + IL_0123: dup + IL_0124: brtrue.s IL_013d + + IL_0126: pop + IL_0127: ldsfld class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c' ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9' + IL_012c: ldftn instance int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'b__73_3'(int32, + int32) + IL_0132: newobj instance void class [mscorlib]System.Func`3::.ctor(object, + native int) + IL_0137: dup + IL_0138: stsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__73_3' + IL_013d: ldtoken [mscorlib]System.Int32 + IL_0142: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0147: ldstr "a" + IL_014c: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0151: stloc.0 + IL_0152: ldtoken [mscorlib]System.Int32 + IL_0157: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_015c: ldstr "b" + IL_0161: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0166: stloc.1 + IL_0167: ldloc.0 + IL_0168: ldloc.1 + IL_0169: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::ExclusiveOr(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_016e: ldc.i4.2 + IL_016f: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0174: dup + IL_0175: ldc.i4.0 + IL_0176: ldloc.0 + IL_0177: stelem.ref + IL_0178: dup + IL_0179: ldc.i4.1 + IL_017a: ldloc.1 + IL_017b: stelem.ref + IL_017c: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0181: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_0186: ret + } // end of method ExpressionTrees::BitOperators + + .method public hidebysig static void ShiftOperators() cil managed + { + // Code size 397 (0x18d) + .maxstack 6 + .locals init (class [System.Core]System.Linq.Expressions.ParameterExpression V_0) + IL_0000: ldsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__74_0' + IL_0005: dup + IL_0006: brtrue.s IL_001f + + IL_0008: pop + IL_0009: ldsfld class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c' ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9' + IL_000e: ldftn instance int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'b__74_0'(int32) + IL_0014: newobj instance void class [mscorlib]System.Func`2::.ctor(object, + native int) + IL_0019: dup + IL_001a: stsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__74_0' + IL_001f: ldtoken [mscorlib]System.Int32 + IL_0024: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0029: ldstr "a" + IL_002e: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0033: stloc.0 + IL_0034: ldloc.0 + IL_0035: ldc.i4.2 + IL_0036: box [mscorlib]System.Int32 + IL_003b: ldtoken [mscorlib]System.Int32 + IL_0040: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0045: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_004a: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::RightShift(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_004f: ldc.i4.1 + IL_0050: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0055: dup + IL_0056: ldc.i4.0 + IL_0057: ldloc.0 + IL_0058: stelem.ref + IL_0059: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_005e: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_0063: ldsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__74_1' + IL_0068: dup + IL_0069: brtrue.s IL_0082 + + IL_006b: pop + IL_006c: ldsfld class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c' ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9' + IL_0071: ldftn instance int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'b__74_1'(int32) + IL_0077: newobj instance void class [mscorlib]System.Func`2::.ctor(object, + native int) + IL_007c: dup + IL_007d: stsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__74_1' + IL_0082: ldtoken [mscorlib]System.Int32 + IL_0087: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_008c: ldstr "a" + IL_0091: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0096: stloc.0 + IL_0097: ldloc.0 + IL_0098: ldc.i4.2 + IL_0099: box [mscorlib]System.Int32 + IL_009e: ldtoken [mscorlib]System.Int32 + IL_00a3: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00a8: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_00ad: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::LeftShift(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_00b2: ldc.i4.1 + IL_00b3: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_00b8: dup + IL_00b9: ldc.i4.0 + IL_00ba: ldloc.0 + IL_00bb: stelem.ref + IL_00bc: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_00c1: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_00c6: ldsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__74_2' + IL_00cb: dup + IL_00cc: brtrue.s IL_00e5 + + IL_00ce: pop + IL_00cf: ldsfld class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c' ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9' + IL_00d4: ldftn instance int64 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'b__74_2'(int64) + IL_00da: newobj instance void class [mscorlib]System.Func`2::.ctor(object, + native int) + IL_00df: dup + IL_00e0: stsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__74_2' + IL_00e5: ldtoken [mscorlib]System.Int64 + IL_00ea: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00ef: ldstr "a" + IL_00f4: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_00f9: stloc.0 + IL_00fa: ldloc.0 + IL_00fb: ldc.i4.2 + IL_00fc: box [mscorlib]System.Int32 + IL_0101: ldtoken [mscorlib]System.Int32 + IL_0106: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_010b: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0110: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::RightShift(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0115: ldc.i4.1 + IL_0116: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_011b: dup + IL_011c: ldc.i4.0 + IL_011d: ldloc.0 + IL_011e: stelem.ref + IL_011f: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0124: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_0129: ldsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__74_3' + IL_012e: dup + IL_012f: brtrue.s IL_0148 + + IL_0131: pop + IL_0132: ldsfld class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c' ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9' + IL_0137: ldftn instance int64 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'b__74_3'(int64) + IL_013d: newobj instance void class [mscorlib]System.Func`2::.ctor(object, + native int) + IL_0142: dup + IL_0143: stsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__74_3' + IL_0148: ldtoken [mscorlib]System.Int64 + IL_014d: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0152: ldstr "a" + IL_0157: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_015c: stloc.0 + IL_015d: ldloc.0 + IL_015e: ldc.i4.2 + IL_015f: box [mscorlib]System.Int32 + IL_0164: ldtoken [mscorlib]System.Int32 + IL_0169: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_016e: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0173: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::LeftShift(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0178: ldc.i4.1 + IL_0179: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_017e: dup + IL_017f: ldc.i4.0 + IL_0180: ldloc.0 + IL_0181: stelem.ref + IL_0182: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0187: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_018c: ret + } // end of method ExpressionTrees::ShiftOperators + + .method public hidebysig static void SimpleExpressions() cil managed + { + // Code size 142 (0x8e) + .maxstack 6 + .locals init (class [System.Core]System.Linq.Expressions.ParameterExpression V_0) + IL_0000: ldsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__75_0' + IL_0005: dup + IL_0006: brtrue.s IL_001f + + IL_0008: pop + IL_0009: ldsfld class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c' ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9' + IL_000e: ldftn instance int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'b__75_0'() + IL_0014: newobj instance void class [mscorlib]System.Func`1::.ctor(object, + native int) + IL_0019: dup + IL_001a: stsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__75_0' + IL_001f: ldc.i4.0 + IL_0020: box [mscorlib]System.Int32 + IL_0025: ldtoken [mscorlib]System.Int32 + IL_002a: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_002f: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0034: ldc.i4.0 + IL_0035: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_003a: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_003f: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_0044: ldsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__75_1' + IL_0049: dup + IL_004a: brtrue.s IL_0063 + + IL_004c: pop + IL_004d: ldsfld class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c' ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9' + IL_0052: ldftn instance int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'b__75_1'(int32) + IL_0058: newobj instance void class [mscorlib]System.Func`2::.ctor(object, + native int) + IL_005d: dup + IL_005e: stsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__75_1' + IL_0063: ldtoken [mscorlib]System.Int32 + IL_0068: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_006d: ldstr "a" + IL_0072: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0077: stloc.0 + IL_0078: ldloc.0 + IL_0079: ldc.i4.1 + IL_007a: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_007f: dup + IL_0080: ldc.i4.0 + IL_0081: ldloc.0 + IL_0082: stelem.ref + IL_0083: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0088: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_008d: ret + } // end of method ExpressionTrees::SimpleExpressions + + .method public hidebysig static void Capturing() cil managed + { + // Code size 73 (0x49) + .maxstack 3 + .locals init (class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass76_0' V_0) + IL_0000: newobj instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass76_0'::.ctor() + IL_0005: stloc.0 + IL_0006: ldloc.0 + IL_0007: ldc.i4.5 + IL_0008: stfld int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass76_0'::captured + IL_000d: ldloc.0 + IL_000e: ldftn instance int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass76_0'::'b__0'() + IL_0014: newobj instance void class [mscorlib]System.Func`1::.ctor(object, + native int) + IL_0019: ldloc.0 + IL_001a: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass76_0' + IL_001f: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0024: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0029: ldtoken field int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass76_0'::captured + IL_002e: call class [mscorlib]System.Reflection.FieldInfo [mscorlib]System.Reflection.FieldInfo::GetFieldFromHandle(valuetype [mscorlib]System.RuntimeFieldHandle) + IL_0033: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Field(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.FieldInfo) + IL_0038: ldc.i4.0 + IL_0039: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_003e: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0043: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_0048: ret + } // end of method ExpressionTrees::Capturing + + .method public hidebysig static void FieldAndPropertyAccess() cil managed + { + // Code size 432 (0x1b0) + .maxstack 6 + .locals init (class [System.Core]System.Linq.Expressions.ParameterExpression V_0) + IL_0000: ldnull + IL_0001: ldc.i4.1 + IL_0002: box [mscorlib]System.Int32 + IL_0007: ldtoken [mscorlib]System.Int32 + IL_000c: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0011: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0016: ldc.i4.0 + IL_0017: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_001c: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0021: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0026: pop + IL_0027: ldnull + IL_0028: ldnull + IL_0029: ldtoken field int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.SimpleType::StaticField + IL_002e: call class [mscorlib]System.Reflection.FieldInfo [mscorlib]System.Reflection.FieldInfo::GetFieldFromHandle(valuetype [mscorlib]System.RuntimeFieldHandle) + IL_0033: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Field(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.FieldInfo) + IL_0038: ldc.i4.0 + IL_0039: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_003e: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0043: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0048: pop + IL_0049: ldnull + IL_004a: ldnull + IL_004b: ldtoken field int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.SimpleType::StaticReadonlyField + IL_0050: call class [mscorlib]System.Reflection.FieldInfo [mscorlib]System.Reflection.FieldInfo::GetFieldFromHandle(valuetype [mscorlib]System.RuntimeFieldHandle) + IL_0055: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Field(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.FieldInfo) + IL_005a: ldc.i4.0 + IL_005b: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0060: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0065: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_006a: pop + IL_006b: ldnull + IL_006c: ldnull + IL_006d: ldtoken method int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.SimpleType::get_StaticProperty() + IL_0072: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0077: castclass [mscorlib]System.Reflection.MethodInfo + IL_007c: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Property(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo) + IL_0081: ldc.i4.0 + IL_0082: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0087: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_008c: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0091: pop + IL_0092: ldnull + IL_0093: ldnull + IL_0094: ldtoken method int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.SimpleType::get_StaticReadonlyProperty() + IL_0099: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_009e: castclass [mscorlib]System.Reflection.MethodInfo + IL_00a3: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Property(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo) + IL_00a8: ldc.i4.0 + IL_00a9: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_00ae: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_00b3: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_00b8: pop + IL_00b9: ldnull + IL_00ba: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.SimpleType + IL_00bf: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00c4: ldstr "a" + IL_00c9: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_00ce: stloc.0 + IL_00cf: ldloc.0 + IL_00d0: ldtoken field int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.SimpleType::Field + IL_00d5: call class [mscorlib]System.Reflection.FieldInfo [mscorlib]System.Reflection.FieldInfo::GetFieldFromHandle(valuetype [mscorlib]System.RuntimeFieldHandle) + IL_00da: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Field(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.FieldInfo) + IL_00df: ldc.i4.1 + IL_00e0: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_00e5: dup + IL_00e6: ldc.i4.0 + IL_00e7: ldloc.0 + IL_00e8: stelem.ref + IL_00e9: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_00ee: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_00f3: pop + IL_00f4: ldnull + IL_00f5: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.SimpleType + IL_00fa: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00ff: ldstr "a" + IL_0104: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0109: stloc.0 + IL_010a: ldloc.0 + IL_010b: ldtoken method instance int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.SimpleType::get_Property() + IL_0110: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0115: castclass [mscorlib]System.Reflection.MethodInfo + IL_011a: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Property(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo) + IL_011f: ldc.i4.1 + IL_0120: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0125: dup + IL_0126: ldc.i4.0 + IL_0127: ldloc.0 + IL_0128: stelem.ref + IL_0129: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_012e: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0133: pop + IL_0134: ldnull + IL_0135: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.SimpleType + IL_013a: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_013f: ldstr "a" + IL_0144: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0149: stloc.0 + IL_014a: ldloc.0 + IL_014b: ldtoken field int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.SimpleType::ReadonlyField + IL_0150: call class [mscorlib]System.Reflection.FieldInfo [mscorlib]System.Reflection.FieldInfo::GetFieldFromHandle(valuetype [mscorlib]System.RuntimeFieldHandle) + IL_0155: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Field(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.FieldInfo) + IL_015a: ldc.i4.1 + IL_015b: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0160: dup + IL_0161: ldc.i4.0 + IL_0162: ldloc.0 + IL_0163: stelem.ref + IL_0164: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0169: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_016e: pop + IL_016f: ldnull + IL_0170: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.SimpleType + IL_0175: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_017a: ldstr "a" + IL_017f: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0184: stloc.0 + IL_0185: ldloc.0 + IL_0186: ldtoken method instance int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.SimpleType::get_ReadonlyProperty() + IL_018b: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0190: castclass [mscorlib]System.Reflection.MethodInfo + IL_0195: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Property(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo) + IL_019a: ldc.i4.1 + IL_019b: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_01a0: dup + IL_01a1: ldc.i4.0 + IL_01a2: ldloc.0 + IL_01a3: stelem.ref + IL_01a4: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_01a9: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_01ae: pop + IL_01af: ret + } // end of method ExpressionTrees::FieldAndPropertyAccess + + .method public hidebysig static void Call() cil managed + { + // Code size 522 (0x20a) + .maxstack 8 + .locals init (class [System.Core]System.Linq.Expressions.ParameterExpression V_0) + IL_0000: ldnull + IL_0001: ldtoken [mscorlib]System.String + IL_0006: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_000b: ldstr "a" + IL_0010: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0015: stloc.0 + IL_0016: ldnull + IL_0017: ldtoken method void [mscorlib]System.Console::WriteLine(string) + IL_001c: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0021: castclass [mscorlib]System.Reflection.MethodInfo + IL_0026: ldc.i4.1 + IL_0027: newarr [System.Core]System.Linq.Expressions.Expression + IL_002c: dup + IL_002d: ldc.i4.0 + IL_002e: ldloc.0 + IL_002f: stelem.ref + IL_0030: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_0035: ldc.i4.1 + IL_0036: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_003b: dup + IL_003c: ldc.i4.0 + IL_003d: ldloc.0 + IL_003e: stelem.ref + IL_003f: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0044: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0049: pop + IL_004a: ldsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__78_0' + IL_004f: dup + IL_0050: brtrue.s IL_0069 + + IL_0052: pop + IL_0053: ldsfld class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c' ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9' + IL_0058: ldftn instance string ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'b__78_0'(string) + IL_005e: newobj instance void class [mscorlib]System.Func`2::.ctor(object, + native int) + IL_0063: dup + IL_0064: stsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__78_0' + IL_0069: ldtoken [mscorlib]System.String + IL_006e: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0073: ldstr "a" + IL_0078: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_007d: stloc.0 + IL_007e: ldloc.0 + IL_007f: ldtoken method instance string [mscorlib]System.Object::ToString() + IL_0084: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0089: castclass [mscorlib]System.Reflection.MethodInfo + IL_008e: ldc.i4.0 + IL_008f: newarr [System.Core]System.Linq.Expressions.Expression + IL_0094: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_0099: ldc.i4.1 + IL_009a: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_009f: dup + IL_00a0: ldc.i4.0 + IL_00a1: ldloc.0 + IL_00a2: stelem.ref + IL_00a3: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_00a8: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_00ad: ldsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__78_1' + IL_00b2: dup + IL_00b3: brtrue.s IL_00cc + + IL_00b5: pop + IL_00b6: ldsfld class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c' ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9' + IL_00bb: ldftn instance string ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'b__78_1'(int32) + IL_00c1: newobj instance void class [mscorlib]System.Func`2::.ctor(object, + native int) + IL_00c6: dup + IL_00c7: stsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__78_1' + IL_00cc: ldtoken [mscorlib]System.Int32 + IL_00d1: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00d6: ldstr "a" + IL_00db: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_00e0: stloc.0 + IL_00e1: ldloc.0 + IL_00e2: ldtoken method instance string [mscorlib]System.Int32::ToString() + IL_00e7: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_00ec: castclass [mscorlib]System.Reflection.MethodInfo + IL_00f1: ldc.i4.0 + IL_00f2: newarr [System.Core]System.Linq.Expressions.Expression + IL_00f7: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_00fc: ldc.i4.1 + IL_00fd: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0102: dup + IL_0103: ldc.i4.0 + IL_0104: ldloc.0 + IL_0105: stelem.ref + IL_0106: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_010b: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_0110: ldsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__78_2' + IL_0115: dup + IL_0116: brtrue.s IL_012f + + IL_0118: pop + IL_0119: ldsfld class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c' ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9' + IL_011e: ldftn instance char[] ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'b__78_2'(string) + IL_0124: newobj instance void class [mscorlib]System.Func`2::.ctor(object, + native int) + IL_0129: dup + IL_012a: stsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__78_2' + IL_012f: ldtoken [mscorlib]System.String + IL_0134: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0139: ldstr "a" + IL_013e: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0143: stloc.0 + IL_0144: ldnull + IL_0145: ldtoken method !!0[] [System.Core]System.Linq.Enumerable::ToArray(class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_014a: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_014f: castclass [mscorlib]System.Reflection.MethodInfo + IL_0154: ldc.i4.1 + IL_0155: newarr [System.Core]System.Linq.Expressions.Expression + IL_015a: dup + IL_015b: ldc.i4.0 + IL_015c: ldloc.0 + IL_015d: stelem.ref + IL_015e: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_0163: ldc.i4.1 + IL_0164: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0169: dup + IL_016a: ldc.i4.0 + IL_016b: ldloc.0 + IL_016c: stelem.ref + IL_016d: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0172: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_0177: ldsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__78_3' + IL_017c: dup + IL_017d: brtrue.s IL_0196 + + IL_017f: pop + IL_0180: ldsfld class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c' ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9' + IL_0185: ldftn instance bool ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'b__78_3'() + IL_018b: newobj instance void class [mscorlib]System.Func`1::.ctor(object, + native int) + IL_0190: dup + IL_0191: stsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__78_3' + IL_0196: ldc.i4.s 97 + IL_0198: box [mscorlib]System.Char + IL_019d: ldtoken [mscorlib]System.Char + IL_01a2: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_01a7: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_01ac: ldtoken method instance int32 [mscorlib]System.Char::CompareTo(char) + IL_01b1: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_01b6: castclass [mscorlib]System.Reflection.MethodInfo + IL_01bb: ldc.i4.1 + IL_01bc: newarr [System.Core]System.Linq.Expressions.Expression + IL_01c1: dup + IL_01c2: ldc.i4.0 + IL_01c3: ldc.i4.s 98 + IL_01c5: box [mscorlib]System.Char + IL_01ca: ldtoken [mscorlib]System.Char + IL_01cf: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_01d4: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_01d9: stelem.ref + IL_01da: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_01df: ldc.i4.0 + IL_01e0: box [mscorlib]System.Int32 + IL_01e5: ldtoken [mscorlib]System.Int32 + IL_01ea: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_01ef: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_01f4: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::LessThan(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_01f9: ldc.i4.0 + IL_01fa: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_01ff: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0204: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_0209: ret + } // end of method ExpressionTrees::Call + + .method public hidebysig static void Quote() cil managed + { + // Code size 198 (0xc6) + .maxstack 6 + .locals init (class [System.Core]System.Linq.Expressions.ParameterExpression V_0, + class [System.Core]System.Linq.Expressions.ParameterExpression V_1) + IL_0000: ldsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__79_0' + IL_0005: dup + IL_0006: brtrue.s IL_001f + + IL_0008: pop + IL_0009: ldsfld class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c' ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9' + IL_000e: ldftn instance bool ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'b__79_0'() + IL_0014: newobj instance void class [mscorlib]System.Func`1::.ctor(object, + native int) + IL_0019: dup + IL_001a: stsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__79_0' + IL_001f: ldtoken [mscorlib]System.Int32 + IL_0024: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0029: ldstr "n" + IL_002e: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0033: stloc.0 + IL_0034: ldtoken [mscorlib]System.String + IL_0039: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_003e: ldstr "s" + IL_0043: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0048: stloc.1 + IL_0049: ldloc.1 + IL_004a: ldloc.0 + IL_004b: ldtoken method instance string [mscorlib]System.Int32::ToString() + IL_0050: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0055: castclass [mscorlib]System.Reflection.MethodInfo + IL_005a: ldc.i4.0 + IL_005b: newarr [System.Core]System.Linq.Expressions.Expression + IL_0060: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_0065: ldtoken method string [mscorlib]System.String::Concat(string, + string) + IL_006a: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_006f: castclass [mscorlib]System.Reflection.MethodInfo + IL_0074: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Add(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo) + IL_0079: ldc.i4.2 + IL_007a: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_007f: dup + IL_0080: ldc.i4.0 + IL_0081: ldloc.0 + IL_0082: stelem.ref + IL_0083: dup + IL_0084: ldc.i4.1 + IL_0085: ldloc.1 + IL_0086: stelem.ref + IL_0087: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_008c: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Quote(class [System.Core]System.Linq.Expressions.Expression) + IL_0091: ldtoken class [System.Core]System.Linq.Expressions.Expression`1> + IL_0096: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_009b: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_00a0: ldnull + IL_00a1: ldtoken [mscorlib]System.Object + IL_00a6: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00ab: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_00b0: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::NotEqual(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_00b5: ldc.i4.0 + IL_00b6: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_00bb: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_00c0: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_00c5: ret + } // end of method ExpressionTrees::Quote + + .method public hidebysig static void ArrayInitializer() cil managed + { + // Code size 605 (0x25d) + .maxstack 11 + IL_0000: ldsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__80_0' + IL_0005: dup + IL_0006: brtrue.s IL_001f + + IL_0008: pop + IL_0009: ldsfld class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c' ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9' + IL_000e: ldftn instance int32[] ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'b__80_0'() + IL_0014: newobj instance void class [mscorlib]System.Func`1::.ctor(object, + native int) + IL_0019: dup + IL_001a: stsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__80_0' + IL_001f: ldtoken [mscorlib]System.Int32 + IL_0024: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0029: ldc.i4.3 + IL_002a: newarr [System.Core]System.Linq.Expressions.Expression + IL_002f: dup + IL_0030: ldc.i4.0 + IL_0031: ldc.i4.1 + IL_0032: box [mscorlib]System.Int32 + IL_0037: ldtoken [mscorlib]System.Int32 + IL_003c: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0041: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0046: stelem.ref + IL_0047: dup + IL_0048: ldc.i4.1 + IL_0049: ldc.i4.2 + IL_004a: box [mscorlib]System.Int32 + IL_004f: ldtoken [mscorlib]System.Int32 + IL_0054: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0059: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_005e: stelem.ref + IL_005f: dup + IL_0060: ldc.i4.2 + IL_0061: ldc.i4.3 + IL_0062: box [mscorlib]System.Int32 + IL_0067: ldtoken [mscorlib]System.Int32 + IL_006c: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0071: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0076: stelem.ref + IL_0077: call class [System.Core]System.Linq.Expressions.NewArrayExpression [System.Core]System.Linq.Expressions.Expression::NewArrayInit(class [mscorlib]System.Type, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_007c: ldc.i4.0 + IL_007d: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0082: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0087: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_008c: ldsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__80_1' + IL_0091: dup + IL_0092: brtrue.s IL_00ab + + IL_0094: pop + IL_0095: ldsfld class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c' ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9' + IL_009a: ldftn instance int32[] ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'b__80_1'() + IL_00a0: newobj instance void class [mscorlib]System.Func`1::.ctor(object, + native int) + IL_00a5: dup + IL_00a6: stsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__80_1' + IL_00ab: ldtoken [mscorlib]System.Int32 + IL_00b0: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00b5: ldc.i4.1 + IL_00b6: newarr [System.Core]System.Linq.Expressions.Expression + IL_00bb: dup + IL_00bc: ldc.i4.0 + IL_00bd: ldc.i4.3 + IL_00be: box [mscorlib]System.Int32 + IL_00c3: ldtoken [mscorlib]System.Int32 + IL_00c8: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00cd: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_00d2: stelem.ref + IL_00d3: call class [System.Core]System.Linq.Expressions.NewArrayExpression [System.Core]System.Linq.Expressions.Expression::NewArrayBounds(class [mscorlib]System.Type, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_00d8: ldc.i4.0 + IL_00d9: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_00de: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_00e3: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_00e8: ldsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__80_2' + IL_00ed: dup + IL_00ee: brtrue.s IL_0107 + + IL_00f0: pop + IL_00f1: ldsfld class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c' ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9' + IL_00f6: ldftn instance int32[0...,0...] ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'b__80_2'() + IL_00fc: newobj instance void class [mscorlib]System.Func`1::.ctor(object, + native int) + IL_0101: dup + IL_0102: stsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__80_2' + IL_0107: ldtoken [mscorlib]System.Int32 + IL_010c: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0111: ldc.i4.2 + IL_0112: newarr [System.Core]System.Linq.Expressions.Expression + IL_0117: dup + IL_0118: ldc.i4.0 + IL_0119: ldc.i4.3 + IL_011a: box [mscorlib]System.Int32 + IL_011f: ldtoken [mscorlib]System.Int32 + IL_0124: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0129: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_012e: stelem.ref + IL_012f: dup + IL_0130: ldc.i4.1 + IL_0131: ldc.i4.5 + IL_0132: box [mscorlib]System.Int32 + IL_0137: ldtoken [mscorlib]System.Int32 + IL_013c: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0141: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0146: stelem.ref + IL_0147: call class [System.Core]System.Linq.Expressions.NewArrayExpression [System.Core]System.Linq.Expressions.Expression::NewArrayBounds(class [mscorlib]System.Type, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_014c: ldc.i4.0 + IL_014d: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0152: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0157: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_015c: ldsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__80_3' + IL_0161: dup + IL_0162: brtrue.s IL_017b + + IL_0164: pop + IL_0165: ldsfld class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c' ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9' + IL_016a: ldftn instance int32[][] ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'b__80_3'() + IL_0170: newobj instance void class [mscorlib]System.Func`1::.ctor(object, + native int) + IL_0175: dup + IL_0176: stsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__80_3' + IL_017b: ldtoken int32[] + IL_0180: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0185: ldc.i4.1 + IL_0186: newarr [System.Core]System.Linq.Expressions.Expression + IL_018b: dup + IL_018c: ldc.i4.0 + IL_018d: ldc.i4.3 + IL_018e: box [mscorlib]System.Int32 + IL_0193: ldtoken [mscorlib]System.Int32 + IL_0198: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_019d: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_01a2: stelem.ref + IL_01a3: call class [System.Core]System.Linq.Expressions.NewArrayExpression [System.Core]System.Linq.Expressions.Expression::NewArrayBounds(class [mscorlib]System.Type, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_01a8: ldc.i4.0 + IL_01a9: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_01ae: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_01b3: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_01b8: ldsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__80_4' + IL_01bd: dup + IL_01be: brtrue.s IL_01d7 + + IL_01c0: pop + IL_01c1: ldsfld class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c' ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9' + IL_01c6: ldftn instance int32[][] ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'b__80_4'() + IL_01cc: newobj instance void class [mscorlib]System.Func`1::.ctor(object, + native int) + IL_01d1: dup + IL_01d2: stsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__80_4' + IL_01d7: ldtoken int32[] + IL_01dc: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_01e1: ldc.i4.1 + IL_01e2: newarr [System.Core]System.Linq.Expressions.Expression + IL_01e7: dup + IL_01e8: ldc.i4.0 + IL_01e9: ldtoken [mscorlib]System.Int32 + IL_01ee: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_01f3: ldc.i4.3 + IL_01f4: newarr [System.Core]System.Linq.Expressions.Expression + IL_01f9: dup + IL_01fa: ldc.i4.0 + IL_01fb: ldc.i4.1 + IL_01fc: box [mscorlib]System.Int32 + IL_0201: ldtoken [mscorlib]System.Int32 + IL_0206: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_020b: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0210: stelem.ref + IL_0211: dup + IL_0212: ldc.i4.1 + IL_0213: ldc.i4.2 + IL_0214: box [mscorlib]System.Int32 + IL_0219: ldtoken [mscorlib]System.Int32 + IL_021e: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0223: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0228: stelem.ref + IL_0229: dup + IL_022a: ldc.i4.2 + IL_022b: ldc.i4.3 + IL_022c: box [mscorlib]System.Int32 + IL_0231: ldtoken [mscorlib]System.Int32 + IL_0236: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_023b: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0240: stelem.ref + IL_0241: call class [System.Core]System.Linq.Expressions.NewArrayExpression [System.Core]System.Linq.Expressions.Expression::NewArrayInit(class [mscorlib]System.Type, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_0246: stelem.ref + IL_0247: call class [System.Core]System.Linq.Expressions.NewArrayExpression [System.Core]System.Linq.Expressions.Expression::NewArrayInit(class [mscorlib]System.Type, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_024c: ldc.i4.0 + IL_024d: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0252: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0257: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_025c: ret + } // end of method ExpressionTrees::ArrayInitializer + + .method public hidebysig static void AnonymousTypes() cil managed + { + // Code size 178 (0xb2) + .maxstack 8 + IL_0000: ldsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__81_0' + IL_0005: dup + IL_0006: brtrue.s IL_001f + + IL_0008: pop + IL_0009: ldsfld class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c' ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9' + IL_000e: ldftn instance object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'b__81_0'() + IL_0014: newobj instance void class [mscorlib]System.Func`1::.ctor(object, + native int) + IL_0019: dup + IL_001a: stsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__81_0' + IL_001f: ldtoken method instance void class '<>f__AnonymousType2`2'::.ctor(!0, + !1) + IL_0024: ldtoken class '<>f__AnonymousType2`2' + IL_0029: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle, + valuetype [mscorlib]System.RuntimeTypeHandle) + IL_002e: castclass [mscorlib]System.Reflection.ConstructorInfo + IL_0033: ldc.i4.2 + IL_0034: newarr [System.Core]System.Linq.Expressions.Expression + IL_0039: dup + IL_003a: ldc.i4.0 + IL_003b: ldc.i4.5 + IL_003c: box [mscorlib]System.Int32 + IL_0041: ldtoken [mscorlib]System.Int32 + IL_0046: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_004b: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0050: stelem.ref + IL_0051: dup + IL_0052: ldc.i4.1 + IL_0053: ldstr "Test" + IL_0058: ldtoken [mscorlib]System.String + IL_005d: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0062: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0067: stelem.ref + IL_0068: ldc.i4.2 + IL_0069: newarr [mscorlib]System.Reflection.MemberInfo + IL_006e: dup + IL_006f: ldc.i4.0 + IL_0070: ldtoken method instance !0 class '<>f__AnonymousType2`2'::get_A() + IL_0075: ldtoken class '<>f__AnonymousType2`2' + IL_007a: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle, + valuetype [mscorlib]System.RuntimeTypeHandle) + IL_007f: castclass [mscorlib]System.Reflection.MethodInfo + IL_0084: stelem.ref + IL_0085: dup + IL_0086: ldc.i4.1 + IL_0087: ldtoken method instance !1 class '<>f__AnonymousType2`2'::get_B() + IL_008c: ldtoken class '<>f__AnonymousType2`2' + IL_0091: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle, + valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0096: castclass [mscorlib]System.Reflection.MethodInfo + IL_009b: stelem.ref + IL_009c: call class [System.Core]System.Linq.Expressions.NewExpression [System.Core]System.Linq.Expressions.Expression::New(class [mscorlib]System.Reflection.ConstructorInfo, + class [mscorlib]System.Collections.Generic.IEnumerable`1, + class [mscorlib]System.Reflection.MemberInfo[]) + IL_00a1: ldc.i4.0 + IL_00a2: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_00a7: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_00ac: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_00b1: ret + } // end of method ExpressionTrees::AnonymousTypes + + .method public hidebysig static void ObjectInit() cil managed + { + // Code size 128 (0x80) + .maxstack 8 + IL_0000: ldnull + IL_0001: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.SimpleType + IL_0006: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_000b: call class [System.Core]System.Linq.Expressions.NewExpression [System.Core]System.Linq.Expressions.Expression::New(class [mscorlib]System.Type) + IL_0010: ldc.i4.2 + IL_0011: newarr [System.Core]System.Linq.Expressions.MemberBinding + IL_0016: dup + IL_0017: ldc.i4.0 + IL_0018: ldtoken method instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.SimpleType::set_Property(int32) + IL_001d: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0022: castclass [mscorlib]System.Reflection.MethodInfo + IL_0027: ldc.i4.4 + IL_0028: box [mscorlib]System.Int32 + IL_002d: ldtoken [mscorlib]System.Int32 + IL_0032: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0037: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_003c: call class [System.Core]System.Linq.Expressions.MemberAssignment [System.Core]System.Linq.Expressions.Expression::Bind(class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression) + IL_0041: stelem.ref + IL_0042: dup + IL_0043: ldc.i4.1 + IL_0044: ldtoken field int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.SimpleType::Field + IL_0049: call class [mscorlib]System.Reflection.FieldInfo [mscorlib]System.Reflection.FieldInfo::GetFieldFromHandle(valuetype [mscorlib]System.RuntimeFieldHandle) + IL_004e: ldc.i4.3 + IL_004f: box [mscorlib]System.Int32 + IL_0054: ldtoken [mscorlib]System.Int32 + IL_0059: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_005e: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0063: call class [System.Core]System.Linq.Expressions.MemberAssignment [System.Core]System.Linq.Expressions.Expression::Bind(class [mscorlib]System.Reflection.MemberInfo, + class [System.Core]System.Linq.Expressions.Expression) + IL_0068: stelem.ref + IL_0069: call class [System.Core]System.Linq.Expressions.MemberInitExpression [System.Core]System.Linq.Expressions.Expression::MemberInit(class [System.Core]System.Linq.Expressions.NewExpression, + class [System.Core]System.Linq.Expressions.MemberBinding[]) + IL_006e: ldc.i4.0 + IL_006f: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0074: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0079: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_007e: pop + IL_007f: ret + } // end of method ExpressionTrees::ObjectInit + + .method public hidebysig specialname rtspecialname + instance void .ctor() cil managed + { + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [mscorlib]System.Object::.ctor() + IL_0006: ret + } // end of method ExpressionTrees::.ctor + +} // end of class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees + +.class private auto ansi beforefieldinit ICSharpCode.Decompiler.Tests.TestCases.Pretty.MyClass + extends [mscorlib]System.Object +{ + .method public hidebysig specialname static + class ICSharpCode.Decompiler.Tests.TestCases.Pretty.MyClass + op_Addition(class ICSharpCode.Decompiler.Tests.TestCases.Pretty.MyClass a, + class ICSharpCode.Decompiler.Tests.TestCases.Pretty.MyClass b) cil managed + { + // Code size 6 (0x6) + .maxstack 8 + IL_0000: newobj instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.MyClass::.ctor() + IL_0005: ret + } // end of method MyClass::op_Addition + + .method public hidebysig specialname rtspecialname + instance void .ctor() cil managed + { + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [mscorlib]System.Object::.ctor() + IL_0006: ret + } // end of method MyClass::.ctor + +} // end of class ICSharpCode.Decompiler.Tests.TestCases.Pretty.MyClass + +.class private auto ansi beforefieldinit ICSharpCode.Decompiler.Tests.TestCases.Pretty.SimpleType + extends [mscorlib]System.Object +{ + .field public static literal int32 ConstField = int32(0x00000001) + .field public static initonly int32 StaticReadonlyField + .field public static int32 StaticField + .field public initonly int32 ReadonlyField + .field public int32 Field + .field private static int32 'k__BackingField' + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field private int32 'k__BackingField' + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .method public hidebysig specialname static + int32 get_StaticReadonlyProperty() cil managed + { + // Code size 2 (0x2) + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: ret + } // end of method SimpleType::get_StaticReadonlyProperty + + .method public hidebysig specialname static + int32 get_StaticProperty() cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 6 (0x6) + .maxstack 8 + IL_0000: ldsfld int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.SimpleType::'k__BackingField' + IL_0005: ret + } // end of method SimpleType::get_StaticProperty + + .method public hidebysig specialname static + void set_StaticProperty(int32 'value') cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: stsfld int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.SimpleType::'k__BackingField' + IL_0006: ret + } // end of method SimpleType::set_StaticProperty + + .method public hidebysig specialname instance int32 + get_ReadonlyProperty() cil managed + { + // Code size 2 (0x2) + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: ret + } // end of method SimpleType::get_ReadonlyProperty + + .method public hidebysig specialname instance int32 + get_Property() cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.SimpleType::'k__BackingField' + IL_0006: ret + } // end of method SimpleType::get_Property + + .method public hidebysig specialname instance void + set_Property(int32 'value') cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 8 (0x8) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.SimpleType::'k__BackingField' + IL_0007: ret + } // end of method SimpleType::set_Property + + .method public hidebysig specialname rtspecialname + instance void .ctor() cil managed + { + // Code size 21 (0x15) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldc.i4.2 + IL_0002: stfld int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.SimpleType::ReadonlyField + IL_0007: ldarg.0 + IL_0008: ldc.i4.3 + IL_0009: stfld int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.SimpleType::Field + IL_000e: ldarg.0 + IL_000f: call instance void [mscorlib]System.Object::.ctor() + IL_0014: ret + } // end of method SimpleType::.ctor + + .method private hidebysig specialname rtspecialname static + void .cctor() cil managed + { + // Code size 13 (0xd) + .maxstack 8 + IL_0000: ldc.i4.2 + IL_0001: stsfld int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.SimpleType::StaticReadonlyField + IL_0006: ldc.i4.3 + IL_0007: stsfld int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.SimpleType::StaticField + IL_000c: ret + } // end of method SimpleType::.cctor + + .property int32 StaticReadonlyProperty() + { + .get int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.SimpleType::get_StaticReadonlyProperty() + } // end of property SimpleType::StaticReadonlyProperty + .property int32 StaticProperty() + { + .get int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.SimpleType::get_StaticProperty() + .set void ICSharpCode.Decompiler.Tests.TestCases.Pretty.SimpleType::set_StaticProperty(int32) + } // end of property SimpleType::StaticProperty + .property instance int32 ReadonlyProperty() + { + .get instance int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.SimpleType::get_ReadonlyProperty() + } // end of property SimpleType::ReadonlyProperty + .property instance int32 Property() + { + .get instance int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.SimpleType::get_Property() + .set instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.SimpleType::set_Property(int32) + } // end of property SimpleType::Property +} // end of class ICSharpCode.Decompiler.Tests.TestCases.Pretty.SimpleType + +.class private auto ansi beforefieldinit ICSharpCode.Decompiler.Tests.TestCases.Pretty.SimpleTypeWithCtor + extends [mscorlib]System.Object +{ + .method public hidebysig specialname rtspecialname + instance void .ctor(int32 i) cil managed + { + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [mscorlib]System.Object::.ctor() + IL_0006: ret + } // end of method SimpleTypeWithCtor::.ctor + +} // end of class ICSharpCode.Decompiler.Tests.TestCases.Pretty.SimpleTypeWithCtor + +.class private auto ansi beforefieldinit ICSharpCode.Decompiler.Tests.TestCases.Pretty.SimpleTypeWithMultipleCtors + extends [mscorlib]System.Object +{ + .method public hidebysig specialname rtspecialname + instance void .ctor() cil managed + { + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [mscorlib]System.Object::.ctor() + IL_0006: ret + } // end of method SimpleTypeWithMultipleCtors::.ctor + + .method public hidebysig specialname rtspecialname + instance void .ctor(int32 i) cil managed + { + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [mscorlib]System.Object::.ctor() + IL_0006: ret + } // end of method SimpleTypeWithMultipleCtors::.ctor + +} // end of class ICSharpCode.Decompiler.Tests.TestCases.Pretty.SimpleTypeWithMultipleCtors + +.class private auto ansi beforefieldinit ICSharpCode.Decompiler.Tests.TestCases.Pretty.GenericClassWithCtor`1 + extends [mscorlib]System.Object +{ + .method public hidebysig specialname rtspecialname + instance void .ctor() cil managed + { + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [mscorlib]System.Object::.ctor() + IL_0006: ret + } // end of method GenericClassWithCtor`1::.ctor + +} // end of class ICSharpCode.Decompiler.Tests.TestCases.Pretty.GenericClassWithCtor`1 + +.class private auto ansi beforefieldinit ICSharpCode.Decompiler.Tests.TestCases.Pretty.GenericClassWithMultipleCtors`1 + extends [mscorlib]System.Object +{ + .method public hidebysig specialname rtspecialname + instance void .ctor() cil managed + { + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [mscorlib]System.Object::.ctor() + IL_0006: ret + } // end of method GenericClassWithMultipleCtors`1::.ctor + + .method public hidebysig specialname rtspecialname + instance void .ctor(int32 x) cil managed + { + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [mscorlib]System.Object::.ctor() + IL_0006: ret + } // end of method GenericClassWithMultipleCtors`1::.ctor + +} // end of class ICSharpCode.Decompiler.Tests.TestCases.Pretty.GenericClassWithMultipleCtors`1 + +.class private auto ansi beforefieldinit ICSharpCode.Decompiler.Tests.TestCases.Pretty.GenericClass`1 + extends [mscorlib]System.Object +{ + .method public hidebysig specialname rtspecialname + instance void .ctor() cil managed + { + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [mscorlib]System.Object::.ctor() + IL_0006: ret + } // end of method GenericClass`1::.ctor + +} // end of class ICSharpCode.Decompiler.Tests.TestCases.Pretty.GenericClass`1 + +.class private auto ansi sealed '' + extends [mscorlib]System.Object +{ + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .class explicit ansi sealed nested private '__StaticArrayInitTypeSize=12' + extends [mscorlib]System.ValueType + { + .pack 1 + .size 12 + } // end of class '__StaticArrayInitTypeSize=12' + + .field static assembly initonly valuetype ''/'__StaticArrayInitTypeSize=12' E429CCA3F703A39CC5954A6572FEC9086135B34E at I_0000BD74 +} // end of class '' + + +// ============================================================= + +.data cil I_0000BD74 = bytearray ( + 01 00 00 00 02 00 00 00 03 00 00 00) +// *********** DISASSEMBLY COMPLETE *********************** diff --git a/ICSharpCode.Decompiler.Tests/TestCases/Pretty/ExpressionTrees.roslyn.il b/ICSharpCode.Decompiler.Tests/TestCases/Pretty/ExpressionTrees.roslyn.il new file mode 100644 index 000000000..d31de64dc --- /dev/null +++ b/ICSharpCode.Decompiler.Tests/TestCases/Pretty/ExpressionTrees.roslyn.il @@ -0,0 +1,9946 @@ + +// Microsoft (R) .NET Framework IL Disassembler. Version 4.6.1055.0 +// Copyright (c) Microsoft Corporation. All rights reserved. + + + +// Metadata version: v4.0.30319 +.assembly extern mscorlib +{ + .publickeytoken = (B7 7A 5C 56 19 34 E0 89 ) // .z\V.4.. + .ver 4:0:0:0 +} +.assembly extern System.Core +{ + .publickeytoken = (B7 7A 5C 56 19 34 E0 89 ) // .z\V.4.. + .ver 4:0:0:0 +} +.assembly extern System.Xml +{ + .publickeytoken = (B7 7A 5C 56 19 34 E0 89 ) // .z\V.4.. + .ver 4:0:0:0 +} +.assembly ExpressionTrees +{ + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilationRelaxationsAttribute::.ctor(int32) = ( 01 00 08 00 00 00 00 00 ) + .custom instance void [mscorlib]System.Runtime.CompilerServices.RuntimeCompatibilityAttribute::.ctor() = ( 01 00 01 00 54 02 16 57 72 61 70 4E 6F 6E 45 78 // ....T..WrapNonEx + 63 65 70 74 69 6F 6E 54 68 72 6F 77 73 01 ) // ceptionThrows. + + // --- The following custom attribute is added automatically, do not uncomment ------- + // .custom instance void [mscorlib]System.Diagnostics.DebuggableAttribute::.ctor(valuetype [mscorlib]System.Diagnostics.DebuggableAttribute/DebuggingModes) = ( 01 00 07 01 00 00 00 00 ) + + .permissionset reqmin + = {[mscorlib]System.Security.Permissions.SecurityPermissionAttribute = {property bool 'SkipVerification' = bool(true)}} + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.module ExpressionTrees.dll +// MVID: {6DB33F97-CCA7-4A1C-B8E0-8DA1C4D7C5A0} +.custom instance void [mscorlib]System.Security.UnverifiableCodeAttribute::.ctor() = ( 01 00 00 00 ) +.imagebase 0x10000000 +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 // WINDOWS_CUI +.corflags 0x00000001 // ILONLY +// Image base: 0x02EE0000 + + +// =============== CLASS MEMBERS DECLARATION =================== + +.class private auto ansi sealed beforefieldinit '<>f__AnonymousType0`2'<'j__TPar','j__TPar'> + extends [mscorlib]System.Object +{ + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Diagnostics.DebuggerDisplayAttribute::.ctor(string) = ( 01 00 15 5C 7B 20 58 20 3D 20 7B 58 7D 2C 20 41 // ...\{ X = {X}, A + 20 3D 20 7B 41 7D 20 7D 01 00 54 0E 04 54 79 70 // = {A} }..T..Typ + 65 10 3C 41 6E 6F 6E 79 6D 6F 75 73 20 54 79 70 // e. + .field private initonly !'j__TPar' 'i__Field' + .custom instance void [mscorlib]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [mscorlib]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field private initonly !'j__TPar' 'i__Field' + .custom instance void [mscorlib]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [mscorlib]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .method public hidebysig specialname instance !'j__TPar' + get_X() cil managed + { + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld !0 class '<>f__AnonymousType0`2'j__TPar',!'j__TPar'>::'i__Field' + IL_0006: ret + } // end of method '<>f__AnonymousType0`2'::get_X + + .method public hidebysig specialname instance !'j__TPar' + get_A() cil managed + { + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld !1 class '<>f__AnonymousType0`2'j__TPar',!'j__TPar'>::'i__Field' + IL_0006: ret + } // end of method '<>f__AnonymousType0`2'::get_A + + .method public hidebysig specialname rtspecialname + instance void .ctor(!'j__TPar' X, + !'j__TPar' A) cil managed + { + .custom instance void [mscorlib]System.Diagnostics.DebuggerHiddenAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 21 (0x15) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [mscorlib]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld !0 class '<>f__AnonymousType0`2'j__TPar',!'j__TPar'>::'i__Field' + IL_000d: ldarg.0 + IL_000e: ldarg.2 + IL_000f: stfld !1 class '<>f__AnonymousType0`2'j__TPar',!'j__TPar'>::'i__Field' + IL_0014: ret + } // end of method '<>f__AnonymousType0`2'::.ctor + + .method public hidebysig virtual instance bool + Equals(object 'value') cil managed + { + .custom instance void [mscorlib]System.Diagnostics.DebuggerHiddenAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 60 (0x3c) + .maxstack 3 + .locals init (class '<>f__AnonymousType0`2'j__TPar',!'j__TPar'> V_0) + IL_0000: ldarg.1 + IL_0001: isinst class '<>f__AnonymousType0`2'j__TPar',!'j__TPar'> + IL_0006: stloc.0 + IL_0007: ldloc.0 + IL_0008: brfalse.s IL_003a + + IL_000a: call class [mscorlib]System.Collections.Generic.EqualityComparer`1 class [mscorlib]System.Collections.Generic.EqualityComparer`1j__TPar'>::get_Default() + IL_000f: ldarg.0 + IL_0010: ldfld !0 class '<>f__AnonymousType0`2'j__TPar',!'j__TPar'>::'i__Field' + IL_0015: ldloc.0 + IL_0016: ldfld !0 class '<>f__AnonymousType0`2'j__TPar',!'j__TPar'>::'i__Field' + IL_001b: callvirt instance bool class [mscorlib]System.Collections.Generic.EqualityComparer`1j__TPar'>::Equals(!0, + !0) + IL_0020: brfalse.s IL_003a + + IL_0022: call class [mscorlib]System.Collections.Generic.EqualityComparer`1 class [mscorlib]System.Collections.Generic.EqualityComparer`1j__TPar'>::get_Default() + IL_0027: ldarg.0 + IL_0028: ldfld !1 class '<>f__AnonymousType0`2'j__TPar',!'j__TPar'>::'i__Field' + IL_002d: ldloc.0 + IL_002e: ldfld !1 class '<>f__AnonymousType0`2'j__TPar',!'j__TPar'>::'i__Field' + IL_0033: callvirt instance bool class [mscorlib]System.Collections.Generic.EqualityComparer`1j__TPar'>::Equals(!0, + !0) + IL_0038: br.s IL_003b + + IL_003a: ldc.i4.0 + IL_003b: ret + } // end of method '<>f__AnonymousType0`2'::Equals + + .method public hidebysig virtual instance int32 + GetHashCode() cil managed + { + .custom instance void [mscorlib]System.Diagnostics.DebuggerHiddenAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 52 (0x34) + .maxstack 8 + IL_0000: ldc.i4 0x8fa3881e + IL_0005: ldc.i4 0xa5555529 + IL_000a: mul + IL_000b: call class [mscorlib]System.Collections.Generic.EqualityComparer`1 class [mscorlib]System.Collections.Generic.EqualityComparer`1j__TPar'>::get_Default() + IL_0010: ldarg.0 + IL_0011: ldfld !0 class '<>f__AnonymousType0`2'j__TPar',!'j__TPar'>::'i__Field' + IL_0016: callvirt instance int32 class [mscorlib]System.Collections.Generic.EqualityComparer`1j__TPar'>::GetHashCode(!0) + IL_001b: add + IL_001c: ldc.i4 0xa5555529 + IL_0021: mul + IL_0022: call class [mscorlib]System.Collections.Generic.EqualityComparer`1 class [mscorlib]System.Collections.Generic.EqualityComparer`1j__TPar'>::get_Default() + IL_0027: ldarg.0 + IL_0028: ldfld !1 class '<>f__AnonymousType0`2'j__TPar',!'j__TPar'>::'i__Field' + IL_002d: callvirt instance int32 class [mscorlib]System.Collections.Generic.EqualityComparer`1j__TPar'>::GetHashCode(!0) + IL_0032: add + IL_0033: ret + } // end of method '<>f__AnonymousType0`2'::GetHashCode + + .method public hidebysig virtual instance string + ToString() cil managed + { + .custom instance void [mscorlib]System.Diagnostics.DebuggerHiddenAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 136 (0x88) + .maxstack 7 + .locals init (!'j__TPar' V_0, + !'j__TPar' V_1, + !'j__TPar' V_2, + !'j__TPar' V_3) + IL_0000: ldnull + IL_0001: ldstr "{{ X = {0}, A = {1} }}" + IL_0006: ldc.i4.2 + IL_0007: newarr [mscorlib]System.Object + IL_000c: dup + IL_000d: ldc.i4.0 + IL_000e: ldarg.0 + IL_000f: ldfld !0 class '<>f__AnonymousType0`2'j__TPar',!'j__TPar'>::'i__Field' + IL_0014: stloc.0 + IL_0015: ldloca.s V_0 + IL_0017: ldloca.s V_1 + IL_0019: initobj !'j__TPar' + IL_001f: ldloc.1 + IL_0020: box !'j__TPar' + IL_0025: brtrue.s IL_003b + + IL_0027: ldobj !'j__TPar' + IL_002c: stloc.1 + IL_002d: ldloca.s V_1 + IL_002f: ldloc.1 + IL_0030: box !'j__TPar' + IL_0035: brtrue.s IL_003b + + IL_0037: pop + IL_0038: ldnull + IL_0039: br.s IL_0046 + + IL_003b: constrained. !'j__TPar' + IL_0041: callvirt instance string [mscorlib]System.Object::ToString() + IL_0046: stelem.ref + IL_0047: dup + IL_0048: ldc.i4.1 + IL_0049: ldarg.0 + IL_004a: ldfld !1 class '<>f__AnonymousType0`2'j__TPar',!'j__TPar'>::'i__Field' + IL_004f: stloc.2 + IL_0050: ldloca.s V_2 + IL_0052: ldloca.s V_3 + IL_0054: initobj !'j__TPar' + IL_005a: ldloc.3 + IL_005b: box !'j__TPar' + IL_0060: brtrue.s IL_0076 + + IL_0062: ldobj !'j__TPar' + IL_0067: stloc.3 + IL_0068: ldloca.s V_3 + IL_006a: ldloc.3 + IL_006b: box !'j__TPar' + IL_0070: brtrue.s IL_0076 + + IL_0072: pop + IL_0073: ldnull + IL_0074: br.s IL_0081 + + IL_0076: constrained. !'j__TPar' + IL_007c: callvirt instance string [mscorlib]System.Object::ToString() + IL_0081: stelem.ref + IL_0082: call string [mscorlib]System.String::Format(class [mscorlib]System.IFormatProvider, + string, + object[]) + IL_0087: ret + } // end of method '<>f__AnonymousType0`2'::ToString + + .property instance !'j__TPar' X() + { + .get instance !'j__TPar' '<>f__AnonymousType0`2'::get_X() + } // end of property '<>f__AnonymousType0`2'::X + .property instance !'j__TPar' A() + { + .get instance !'j__TPar' '<>f__AnonymousType0`2'::get_A() + } // end of property '<>f__AnonymousType0`2'::A +} // end of class '<>f__AnonymousType0`2' + +.class private auto ansi sealed beforefieldinit '<>f__AnonymousType1`2'<'j__TPar','j__TPar'> + extends [mscorlib]System.Object +{ + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Diagnostics.DebuggerDisplayAttribute::.ctor(string) = ( 01 00 15 5C 7B 20 58 20 3D 20 7B 58 7D 2C 20 59 // ...\{ X = {X}, Y + 20 3D 20 7B 59 7D 20 7D 01 00 54 0E 04 54 79 70 // = {Y} }..T..Typ + 65 10 3C 41 6E 6F 6E 79 6D 6F 75 73 20 54 79 70 // e. + .field private initonly !'j__TPar' 'i__Field' + .custom instance void [mscorlib]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [mscorlib]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field private initonly !'j__TPar' 'i__Field' + .custom instance void [mscorlib]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [mscorlib]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .method public hidebysig specialname instance !'j__TPar' + get_X() cil managed + { + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld !0 class '<>f__AnonymousType1`2'j__TPar',!'j__TPar'>::'i__Field' + IL_0006: ret + } // end of method '<>f__AnonymousType1`2'::get_X + + .method public hidebysig specialname instance !'j__TPar' + get_Y() cil managed + { + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld !1 class '<>f__AnonymousType1`2'j__TPar',!'j__TPar'>::'i__Field' + IL_0006: ret + } // end of method '<>f__AnonymousType1`2'::get_Y + + .method public hidebysig specialname rtspecialname + instance void .ctor(!'j__TPar' X, + !'j__TPar' Y) cil managed + { + .custom instance void [mscorlib]System.Diagnostics.DebuggerHiddenAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 21 (0x15) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [mscorlib]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld !0 class '<>f__AnonymousType1`2'j__TPar',!'j__TPar'>::'i__Field' + IL_000d: ldarg.0 + IL_000e: ldarg.2 + IL_000f: stfld !1 class '<>f__AnonymousType1`2'j__TPar',!'j__TPar'>::'i__Field' + IL_0014: ret + } // end of method '<>f__AnonymousType1`2'::.ctor + + .method public hidebysig virtual instance bool + Equals(object 'value') cil managed + { + .custom instance void [mscorlib]System.Diagnostics.DebuggerHiddenAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 60 (0x3c) + .maxstack 3 + .locals init (class '<>f__AnonymousType1`2'j__TPar',!'j__TPar'> V_0) + IL_0000: ldarg.1 + IL_0001: isinst class '<>f__AnonymousType1`2'j__TPar',!'j__TPar'> + IL_0006: stloc.0 + IL_0007: ldloc.0 + IL_0008: brfalse.s IL_003a + + IL_000a: call class [mscorlib]System.Collections.Generic.EqualityComparer`1 class [mscorlib]System.Collections.Generic.EqualityComparer`1j__TPar'>::get_Default() + IL_000f: ldarg.0 + IL_0010: ldfld !0 class '<>f__AnonymousType1`2'j__TPar',!'j__TPar'>::'i__Field' + IL_0015: ldloc.0 + IL_0016: ldfld !0 class '<>f__AnonymousType1`2'j__TPar',!'j__TPar'>::'i__Field' + IL_001b: callvirt instance bool class [mscorlib]System.Collections.Generic.EqualityComparer`1j__TPar'>::Equals(!0, + !0) + IL_0020: brfalse.s IL_003a + + IL_0022: call class [mscorlib]System.Collections.Generic.EqualityComparer`1 class [mscorlib]System.Collections.Generic.EqualityComparer`1j__TPar'>::get_Default() + IL_0027: ldarg.0 + IL_0028: ldfld !1 class '<>f__AnonymousType1`2'j__TPar',!'j__TPar'>::'i__Field' + IL_002d: ldloc.0 + IL_002e: ldfld !1 class '<>f__AnonymousType1`2'j__TPar',!'j__TPar'>::'i__Field' + IL_0033: callvirt instance bool class [mscorlib]System.Collections.Generic.EqualityComparer`1j__TPar'>::Equals(!0, + !0) + IL_0038: br.s IL_003b + + IL_003a: ldc.i4.0 + IL_003b: ret + } // end of method '<>f__AnonymousType1`2'::Equals + + .method public hidebysig virtual instance int32 + GetHashCode() cil managed + { + .custom instance void [mscorlib]System.Diagnostics.DebuggerHiddenAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 52 (0x34) + .maxstack 8 + IL_0000: ldc.i4 0xe71b881e + IL_0005: ldc.i4 0xa5555529 + IL_000a: mul + IL_000b: call class [mscorlib]System.Collections.Generic.EqualityComparer`1 class [mscorlib]System.Collections.Generic.EqualityComparer`1j__TPar'>::get_Default() + IL_0010: ldarg.0 + IL_0011: ldfld !0 class '<>f__AnonymousType1`2'j__TPar',!'j__TPar'>::'i__Field' + IL_0016: callvirt instance int32 class [mscorlib]System.Collections.Generic.EqualityComparer`1j__TPar'>::GetHashCode(!0) + IL_001b: add + IL_001c: ldc.i4 0xa5555529 + IL_0021: mul + IL_0022: call class [mscorlib]System.Collections.Generic.EqualityComparer`1 class [mscorlib]System.Collections.Generic.EqualityComparer`1j__TPar'>::get_Default() + IL_0027: ldarg.0 + IL_0028: ldfld !1 class '<>f__AnonymousType1`2'j__TPar',!'j__TPar'>::'i__Field' + IL_002d: callvirt instance int32 class [mscorlib]System.Collections.Generic.EqualityComparer`1j__TPar'>::GetHashCode(!0) + IL_0032: add + IL_0033: ret + } // end of method '<>f__AnonymousType1`2'::GetHashCode + + .method public hidebysig virtual instance string + ToString() cil managed + { + .custom instance void [mscorlib]System.Diagnostics.DebuggerHiddenAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 136 (0x88) + .maxstack 7 + .locals init (!'j__TPar' V_0, + !'j__TPar' V_1, + !'j__TPar' V_2, + !'j__TPar' V_3) + IL_0000: ldnull + IL_0001: ldstr "{{ X = {0}, Y = {1} }}" + IL_0006: ldc.i4.2 + IL_0007: newarr [mscorlib]System.Object + IL_000c: dup + IL_000d: ldc.i4.0 + IL_000e: ldarg.0 + IL_000f: ldfld !0 class '<>f__AnonymousType1`2'j__TPar',!'j__TPar'>::'i__Field' + IL_0014: stloc.0 + IL_0015: ldloca.s V_0 + IL_0017: ldloca.s V_1 + IL_0019: initobj !'j__TPar' + IL_001f: ldloc.1 + IL_0020: box !'j__TPar' + IL_0025: brtrue.s IL_003b + + IL_0027: ldobj !'j__TPar' + IL_002c: stloc.1 + IL_002d: ldloca.s V_1 + IL_002f: ldloc.1 + IL_0030: box !'j__TPar' + IL_0035: brtrue.s IL_003b + + IL_0037: pop + IL_0038: ldnull + IL_0039: br.s IL_0046 + + IL_003b: constrained. !'j__TPar' + IL_0041: callvirt instance string [mscorlib]System.Object::ToString() + IL_0046: stelem.ref + IL_0047: dup + IL_0048: ldc.i4.1 + IL_0049: ldarg.0 + IL_004a: ldfld !1 class '<>f__AnonymousType1`2'j__TPar',!'j__TPar'>::'i__Field' + IL_004f: stloc.2 + IL_0050: ldloca.s V_2 + IL_0052: ldloca.s V_3 + IL_0054: initobj !'j__TPar' + IL_005a: ldloc.3 + IL_005b: box !'j__TPar' + IL_0060: brtrue.s IL_0076 + + IL_0062: ldobj !'j__TPar' + IL_0067: stloc.3 + IL_0068: ldloca.s V_3 + IL_006a: ldloc.3 + IL_006b: box !'j__TPar' + IL_0070: brtrue.s IL_0076 + + IL_0072: pop + IL_0073: ldnull + IL_0074: br.s IL_0081 + + IL_0076: constrained. !'j__TPar' + IL_007c: callvirt instance string [mscorlib]System.Object::ToString() + IL_0081: stelem.ref + IL_0082: call string [mscorlib]System.String::Format(class [mscorlib]System.IFormatProvider, + string, + object[]) + IL_0087: ret + } // end of method '<>f__AnonymousType1`2'::ToString + + .property instance !'j__TPar' X() + { + .get instance !'j__TPar' '<>f__AnonymousType1`2'::get_X() + } // end of property '<>f__AnonymousType1`2'::X + .property instance !'j__TPar' Y() + { + .get instance !'j__TPar' '<>f__AnonymousType1`2'::get_Y() + } // end of property '<>f__AnonymousType1`2'::Y +} // end of class '<>f__AnonymousType1`2' + +.class private auto ansi sealed beforefieldinit '<>f__AnonymousType2`2'<'j__TPar','j__TPar'> + extends [mscorlib]System.Object +{ + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Diagnostics.DebuggerDisplayAttribute::.ctor(string) = ( 01 00 15 5C 7B 20 41 20 3D 20 7B 41 7D 2C 20 42 // ...\{ A = {A}, B + 20 3D 20 7B 42 7D 20 7D 01 00 54 0E 04 54 79 70 // = {B} }..T..Typ + 65 10 3C 41 6E 6F 6E 79 6D 6F 75 73 20 54 79 70 // e. + .field private initonly !'j__TPar' 'i__Field' + .custom instance void [mscorlib]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [mscorlib]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field private initonly !'j__TPar' 'i__Field' + .custom instance void [mscorlib]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [mscorlib]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .method public hidebysig specialname instance !'j__TPar' + get_A() cil managed + { + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld !0 class '<>f__AnonymousType2`2'j__TPar',!'j__TPar'>::'i__Field' + IL_0006: ret + } // end of method '<>f__AnonymousType2`2'::get_A + + .method public hidebysig specialname instance !'j__TPar' + get_B() cil managed + { + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld !1 class '<>f__AnonymousType2`2'j__TPar',!'j__TPar'>::'i__Field' + IL_0006: ret + } // end of method '<>f__AnonymousType2`2'::get_B + + .method public hidebysig specialname rtspecialname + instance void .ctor(!'j__TPar' A, + !'j__TPar' B) cil managed + { + .custom instance void [mscorlib]System.Diagnostics.DebuggerHiddenAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 21 (0x15) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [mscorlib]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld !0 class '<>f__AnonymousType2`2'j__TPar',!'j__TPar'>::'i__Field' + IL_000d: ldarg.0 + IL_000e: ldarg.2 + IL_000f: stfld !1 class '<>f__AnonymousType2`2'j__TPar',!'j__TPar'>::'i__Field' + IL_0014: ret + } // end of method '<>f__AnonymousType2`2'::.ctor + + .method public hidebysig virtual instance bool + Equals(object 'value') cil managed + { + .custom instance void [mscorlib]System.Diagnostics.DebuggerHiddenAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 60 (0x3c) + .maxstack 3 + .locals init (class '<>f__AnonymousType2`2'j__TPar',!'j__TPar'> V_0) + IL_0000: ldarg.1 + IL_0001: isinst class '<>f__AnonymousType2`2'j__TPar',!'j__TPar'> + IL_0006: stloc.0 + IL_0007: ldloc.0 + IL_0008: brfalse.s IL_003a + + IL_000a: call class [mscorlib]System.Collections.Generic.EqualityComparer`1 class [mscorlib]System.Collections.Generic.EqualityComparer`1j__TPar'>::get_Default() + IL_000f: ldarg.0 + IL_0010: ldfld !0 class '<>f__AnonymousType2`2'j__TPar',!'j__TPar'>::'i__Field' + IL_0015: ldloc.0 + IL_0016: ldfld !0 class '<>f__AnonymousType2`2'j__TPar',!'j__TPar'>::'i__Field' + IL_001b: callvirt instance bool class [mscorlib]System.Collections.Generic.EqualityComparer`1j__TPar'>::Equals(!0, + !0) + IL_0020: brfalse.s IL_003a + + IL_0022: call class [mscorlib]System.Collections.Generic.EqualityComparer`1 class [mscorlib]System.Collections.Generic.EqualityComparer`1j__TPar'>::get_Default() + IL_0027: ldarg.0 + IL_0028: ldfld !1 class '<>f__AnonymousType2`2'j__TPar',!'j__TPar'>::'i__Field' + IL_002d: ldloc.0 + IL_002e: ldfld !1 class '<>f__AnonymousType2`2'j__TPar',!'j__TPar'>::'i__Field' + IL_0033: callvirt instance bool class [mscorlib]System.Collections.Generic.EqualityComparer`1j__TPar'>::Equals(!0, + !0) + IL_0038: br.s IL_003b + + IL_003a: ldc.i4.0 + IL_003b: ret + } // end of method '<>f__AnonymousType2`2'::Equals + + .method public hidebysig virtual instance int32 + GetHashCode() cil managed + { + .custom instance void [mscorlib]System.Diagnostics.DebuggerHiddenAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 52 (0x34) + .maxstack 8 + IL_0000: ldc.i4 0x62ad881e + IL_0005: ldc.i4 0xa5555529 + IL_000a: mul + IL_000b: call class [mscorlib]System.Collections.Generic.EqualityComparer`1 class [mscorlib]System.Collections.Generic.EqualityComparer`1j__TPar'>::get_Default() + IL_0010: ldarg.0 + IL_0011: ldfld !0 class '<>f__AnonymousType2`2'j__TPar',!'j__TPar'>::'i__Field' + IL_0016: callvirt instance int32 class [mscorlib]System.Collections.Generic.EqualityComparer`1j__TPar'>::GetHashCode(!0) + IL_001b: add + IL_001c: ldc.i4 0xa5555529 + IL_0021: mul + IL_0022: call class [mscorlib]System.Collections.Generic.EqualityComparer`1 class [mscorlib]System.Collections.Generic.EqualityComparer`1j__TPar'>::get_Default() + IL_0027: ldarg.0 + IL_0028: ldfld !1 class '<>f__AnonymousType2`2'j__TPar',!'j__TPar'>::'i__Field' + IL_002d: callvirt instance int32 class [mscorlib]System.Collections.Generic.EqualityComparer`1j__TPar'>::GetHashCode(!0) + IL_0032: add + IL_0033: ret + } // end of method '<>f__AnonymousType2`2'::GetHashCode + + .method public hidebysig virtual instance string + ToString() cil managed + { + .custom instance void [mscorlib]System.Diagnostics.DebuggerHiddenAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 136 (0x88) + .maxstack 7 + .locals init (!'j__TPar' V_0, + !'j__TPar' V_1, + !'j__TPar' V_2, + !'j__TPar' V_3) + IL_0000: ldnull + IL_0001: ldstr "{{ A = {0}, B = {1} }}" + IL_0006: ldc.i4.2 + IL_0007: newarr [mscorlib]System.Object + IL_000c: dup + IL_000d: ldc.i4.0 + IL_000e: ldarg.0 + IL_000f: ldfld !0 class '<>f__AnonymousType2`2'j__TPar',!'j__TPar'>::'i__Field' + IL_0014: stloc.0 + IL_0015: ldloca.s V_0 + IL_0017: ldloca.s V_1 + IL_0019: initobj !'j__TPar' + IL_001f: ldloc.1 + IL_0020: box !'j__TPar' + IL_0025: brtrue.s IL_003b + + IL_0027: ldobj !'j__TPar' + IL_002c: stloc.1 + IL_002d: ldloca.s V_1 + IL_002f: ldloc.1 + IL_0030: box !'j__TPar' + IL_0035: brtrue.s IL_003b + + IL_0037: pop + IL_0038: ldnull + IL_0039: br.s IL_0046 + + IL_003b: constrained. !'j__TPar' + IL_0041: callvirt instance string [mscorlib]System.Object::ToString() + IL_0046: stelem.ref + IL_0047: dup + IL_0048: ldc.i4.1 + IL_0049: ldarg.0 + IL_004a: ldfld !1 class '<>f__AnonymousType2`2'j__TPar',!'j__TPar'>::'i__Field' + IL_004f: stloc.2 + IL_0050: ldloca.s V_2 + IL_0052: ldloca.s V_3 + IL_0054: initobj !'j__TPar' + IL_005a: ldloc.3 + IL_005b: box !'j__TPar' + IL_0060: brtrue.s IL_0076 + + IL_0062: ldobj !'j__TPar' + IL_0067: stloc.3 + IL_0068: ldloca.s V_3 + IL_006a: ldloc.3 + IL_006b: box !'j__TPar' + IL_0070: brtrue.s IL_0076 + + IL_0072: pop + IL_0073: ldnull + IL_0074: br.s IL_0081 + + IL_0076: constrained. !'j__TPar' + IL_007c: callvirt instance string [mscorlib]System.Object::ToString() + IL_0081: stelem.ref + IL_0082: call string [mscorlib]System.String::Format(class [mscorlib]System.IFormatProvider, + string, + object[]) + IL_0087: ret + } // end of method '<>f__AnonymousType2`2'::ToString + + .property instance !'j__TPar' A() + { + .get instance !'j__TPar' '<>f__AnonymousType2`2'::get_A() + } // end of property '<>f__AnonymousType2`2'::A + .property instance !'j__TPar' B() + { + .get instance !'j__TPar' '<>f__AnonymousType2`2'::get_B() + } // end of property '<>f__AnonymousType2`2'::B +} // end of class '<>f__AnonymousType2`2' + +.class public auto ansi beforefieldinit ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees + extends [mscorlib]System.Object +{ + .class auto ansi nested private beforefieldinit GenericClass`1 + extends [mscorlib]System.Object + { + .field public static !X StaticField + .field public !X InstanceField + .field private static !X 'k__BackingField' + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [mscorlib]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field private !X 'k__BackingField' + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [mscorlib]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .method public hidebysig specialname static + !X get_StaticProperty() cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 6 (0x6) + .maxstack 8 + IL_0000: ldsfld !0 class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/GenericClass`1::'k__BackingField' + IL_0005: ret + } // end of method GenericClass`1::get_StaticProperty + + .method public hidebysig specialname static + void set_StaticProperty(!X 'value') cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: stsfld !0 class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/GenericClass`1::'k__BackingField' + IL_0006: ret + } // end of method GenericClass`1::set_StaticProperty + + .method public hidebysig specialname + instance !X get_InstanceProperty() cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld !0 class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/GenericClass`1::'k__BackingField' + IL_0006: ret + } // end of method GenericClass`1::get_InstanceProperty + + .method public hidebysig specialname + instance void set_InstanceProperty(!X 'value') cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 8 (0x8) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld !0 class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/GenericClass`1::'k__BackingField' + IL_0007: ret + } // end of method GenericClass`1::set_InstanceProperty + + .method public hidebysig static bool + GenericMethod() 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 GenericClass`1::GenericMethod + + .method public hidebysig specialname rtspecialname + instance void .ctor() cil managed + { + // Code size 8 (0x8) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [mscorlib]System.Object::.ctor() + IL_0006: nop + IL_0007: ret + } // end of method GenericClass`1::.ctor + + .property !X StaticProperty() + { + .get !X ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/GenericClass`1::get_StaticProperty() + .set void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/GenericClass`1::set_StaticProperty(!X) + } // end of property GenericClass`1::StaticProperty + .property instance !X InstanceProperty() + { + .get instance !X ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/GenericClass`1::get_InstanceProperty() + .set instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/GenericClass`1::set_InstanceProperty(!X) + } // end of property GenericClass`1::InstanceProperty + } // end of class GenericClass`1 + + .class auto ansi sealed nested private beforefieldinit '<>c__DisplayClass7_0' + extends [mscorlib]System.Object + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field public bool a + .method public hidebysig specialname rtspecialname + instance void .ctor() cil managed + { + // Code size 8 (0x8) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [mscorlib]System.Object::.ctor() + IL_0006: nop + IL_0007: ret + } // end of method '<>c__DisplayClass7_0'::.ctor + + } // end of class '<>c__DisplayClass7_0' + + .class auto ansi sealed nested private beforefieldinit '<>c__DisplayClass8_0' + extends [mscorlib]System.Object + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field public bool a + .method public hidebysig specialname rtspecialname + instance void .ctor() cil managed + { + // Code size 8 (0x8) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [mscorlib]System.Object::.ctor() + IL_0006: nop + IL_0007: ret + } // end of method '<>c__DisplayClass8_0'::.ctor + + } // end of class '<>c__DisplayClass8_0' + + .class auto ansi sealed nested private beforefieldinit '<>c__DisplayClass10_0' + extends [mscorlib]System.Object + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 x + .method public hidebysig specialname rtspecialname + instance void .ctor() cil managed + { + // Code size 8 (0x8) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [mscorlib]System.Object::.ctor() + IL_0006: nop + IL_0007: ret + } // end of method '<>c__DisplayClass10_0'::.ctor + + } // end of class '<>c__DisplayClass10_0' + + .class auto ansi sealed nested private beforefieldinit '<>c__DisplayClass18_0' + extends [mscorlib]System.Object + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field public class [mscorlib]System.Collections.Generic.Dictionary`2 dict + .method public hidebysig specialname rtspecialname + instance void .ctor() cil managed + { + // Code size 8 (0x8) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [mscorlib]System.Object::.ctor() + IL_0006: nop + IL_0007: ret + } // end of method '<>c__DisplayClass18_0'::.ctor + + } // end of class '<>c__DisplayClass18_0' + + .class auto ansi serializable sealed nested private beforefieldinit '<>c' + extends [mscorlib]System.Object + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field public static initonly class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c' '<>9' + .field public static class [mscorlib]System.Func`2 '<>9__18_0' + .field public static class [mscorlib]System.Func`2,bool> '<>9__33_0' + .field public static class [mscorlib]System.Func`2,int32> '<>9__36_0' + .field public static class [mscorlib]System.Func`2 '<>9__62_0' + .field public static class [mscorlib]System.Func`3 '<>9__62_1' + .field public static class [mscorlib]System.Func`2 '<>9__62_2' + .field public static class [mscorlib]System.Func`3 '<>9__62_3' + .field public static class [mscorlib]System.Func`3 '<>9__62_4' + .field public static class [mscorlib]System.Func`2 '<>9__63_0' + .field public static class [mscorlib]System.Func`1 '<>9__63_1' + .field public static class [mscorlib]System.Func`1 '<>9__64_0' + .field public static class [mscorlib]System.Func`1 '<>9__64_1' + .field public static class [mscorlib]System.Func`1 '<>9__64_2' + .field public static class [mscorlib]System.Func`1 '<>9__64_3' + .field public static class [mscorlib]System.Func`1 '<>9__64_4' + .field public static class [mscorlib]System.Func`1 '<>9__64_5' + .field public static class [mscorlib]System.Func`1 '<>9__64_6' + .field public static class [mscorlib]System.Func`1 '<>9__65_0' + .field public static class [mscorlib]System.Func`1 '<>9__65_1' + .field public static class [mscorlib]System.Func`1 '<>9__65_2' + .field public static class [mscorlib]System.Func`1 '<>9__65_3' + .field public static class [mscorlib]System.Func`1 '<>9__65_4' + .field public static class [mscorlib]System.Func`2 '<>9__66_0' + .field public static class [mscorlib]System.Func`2> '<>9__66_1' + .field public static class [mscorlib]System.Func`2 '<>9__67_0' + .field public static class [mscorlib]System.Func`2 '<>9__68_0' + .field public static class [mscorlib]System.Func`2 '<>9__71_0' + .field public static class [mscorlib]System.Func`2 '<>9__71_1' + .field public static class [mscorlib]System.Func`3 '<>9__72_0' + .field public static class [mscorlib]System.Func`3 '<>9__72_1' + .field public static class [mscorlib]System.Func`3 '<>9__72_2' + .field public static class [mscorlib]System.Func`3 '<>9__72_3' + .field public static class [mscorlib]System.Func`3 '<>9__72_4' + .field public static class [mscorlib]System.Func`3 '<>9__72_5' + .field public static class [mscorlib]System.Func`3 '<>9__72_6' + .field public static class [mscorlib]System.Func`3 '<>9__72_7' + .field public static class [mscorlib]System.Func`3 '<>9__72_8' + .field public static class [mscorlib]System.Func`3 '<>9__72_9' + .field public static class [mscorlib]System.Func`3 '<>9__72_10' + .field public static class [mscorlib]System.Func`3 '<>9__72_11' + .field public static class [mscorlib]System.Func`3 '<>9__72_12' + .field public static class [mscorlib]System.Func`3 '<>9__72_13' + .field public static class [mscorlib]System.Func`3 '<>9__72_14' + .field public static class [mscorlib]System.Func`2 '<>9__73_0' + .field public static class [mscorlib]System.Func`3 '<>9__73_1' + .field public static class [mscorlib]System.Func`3 '<>9__73_2' + .field public static class [mscorlib]System.Func`3 '<>9__73_3' + .field public static class [mscorlib]System.Func`2 '<>9__74_0' + .field public static class [mscorlib]System.Func`2 '<>9__74_1' + .field public static class [mscorlib]System.Func`2 '<>9__74_2' + .field public static class [mscorlib]System.Func`2 '<>9__74_3' + .field public static class [mscorlib]System.Func`1 '<>9__75_0' + .field public static class [mscorlib]System.Func`2 '<>9__75_1' + .field public static class [mscorlib]System.Func`2 '<>9__78_0' + .field public static class [mscorlib]System.Func`2 '<>9__78_1' + .field public static class [mscorlib]System.Func`2 '<>9__78_2' + .field public static class [mscorlib]System.Func`1 '<>9__78_3' + .field public static class [mscorlib]System.Func`1 '<>9__79_0' + .field public static class [mscorlib]System.Func`1 '<>9__80_0' + .field public static class [mscorlib]System.Func`1 '<>9__80_1' + .field public static class [mscorlib]System.Func`1 '<>9__80_2' + .field public static class [mscorlib]System.Func`1 '<>9__80_3' + .field public static class [mscorlib]System.Func`1 '<>9__80_4' + .field public static class [mscorlib]System.Func`1 '<>9__81_0' + .method private hidebysig specialname rtspecialname static + void .cctor() cil managed + { + // Code size 11 (0xb) + .maxstack 8 + IL_0000: newobj instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::.ctor() + IL_0005: stsfld class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c' ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9' + IL_000a: ret + } // end of method '<>c'::.cctor + + .method public hidebysig specialname rtspecialname + instance void .ctor() cil managed + { + // Code size 8 (0x8) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [mscorlib]System.Object::.ctor() + IL_0006: nop + IL_0007: ret + } // end of method '<>c'::.ctor + + .method assembly hidebysig instance string + 'b__18_0'(int32 n) cil managed + { + // Code size 8 (0x8) + .maxstack 8 + IL_0000: ldarga.s n + IL_0002: call instance string [mscorlib]System.Int32::ToString() + IL_0007: ret + } // end of method '<>c'::'b__18_0' + + .method assembly hidebysig instance bool + 'b__33_0'(class [mscorlib]System.Func`3 f) cil managed + { + // Code size 9 (0x9) + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldnull + IL_0002: ldnull + IL_0003: callvirt instance !2 class [mscorlib]System.Func`3::Invoke(!0, + !1) + IL_0008: ret + } // end of method '<>c'::'b__33_0' + + .method assembly hidebysig instance int32 + 'b__36_0'(class [mscorlib]System.Func`1 f) cil managed + { + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: callvirt instance !0 class [mscorlib]System.Func`1::Invoke() + IL_0006: ret + } // end of method '<>c'::'b__36_0' + + .method assembly hidebysig instance int32 + 'b__62_0'(int32[] 'array') cil managed + { + // Code size 4 (0x4) + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldc.i4.0 + IL_0002: ldelem.i4 + IL_0003: ret + } // end of method '<>c'::'b__62_0' + + .method assembly hidebysig instance int32 + 'b__62_1'(int32[] 'array', + int32 index) cil managed + { + // Code size 4 (0x4) + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldarg.2 + IL_0002: ldelem.i4 + IL_0003: ret + } // end of method '<>c'::'b__62_1' + + .method assembly hidebysig instance int32 + 'b__62_2'(int32[0...,0...] 'array') cil managed + { + // Code size 9 (0x9) + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldc.i4.0 + IL_0002: ldc.i4.5 + IL_0003: call instance int32 int32[0...,0...]::Get(int32, + int32) + IL_0008: ret + } // end of method '<>c'::'b__62_2' + + .method assembly hidebysig instance int32 + 'b__62_3'(int32[0...,0...] 'array', + int32 index) cil managed + { + // Code size 9 (0x9) + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldarg.2 + IL_0002: ldc.i4.7 + IL_0003: call instance int32 int32[0...,0...]::Get(int32, + int32) + IL_0008: ret + } // end of method '<>c'::'b__62_3' + + .method assembly hidebysig instance int32 + 'b__62_4'(int32[][] 'array', + int32 index) cil managed + { + // Code size 6 (0x6) + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldarg.2 + IL_0002: ldelem.ref + IL_0003: ldc.i4.7 + IL_0004: ldelem.i4 + IL_0005: ret + } // end of method '<>c'::'b__62_4' + + .method assembly hidebysig instance int32 + 'b__63_0'(int32[] 'array') cil managed + { + // Code size 4 (0x4) + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldlen + IL_0002: conv.i4 + IL_0003: ret + } // end of method '<>c'::'b__63_0' + + .method assembly hidebysig instance int32 + 'b__63_1'() cil managed + { + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldnull + IL_0001: callvirt instance int32 [mscorlib]System.Array::get_Length() + IL_0006: ret + } // end of method '<>c'::'b__63_1' + + .method assembly hidebysig instance object + 'b__64_0'() cil managed + { + // Code size 6 (0x6) + .maxstack 8 + IL_0000: newobj instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.SimpleType::.ctor() + IL_0005: ret + } // end of method '<>c'::'b__64_0' + + .method assembly hidebysig instance object + 'b__64_1'() cil managed + { + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldc.i4.5 + IL_0001: newobj instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.SimpleTypeWithCtor::.ctor(int32) + IL_0006: ret + } // end of method '<>c'::'b__64_1' + + .method assembly hidebysig instance object + 'b__64_2'() cil managed + { + // Code size 6 (0x6) + .maxstack 8 + IL_0000: newobj instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.SimpleTypeWithMultipleCtors::.ctor() + IL_0005: ret + } // end of method '<>c'::'b__64_2' + + .method assembly hidebysig instance object + 'b__64_3'() cil managed + { + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldc.i4.5 + IL_0001: newobj instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.SimpleTypeWithMultipleCtors::.ctor(int32) + IL_0006: ret + } // end of method '<>c'::'b__64_3' + + .method assembly hidebysig instance object + 'b__64_4'() cil managed + { + // Code size 6 (0x6) + .maxstack 8 + IL_0000: newobj instance void class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/GenericClass`1::.ctor() + IL_0005: ret + } // end of method '<>c'::'b__64_4' + + .method assembly hidebysig instance object + 'b__64_5'() cil managed + { + // Code size 6 (0x6) + .maxstack 8 + IL_0000: newobj instance void class ICSharpCode.Decompiler.Tests.TestCases.Pretty.GenericClassWithCtor`1::.ctor() + IL_0005: ret + } // end of method '<>c'::'b__64_5' + + .method assembly hidebysig instance object + 'b__64_6'() cil managed + { + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldc.i4.5 + IL_0001: newobj instance void class ICSharpCode.Decompiler.Tests.TestCases.Pretty.GenericClassWithMultipleCtors`1::.ctor(int32) + IL_0006: ret + } // end of method '<>c'::'b__64_6' + + .method assembly hidebysig instance class [mscorlib]System.Type + 'b__65_0'() cil managed + { + // Code size 11 (0xb) + .maxstack 8 + IL_0000: ldtoken [mscorlib]System.Int32 + IL_0005: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_000a: ret + } // end of method '<>c'::'b__65_0' + + .method assembly hidebysig instance class [mscorlib]System.Type + 'b__65_1'() cil managed + { + // Code size 11 (0xb) + .maxstack 8 + IL_0000: ldtoken [mscorlib]System.Object + IL_0005: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_000a: ret + } // end of method '<>c'::'b__65_1' + + .method assembly hidebysig instance class [mscorlib]System.Type + 'b__65_2'() cil managed + { + // Code size 11 (0xb) + .maxstack 8 + IL_0000: ldtoken [mscorlib]System.Collections.Generic.List`1 + IL_0005: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_000a: ret + } // end of method '<>c'::'b__65_2' + + .method assembly hidebysig instance class [mscorlib]System.Type + 'b__65_3'() cil managed + { + // Code size 11 (0xb) + .maxstack 8 + IL_0000: ldtoken class [mscorlib]System.Collections.Generic.List`1 + IL_0005: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_000a: ret + } // end of method '<>c'::'b__65_3' + + .method assembly hidebysig instance class [mscorlib]System.Type + 'b__65_4'() cil managed + { + // Code size 11 (0xb) + .maxstack 8 + IL_0000: ldtoken int32* + IL_0005: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_000a: ret + } // end of method '<>c'::'b__65_4' + + .method assembly hidebysig instance class ICSharpCode.Decompiler.Tests.TestCases.Pretty.MyClass + 'b__66_0'(object obj) cil managed + { + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: isinst ICSharpCode.Decompiler.Tests.TestCases.Pretty.MyClass + IL_0006: ret + } // end of method '<>c'::'b__66_0' + + .method assembly hidebysig instance class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/GenericClass`1 + 'b__66_1'(object obj) cil managed + { + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: isinst class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/GenericClass`1 + IL_0006: ret + } // end of method '<>c'::'b__66_1' + + .method assembly hidebysig instance bool + 'b__67_0'(object obj) cil managed + { + // Code size 10 (0xa) + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: isinst ICSharpCode.Decompiler.Tests.TestCases.Pretty.MyClass + IL_0006: ldnull + IL_0007: cgt.un + IL_0009: ret + } // end of method '<>c'::'b__67_0' + + .method assembly hidebysig instance bool + 'b__68_0'(bool a) cil managed + { + // Code size 5 (0x5) + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldc.i4.0 + IL_0002: ceq + IL_0004: ret + } // end of method '<>c'::'b__68_0' + + .method assembly hidebysig instance int32 + 'b__71_0'(int32 a) cil managed + { + // Code size 2 (0x2) + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ret + } // end of method '<>c'::'b__71_0' + + .method assembly hidebysig instance int32 + 'b__71_1'(int32 a) cil managed + { + // Code size 3 (0x3) + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: neg + IL_0002: ret + } // end of method '<>c'::'b__71_1' + + .method assembly hidebysig instance int32 + 'b__72_0'(int32 a, + int32 b) cil managed + { + // Code size 4 (0x4) + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldarg.2 + IL_0002: add + IL_0003: ret + } // end of method '<>c'::'b__72_0' + + .method assembly hidebysig instance int32 + 'b__72_1'(int32 a, + int32 b) cil managed + { + // Code size 4 (0x4) + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldarg.2 + IL_0002: sub + IL_0003: ret + } // end of method '<>c'::'b__72_1' + + .method assembly hidebysig instance int32 + 'b__72_2'(int32 a, + int32 b) cil managed + { + // Code size 4 (0x4) + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldarg.2 + IL_0002: mul + IL_0003: ret + } // end of method '<>c'::'b__72_2' + + .method assembly hidebysig instance int32 + 'b__72_3'(int32 a, + int32 b) cil managed + { + // Code size 4 (0x4) + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldarg.2 + IL_0002: div + IL_0003: ret + } // end of method '<>c'::'b__72_3' + + .method assembly hidebysig instance int32 + 'b__72_4'(int32 a, + int32 b) cil managed + { + // Code size 4 (0x4) + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldarg.2 + IL_0002: rem + IL_0003: ret + } // end of method '<>c'::'b__72_4' + + .method assembly hidebysig instance int64 + 'b__72_5'(int64 a, + int32 b) cil managed + { + // Code size 5 (0x5) + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldarg.2 + IL_0002: conv.i8 + IL_0003: add + IL_0004: ret + } // end of method '<>c'::'b__72_5' + + .method assembly hidebysig instance int64 + 'b__72_6'(int64 a, + int32 b) cil managed + { + // Code size 5 (0x5) + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldarg.2 + IL_0002: conv.i8 + IL_0003: sub + IL_0004: ret + } // end of method '<>c'::'b__72_6' + + .method assembly hidebysig instance int64 + 'b__72_7'(int64 a, + int32 b) cil managed + { + // Code size 5 (0x5) + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldarg.2 + IL_0002: conv.i8 + IL_0003: mul + IL_0004: ret + } // end of method '<>c'::'b__72_7' + + .method assembly hidebysig instance int64 + 'b__72_8'(int64 a, + int32 b) cil managed + { + // Code size 5 (0x5) + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldarg.2 + IL_0002: conv.i8 + IL_0003: div + IL_0004: ret + } // end of method '<>c'::'b__72_8' + + .method assembly hidebysig instance int64 + 'b__72_9'(int64 a, + int32 b) cil managed + { + // Code size 5 (0x5) + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldarg.2 + IL_0002: conv.i8 + IL_0003: rem + IL_0004: ret + } // end of method '<>c'::'b__72_9' + + .method assembly hidebysig instance int32 + 'b__72_10'(int16 a, + int32 b) cil managed + { + // Code size 4 (0x4) + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldarg.2 + IL_0002: add + IL_0003: ret + } // end of method '<>c'::'b__72_10' + + .method assembly hidebysig instance int32 + 'b__72_11'(int32 a, + int16 b) cil managed + { + // Code size 4 (0x4) + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldarg.2 + IL_0002: sub + IL_0003: ret + } // end of method '<>c'::'b__72_11' + + .method assembly hidebysig instance int32 + 'b__72_12'(int16 a, + int32 b) cil managed + { + // Code size 4 (0x4) + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldarg.2 + IL_0002: mul + IL_0003: ret + } // end of method '<>c'::'b__72_12' + + .method assembly hidebysig instance int32 + 'b__72_13'(int32 a, + int16 b) cil managed + { + // Code size 4 (0x4) + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldarg.2 + IL_0002: div + IL_0003: ret + } // end of method '<>c'::'b__72_13' + + .method assembly hidebysig instance int32 + 'b__72_14'(int16 a, + int32 b) cil managed + { + // Code size 4 (0x4) + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldarg.2 + IL_0002: rem + IL_0003: ret + } // end of method '<>c'::'b__72_14' + + .method assembly hidebysig instance int32 + 'b__73_0'(int32 a) cil managed + { + // Code size 3 (0x3) + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: not + IL_0002: ret + } // end of method '<>c'::'b__73_0' + + .method assembly hidebysig instance int32 + 'b__73_1'(int32 a, + int32 b) cil managed + { + // Code size 4 (0x4) + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldarg.2 + IL_0002: and + IL_0003: ret + } // end of method '<>c'::'b__73_1' + + .method assembly hidebysig instance int32 + 'b__73_2'(int32 a, + int32 b) cil managed + { + // Code size 4 (0x4) + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldarg.2 + IL_0002: or + IL_0003: ret + } // end of method '<>c'::'b__73_2' + + .method assembly hidebysig instance int32 + 'b__73_3'(int32 a, + int32 b) cil managed + { + // Code size 4 (0x4) + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldarg.2 + IL_0002: xor + IL_0003: ret + } // end of method '<>c'::'b__73_3' + + .method assembly hidebysig instance int32 + 'b__74_0'(int32 a) cil managed + { + // Code size 4 (0x4) + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldc.i4.2 + IL_0002: shr + IL_0003: ret + } // end of method '<>c'::'b__74_0' + + .method assembly hidebysig instance int32 + 'b__74_1'(int32 a) cil managed + { + // Code size 4 (0x4) + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldc.i4.2 + IL_0002: shl + IL_0003: ret + } // end of method '<>c'::'b__74_1' + + .method assembly hidebysig instance int64 + 'b__74_2'(int64 a) cil managed + { + // Code size 4 (0x4) + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldc.i4.2 + IL_0002: shr + IL_0003: ret + } // end of method '<>c'::'b__74_2' + + .method assembly hidebysig instance int64 + 'b__74_3'(int64 a) cil managed + { + // Code size 4 (0x4) + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldc.i4.2 + IL_0002: shl + IL_0003: ret + } // end of method '<>c'::'b__74_3' + + .method assembly hidebysig instance int32 + 'b__75_0'() cil managed + { + // Code size 2 (0x2) + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: ret + } // end of method '<>c'::'b__75_0' + + .method assembly hidebysig instance int32 + 'b__75_1'(int32 a) cil managed + { + // Code size 2 (0x2) + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ret + } // end of method '<>c'::'b__75_1' + + .method assembly hidebysig instance string + 'b__78_0'(string a) cil managed + { + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: callvirt instance string [mscorlib]System.Object::ToString() + IL_0006: ret + } // end of method '<>c'::'b__78_0' + + .method assembly hidebysig instance string + 'b__78_1'(int32 a) cil managed + { + // Code size 8 (0x8) + .maxstack 8 + IL_0000: ldarga.s a + IL_0002: call instance string [mscorlib]System.Int32::ToString() + IL_0007: ret + } // end of method '<>c'::'b__78_1' + + .method assembly hidebysig instance char[] + 'b__78_2'(string a) cil managed + { + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: call !!0[] [System.Core]System.Linq.Enumerable::ToArray(class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0006: ret + } // end of method '<>c'::'b__78_2' + + .method assembly hidebysig instance bool + 'b__78_3'() cil managed + { + // Code size 16 (0x10) + .maxstack 2 + .locals init (char V_0) + IL_0000: ldc.i4.s 97 + IL_0002: stloc.0 + IL_0003: ldloca.s V_0 + IL_0005: ldc.i4.s 98 + IL_0007: call instance int32 [mscorlib]System.Char::CompareTo(char) + IL_000c: ldc.i4.0 + IL_000d: clt + IL_000f: ret + } // end of method '<>c'::'b__78_3' + + .method assembly hidebysig instance bool + 'b__79_0'() cil managed + { + // Code size 113 (0x71) + .maxstack 5 + .locals init (class [System.Core]System.Linq.Expressions.ParameterExpression V_0, + class [System.Core]System.Linq.Expressions.ParameterExpression V_1) + IL_0000: ldtoken [mscorlib]System.Int32 + IL_0005: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_000a: ldstr "n" + IL_000f: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0014: stloc.0 + IL_0015: ldtoken [mscorlib]System.String + IL_001a: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_001f: ldstr "s" + IL_0024: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0029: stloc.1 + IL_002a: ldloc.1 + IL_002b: ldloc.0 + IL_002c: ldtoken method instance string [mscorlib]System.Int32::ToString() + IL_0031: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0036: castclass [mscorlib]System.Reflection.MethodInfo + IL_003b: ldc.i4.0 + IL_003c: newarr [System.Core]System.Linq.Expressions.Expression + IL_0041: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_0046: ldtoken method string [mscorlib]System.String::Concat(string, + string) + IL_004b: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0050: castclass [mscorlib]System.Reflection.MethodInfo + IL_0055: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Add(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo) + IL_005a: ldc.i4.2 + IL_005b: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0060: dup + IL_0061: ldc.i4.0 + IL_0062: ldloc.0 + IL_0063: stelem.ref + IL_0064: dup + IL_0065: ldc.i4.1 + IL_0066: ldloc.1 + IL_0067: stelem.ref + IL_0068: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_006d: ldnull + IL_006e: cgt.un + IL_0070: ret + } // end of method '<>c'::'b__79_0' + + .method assembly hidebysig instance int32[] + 'b__80_0'() cil managed + { + // Code size 18 (0x12) + .maxstack 8 + IL_0000: ldc.i4.3 + IL_0001: newarr [mscorlib]System.Int32 + IL_0006: dup + IL_0007: ldtoken field valuetype ''/'__StaticArrayInitTypeSize=12' ''::E429CCA3F703A39CC5954A6572FEC9086135B34E + IL_000c: call void [mscorlib]System.Runtime.CompilerServices.RuntimeHelpers::InitializeArray(class [mscorlib]System.Array, + valuetype [mscorlib]System.RuntimeFieldHandle) + IL_0011: ret + } // end of method '<>c'::'b__80_0' + + .method assembly hidebysig instance int32[] + 'b__80_1'() cil managed + { + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldc.i4.3 + IL_0001: newarr [mscorlib]System.Int32 + IL_0006: ret + } // end of method '<>c'::'b__80_1' + + .method assembly hidebysig instance int32[0...,0...] + 'b__80_2'() cil managed + { + // Code size 8 (0x8) + .maxstack 8 + IL_0000: ldc.i4.3 + IL_0001: ldc.i4.5 + IL_0002: newobj instance void int32[0...,0...]::.ctor(int32, + int32) + IL_0007: ret + } // end of method '<>c'::'b__80_2' + + .method assembly hidebysig instance int32[][] + 'b__80_3'() cil managed + { + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldc.i4.3 + IL_0001: newarr int32[] + IL_0006: ret + } // end of method '<>c'::'b__80_3' + + .method assembly hidebysig instance int32[][] + 'b__80_4'() cil managed + { + // Code size 27 (0x1b) + .maxstack 8 + IL_0000: ldc.i4.1 + IL_0001: newarr int32[] + IL_0006: dup + IL_0007: ldc.i4.0 + IL_0008: ldc.i4.3 + IL_0009: newarr [mscorlib]System.Int32 + IL_000e: dup + IL_000f: ldtoken field valuetype ''/'__StaticArrayInitTypeSize=12' ''::E429CCA3F703A39CC5954A6572FEC9086135B34E + IL_0014: call void [mscorlib]System.Runtime.CompilerServices.RuntimeHelpers::InitializeArray(class [mscorlib]System.Array, + valuetype [mscorlib]System.RuntimeFieldHandle) + IL_0019: stelem.ref + IL_001a: ret + } // end of method '<>c'::'b__80_4' + + .method assembly hidebysig instance object + 'b__81_0'() cil managed + { + // Code size 12 (0xc) + .maxstack 8 + IL_0000: ldc.i4.5 + IL_0001: ldstr "Test" + IL_0006: newobj instance void class '<>f__AnonymousType2`2'::.ctor(!0, + !1) + IL_000b: ret + } // end of method '<>c'::'b__81_0' + + } // end of class '<>c' + + .class auto ansi sealed nested private beforefieldinit '<>c__DisplayClass25_0' + extends [mscorlib]System.Object + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field public string x + .field public int32 i + .method public hidebysig specialname rtspecialname + instance void .ctor() cil managed + { + // Code size 8 (0x8) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [mscorlib]System.Object::.ctor() + IL_0006: nop + IL_0007: ret + } // end of method '<>c__DisplayClass25_0'::.ctor + + } // end of class '<>c__DisplayClass25_0' + + .class auto ansi sealed nested private beforefieldinit '<>c__DisplayClass26_0' + extends [mscorlib]System.Object + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field public uint8 z + .method public hidebysig specialname rtspecialname + instance void .ctor() cil managed + { + // Code size 8 (0x8) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [mscorlib]System.Object::.ctor() + IL_0006: nop + IL_0007: ret + } // end of method '<>c__DisplayClass26_0'::.ctor + + } // end of class '<>c__DisplayClass26_0' + + .class auto ansi sealed nested private beforefieldinit '<>c__DisplayClass33_0' + extends [mscorlib]System.Object + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field public class [System.Core]System.Collections.Generic.HashSet`1 set + .field public class [mscorlib]System.Func`2,bool> sink + .method public hidebysig specialname rtspecialname + instance void .ctor() cil managed + { + // Code size 8 (0x8) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [mscorlib]System.Object::.ctor() + IL_0006: nop + IL_0007: ret + } // end of method '<>c__DisplayClass33_0'::.ctor + + } // end of class '<>c__DisplayClass33_0' + + .class auto ansi sealed nested private beforefieldinit '<>c__DisplayClass36_0' + extends [mscorlib]System.Object + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field public class [mscorlib]System.Func`2,int32> 'call' + .method public hidebysig specialname rtspecialname + instance void .ctor() cil managed + { + // Code size 8 (0x8) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [mscorlib]System.Object::.ctor() + IL_0006: nop + IL_0007: ret + } // end of method '<>c__DisplayClass36_0'::.ctor + + } // end of class '<>c__DisplayClass36_0' + + .class auto ansi sealed nested private beforefieldinit '<>c__DisplayClass46_0' + extends [mscorlib]System.Object + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field public uint8 z + .field public int32 y + .field public bool x + .method public hidebysig specialname rtspecialname + instance void .ctor() cil managed + { + // Code size 8 (0x8) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [mscorlib]System.Object::.ctor() + IL_0006: nop + IL_0007: ret + } // end of method '<>c__DisplayClass46_0'::.ctor + + } // end of class '<>c__DisplayClass46_0' + + .class auto ansi sealed nested private beforefieldinit '<>c__DisplayClass47_0' + extends [mscorlib]System.Object + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field public class [System.Xml]System.Xml.XmlReaderSettings s + .method public hidebysig specialname rtspecialname + instance void .ctor() cil managed + { + // Code size 8 (0x8) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [mscorlib]System.Object::.ctor() + IL_0006: nop + IL_0007: ret + } // end of method '<>c__DisplayClass47_0'::.ctor + + } // end of class '<>c__DisplayClass47_0' + + .class auto ansi sealed nested private beforefieldinit '<>c__DisplayClass57_0' + extends [mscorlib]System.Object + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field public string x + .field public int32 i + .method public hidebysig specialname rtspecialname + instance void .ctor() cil managed + { + // Code size 8 (0x8) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [mscorlib]System.Object::.ctor() + IL_0006: nop + IL_0007: ret + } // end of method '<>c__DisplayClass57_0'::.ctor + + } // end of class '<>c__DisplayClass57_0' + + .class auto ansi sealed nested private beforefieldinit '<>c__DisplayClass76_0' + extends [mscorlib]System.Object + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 captured + .method public hidebysig specialname rtspecialname + instance void .ctor() cil managed + { + // Code size 8 (0x8) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [mscorlib]System.Object::.ctor() + IL_0006: nop + IL_0007: ret + } // end of method '<>c__DisplayClass76_0'::.ctor + + .method assembly hidebysig instance int32 + 'b__0'() cil managed + { + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass76_0'::captured + IL_0006: ret + } // end of method '<>c__DisplayClass76_0'::'b__0' + + } // end of class '<>c__DisplayClass76_0' + + .field private int32 'field' + .method private hidebysig static object + ToCode(object x, + class [System.Core]System.Linq.Expressions.Expression`1> expr) cil managed + { + // Code size 7 (0x7) + .maxstack 1 + .locals init (object V_0) + IL_0000: nop + IL_0001: ldarg.1 + IL_0002: stloc.0 + IL_0003: br.s IL_0005 + + IL_0005: ldloc.0 + IL_0006: ret + } // end of method ExpressionTrees::ToCode + + .method private hidebysig static object + ToCode(object x, + class [System.Core]System.Linq.Expressions.Expression`1> expr) cil managed + { + // Code size 7 (0x7) + .maxstack 1 + .locals init (object V_0) + IL_0000: nop + IL_0001: ldarg.1 + IL_0002: stloc.0 + IL_0003: br.s IL_0005 + + IL_0005: ldloc.0 + IL_0006: ret + } // end of method ExpressionTrees::ToCode + + .method private hidebysig static object + ToCode(object x, + class [System.Core]System.Linq.Expressions.Expression`1> expr) cil managed + { + // Code size 7 (0x7) + .maxstack 1 + .locals init (object V_0) + IL_0000: nop + IL_0001: ldarg.1 + IL_0002: stloc.0 + IL_0003: br.s IL_0005 + + IL_0005: ldloc.0 + IL_0006: ret + } // end of method ExpressionTrees::ToCode + + .method private hidebysig static object + ToCode(object x, + class [System.Core]System.Linq.Expressions.Expression`1> expr) cil managed + { + // Code size 7 (0x7) + .maxstack 1 + .locals init (object V_0) + IL_0000: nop + IL_0001: ldarg.1 + IL_0002: stloc.0 + IL_0003: br.s IL_0005 + + IL_0005: ldloc.0 + IL_0006: ret + } // end of method ExpressionTrees::ToCode + + .method private hidebysig static object + X() cil managed + { + // 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 ExpressionTrees::X + + .method public hidebysig instance void + Parameter(bool a) cil managed + { + // Code size 68 (0x44) + .maxstack 3 + .locals init (class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass7_0' V_0) + IL_0000: newobj instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass7_0'::.ctor() + IL_0005: stloc.0 + IL_0006: ldloc.0 + IL_0007: ldarg.1 + IL_0008: stfld bool ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass7_0'::a + IL_000d: nop + IL_000e: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0013: ldloc.0 + IL_0014: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass7_0' + IL_0019: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_001e: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0023: ldtoken field bool ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass7_0'::a + IL_0028: call class [mscorlib]System.Reflection.FieldInfo [mscorlib]System.Reflection.FieldInfo::GetFieldFromHandle(valuetype [mscorlib]System.RuntimeFieldHandle) + IL_002d: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Field(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.FieldInfo) + IL_0032: ldc.i4.0 + IL_0033: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0038: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_003d: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0042: pop + IL_0043: ret + } // end of method ExpressionTrees::Parameter + + .method public hidebysig instance void + LocalVariable() cil managed + { + // Code size 68 (0x44) + .maxstack 3 + .locals init (class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass8_0' V_0) + IL_0000: newobj instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass8_0'::.ctor() + IL_0005: stloc.0 + IL_0006: nop + IL_0007: ldloc.0 + IL_0008: ldc.i4.1 + IL_0009: stfld bool ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass8_0'::a + IL_000e: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0013: ldloc.0 + IL_0014: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass8_0' + IL_0019: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_001e: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0023: ldtoken field bool ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass8_0'::a + IL_0028: call class [mscorlib]System.Reflection.FieldInfo [mscorlib]System.Reflection.FieldInfo::GetFieldFromHandle(valuetype [mscorlib]System.RuntimeFieldHandle) + IL_002d: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Field(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.FieldInfo) + IL_0032: ldc.i4.0 + IL_0033: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0038: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_003d: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0042: pop + IL_0043: ret + } // end of method ExpressionTrees::LocalVariable + + .method public hidebysig instance void + LambdaParameter() cil managed + { + // Code size 50 (0x32) + .maxstack 6 + .locals init (class [System.Core]System.Linq.Expressions.ParameterExpression V_0) + IL_0000: nop + IL_0001: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0006: ldtoken [mscorlib]System.Boolean + IL_000b: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0010: ldstr "a" + IL_0015: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_001a: stloc.0 + IL_001b: ldloc.0 + IL_001c: ldc.i4.1 + IL_001d: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0022: dup + IL_0023: ldc.i4.0 + IL_0024: ldloc.0 + IL_0025: stelem.ref + IL_0026: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_002b: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0030: pop + IL_0031: ret + } // end of method ExpressionTrees::LambdaParameter + + .method public hidebysig instance void + AddOperator(int32 x) cil managed + { + // Code size 120 (0x78) + .maxstack 4 + .locals init (class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass10_0' V_0) + IL_0000: newobj instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass10_0'::.ctor() + IL_0005: stloc.0 + IL_0006: ldloc.0 + IL_0007: ldarg.1 + IL_0008: stfld int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass10_0'::x + IL_000d: nop + IL_000e: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0013: ldc.i4.1 + IL_0014: box [mscorlib]System.Int32 + IL_0019: ldtoken [mscorlib]System.Int32 + IL_001e: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0023: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0028: ldloc.0 + IL_0029: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass10_0' + IL_002e: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0033: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0038: ldtoken field int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass10_0'::x + IL_003d: call class [mscorlib]System.Reflection.FieldInfo [mscorlib]System.Reflection.FieldInfo::GetFieldFromHandle(valuetype [mscorlib]System.RuntimeFieldHandle) + IL_0042: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Field(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.FieldInfo) + IL_0047: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Add(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_004c: ldc.i4.2 + IL_004d: box [mscorlib]System.Int32 + IL_0052: ldtoken [mscorlib]System.Int32 + IL_0057: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_005c: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0061: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Add(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0066: ldc.i4.0 + IL_0067: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_006c: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0071: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0076: pop + IL_0077: ret + } // end of method ExpressionTrees::AddOperator + + .method public hidebysig instance void + AnonymousClasses() cil managed + { + // Code size 154 (0x9a) + .maxstack 8 + IL_0000: nop + IL_0001: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0006: ldtoken method instance void class '<>f__AnonymousType0`2'::.ctor(!0, + !1) + IL_000b: ldtoken class '<>f__AnonymousType0`2' + IL_0010: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle, + valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0015: castclass [mscorlib]System.Reflection.ConstructorInfo + IL_001a: ldc.i4.2 + IL_001b: newarr [System.Core]System.Linq.Expressions.Expression + IL_0020: dup + IL_0021: ldc.i4.0 + IL_0022: ldc.i4.3 + IL_0023: box [mscorlib]System.Int32 + IL_0028: ldtoken [mscorlib]System.Int32 + IL_002d: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0032: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0037: stelem.ref + IL_0038: dup + IL_0039: ldc.i4.1 + IL_003a: ldstr "a" + IL_003f: ldtoken [mscorlib]System.String + IL_0044: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0049: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_004e: stelem.ref + IL_004f: ldc.i4.2 + IL_0050: newarr [mscorlib]System.Reflection.MemberInfo + IL_0055: dup + IL_0056: ldc.i4.0 + IL_0057: ldtoken method instance !0 class '<>f__AnonymousType0`2'::get_X() + IL_005c: ldtoken class '<>f__AnonymousType0`2' + IL_0061: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle, + valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0066: castclass [mscorlib]System.Reflection.MethodInfo + IL_006b: stelem.ref + IL_006c: dup + IL_006d: ldc.i4.1 + IL_006e: ldtoken method instance !1 class '<>f__AnonymousType0`2'::get_A() + IL_0073: ldtoken class '<>f__AnonymousType0`2' + IL_0078: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle, + valuetype [mscorlib]System.RuntimeTypeHandle) + IL_007d: castclass [mscorlib]System.Reflection.MethodInfo + IL_0082: stelem.ref + IL_0083: call class [System.Core]System.Linq.Expressions.NewExpression [System.Core]System.Linq.Expressions.Expression::New(class [mscorlib]System.Reflection.ConstructorInfo, + class [mscorlib]System.Collections.Generic.IEnumerable`1, + class [mscorlib]System.Reflection.MemberInfo[]) + IL_0088: ldc.i4.0 + IL_0089: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_008e: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambdaf__AnonymousType0`2'>>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0093: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCodef__AnonymousType0`2'>(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0098: pop + IL_0099: ret + } // end of method ExpressionTrees::AnonymousClasses + + .method public hidebysig instance void + ArrayIndex() cil managed + { + // Code size 231 (0xe7) + .maxstack 7 + IL_0000: nop + IL_0001: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0006: ldtoken [mscorlib]System.Int32 + IL_000b: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0010: ldc.i4.3 + IL_0011: newarr [System.Core]System.Linq.Expressions.Expression + IL_0016: dup + IL_0017: ldc.i4.0 + IL_0018: ldc.i4.3 + IL_0019: box [mscorlib]System.Int32 + IL_001e: ldtoken [mscorlib]System.Int32 + IL_0023: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0028: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_002d: stelem.ref + IL_002e: dup + IL_002f: ldc.i4.1 + IL_0030: ldc.i4.4 + IL_0031: box [mscorlib]System.Int32 + IL_0036: ldtoken [mscorlib]System.Int32 + IL_003b: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0040: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0045: stelem.ref + IL_0046: dup + IL_0047: ldc.i4.2 + IL_0048: ldc.i4.5 + IL_0049: box [mscorlib]System.Int32 + IL_004e: ldtoken [mscorlib]System.Int32 + IL_0053: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0058: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_005d: stelem.ref + IL_005e: call class [System.Core]System.Linq.Expressions.NewArrayExpression [System.Core]System.Linq.Expressions.Expression::NewArrayInit(class [mscorlib]System.Type, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_0063: ldc.i4.0 + IL_0064: box [mscorlib]System.Int32 + IL_0069: ldtoken [mscorlib]System.Int32 + IL_006e: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0073: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0078: ldnull + IL_0079: ldtoken method valuetype [mscorlib]System.DateTime [mscorlib]System.DateTime::get_Now() + IL_007e: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0083: castclass [mscorlib]System.Reflection.MethodInfo + IL_0088: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Property(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo) + IL_008d: ldtoken method instance int64 [mscorlib]System.DateTime::get_Ticks() + IL_0092: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0097: castclass [mscorlib]System.Reflection.MethodInfo + IL_009c: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Property(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo) + IL_00a1: ldc.i4.3 + IL_00a2: conv.i8 + IL_00a3: box [mscorlib]System.Int64 + IL_00a8: ldtoken [mscorlib]System.Int64 + IL_00ad: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00b2: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_00b7: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Modulo(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_00bc: ldtoken [mscorlib]System.Int32 + IL_00c1: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00c6: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_00cb: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Add(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_00d0: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::ArrayIndex(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_00d5: ldc.i4.0 + IL_00d6: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_00db: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_00e0: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_00e5: pop + IL_00e6: ret + } // end of method ExpressionTrees::ArrayIndex + + .method public hidebysig instance void + ArrayLengthAndDoubles() cil managed + { + // Code size 294 (0x126) + .maxstack 17 + IL_0000: nop + IL_0001: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0006: ldnull + IL_0007: ldtoken method !!0[] [System.Core]System.Linq.Enumerable::ToArray(class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_000c: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0011: castclass [mscorlib]System.Reflection.MethodInfo + IL_0016: ldc.i4.1 + IL_0017: newarr [System.Core]System.Linq.Expressions.Expression + IL_001c: dup + IL_001d: ldc.i4.0 + IL_001e: ldnull + IL_001f: ldtoken method class [mscorlib]System.Collections.Generic.IEnumerable`1 [System.Core]System.Linq.Enumerable::Concat(class [mscorlib]System.Collections.Generic.IEnumerable`1, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0024: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0029: castclass [mscorlib]System.Reflection.MethodInfo + IL_002e: ldc.i4.2 + IL_002f: newarr [System.Core]System.Linq.Expressions.Expression + IL_0034: dup + IL_0035: ldc.i4.0 + IL_0036: ldtoken [mscorlib]System.Double + IL_003b: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0040: ldc.i4.3 + IL_0041: newarr [System.Core]System.Linq.Expressions.Expression + IL_0046: dup + IL_0047: ldc.i4.0 + IL_0048: ldc.r8 1. + IL_0051: box [mscorlib]System.Double + IL_0056: ldtoken [mscorlib]System.Double + IL_005b: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0060: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0065: stelem.ref + IL_0066: dup + IL_0067: ldc.i4.1 + IL_0068: ldc.r8 2.0099999999999998 + IL_0071: box [mscorlib]System.Double + IL_0076: ldtoken [mscorlib]System.Double + IL_007b: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0080: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0085: stelem.ref + IL_0086: dup + IL_0087: ldc.i4.2 + IL_0088: ldc.r8 3.5 + IL_0091: box [mscorlib]System.Double + IL_0096: ldtoken [mscorlib]System.Double + IL_009b: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00a0: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_00a5: stelem.ref + IL_00a6: call class [System.Core]System.Linq.Expressions.NewArrayExpression [System.Core]System.Linq.Expressions.Expression::NewArrayInit(class [mscorlib]System.Type, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_00ab: stelem.ref + IL_00ac: dup + IL_00ad: ldc.i4.1 + IL_00ae: ldtoken [mscorlib]System.Double + IL_00b3: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00b8: ldc.i4.2 + IL_00b9: newarr [System.Core]System.Linq.Expressions.Expression + IL_00be: dup + IL_00bf: ldc.i4.0 + IL_00c0: ldc.r8 1. + IL_00c9: box [mscorlib]System.Double + IL_00ce: ldtoken [mscorlib]System.Double + IL_00d3: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00d8: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_00dd: stelem.ref + IL_00de: dup + IL_00df: ldc.i4.1 + IL_00e0: ldc.r8 2. + IL_00e9: box [mscorlib]System.Double + IL_00ee: ldtoken [mscorlib]System.Double + IL_00f3: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00f8: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_00fd: stelem.ref + IL_00fe: call class [System.Core]System.Linq.Expressions.NewArrayExpression [System.Core]System.Linq.Expressions.Expression::NewArrayInit(class [mscorlib]System.Type, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_0103: stelem.ref + IL_0104: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_0109: stelem.ref + IL_010a: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_010f: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::ArrayLength(class [System.Core]System.Linq.Expressions.Expression) + IL_0114: ldc.i4.0 + IL_0115: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_011a: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_011f: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0124: pop + IL_0125: ret + } // end of method ExpressionTrees::ArrayLengthAndDoubles + + .method public hidebysig instance void + AsOperator() cil managed + { + // Code size 54 (0x36) + .maxstack 8 + IL_0000: nop + IL_0001: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0006: ldtoken [mscorlib]System.Object + IL_000b: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0010: call class [System.Core]System.Linq.Expressions.NewExpression [System.Core]System.Linq.Expressions.Expression::New(class [mscorlib]System.Type) + IL_0015: ldtoken [mscorlib]System.String + IL_001a: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_001f: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::TypeAs(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_0024: ldc.i4.0 + IL_0025: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_002a: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_002f: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0034: pop + IL_0035: ret + } // end of method ExpressionTrees::AsOperator + + .method public hidebysig instance void + ComplexGenericName() cil managed + { + // Code size 137 (0x89) + .maxstack 7 + .locals init (class [System.Core]System.Linq.Expressions.ParameterExpression V_0) + IL_0000: nop + IL_0001: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0006: ldtoken [mscorlib]System.Int32 + IL_000b: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0010: ldstr "x" + IL_0015: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_001a: stloc.0 + IL_001b: ldloc.0 + IL_001c: ldc.i4.0 + IL_001d: box [mscorlib]System.Int32 + IL_0022: ldtoken [mscorlib]System.Int32 + IL_0027: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_002c: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0031: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::GreaterThan(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0036: ldc.i4.1 + IL_0037: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_003c: dup + IL_003d: ldc.i4.0 + IL_003e: ldloc.0 + IL_003f: stelem.ref + IL_0040: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0045: ldtoken class [mscorlib]System.Func`2 + IL_004a: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_004f: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_0054: ldc.i4.1 + IL_0055: newarr [System.Core]System.Linq.Expressions.Expression + IL_005a: dup + IL_005b: ldc.i4.0 + IL_005c: ldc.i4.0 + IL_005d: box [mscorlib]System.Int32 + IL_0062: ldtoken [mscorlib]System.Int32 + IL_0067: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_006c: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0071: stelem.ref + IL_0072: call class [System.Core]System.Linq.Expressions.InvocationExpression [System.Core]System.Linq.Expressions.Expression::Invoke(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_0077: ldc.i4.0 + IL_0078: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_007d: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0082: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0087: pop + IL_0088: ret + } // end of method ExpressionTrees::ComplexGenericName + + .method public hidebysig instance void + DefaultValue() cil managed + { + // Code size 172 (0xac) + .maxstack 7 + .locals init (valuetype [mscorlib]System.TimeSpan V_0) + IL_0000: nop + IL_0001: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0006: ldtoken method instance void [mscorlib]System.TimeSpan::.ctor(int32, + int32, + int32) + IL_000b: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0010: castclass [mscorlib]System.Reflection.ConstructorInfo + IL_0015: ldc.i4.3 + IL_0016: newarr [System.Core]System.Linq.Expressions.Expression + IL_001b: dup + IL_001c: ldc.i4.0 + IL_001d: ldc.i4.1 + IL_001e: box [mscorlib]System.Int32 + IL_0023: ldtoken [mscorlib]System.Int32 + IL_0028: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_002d: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0032: stelem.ref + IL_0033: dup + IL_0034: ldc.i4.1 + IL_0035: ldc.i4.2 + IL_0036: box [mscorlib]System.Int32 + IL_003b: ldtoken [mscorlib]System.Int32 + IL_0040: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0045: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_004a: stelem.ref + IL_004b: dup + IL_004c: ldc.i4.2 + IL_004d: ldc.i4.3 + IL_004e: box [mscorlib]System.Int32 + IL_0053: ldtoken [mscorlib]System.Int32 + IL_0058: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_005d: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0062: stelem.ref + IL_0063: call class [System.Core]System.Linq.Expressions.NewExpression [System.Core]System.Linq.Expressions.Expression::New(class [mscorlib]System.Reflection.ConstructorInfo, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0068: ldloca.s V_0 + IL_006a: initobj [mscorlib]System.TimeSpan + IL_0070: ldloc.0 + IL_0071: box [mscorlib]System.TimeSpan + IL_0076: ldtoken [mscorlib]System.TimeSpan + IL_007b: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0080: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0085: ldc.i4.0 + IL_0086: ldtoken method bool [mscorlib]System.TimeSpan::op_Equality(valuetype [mscorlib]System.TimeSpan, + valuetype [mscorlib]System.TimeSpan) + IL_008b: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0090: castclass [mscorlib]System.Reflection.MethodInfo + IL_0095: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Equal(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression, + bool, + class [mscorlib]System.Reflection.MethodInfo) + IL_009a: ldc.i4.0 + IL_009b: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_00a0: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_00a5: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_00aa: pop + IL_00ab: ret + } // end of method ExpressionTrees::DefaultValue + + .method public hidebysig instance void + EnumConstant() cil managed + { + // Code size 104 (0x68) + .maxstack 8 + IL_0000: nop + IL_0001: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0006: ldtoken [mscorlib]System.Object + IL_000b: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0010: call class [System.Core]System.Linq.Expressions.NewExpression [System.Core]System.Linq.Expressions.Expression::New(class [mscorlib]System.Type) + IL_0015: ldtoken method instance bool [mscorlib]System.Object::Equals(object) + IL_001a: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_001f: castclass [mscorlib]System.Reflection.MethodInfo + IL_0024: ldc.i4.1 + IL_0025: newarr [System.Core]System.Linq.Expressions.Expression + IL_002a: dup + IL_002b: ldc.i4.0 + IL_002c: ldc.i4.0 + IL_002d: box [mscorlib]System.MidpointRounding + IL_0032: ldtoken [mscorlib]System.MidpointRounding + IL_0037: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_003c: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0041: ldtoken [mscorlib]System.Object + IL_0046: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_004b: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_0050: stelem.ref + IL_0051: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_0056: ldc.i4.0 + IL_0057: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_005c: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0061: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0066: pop + IL_0067: ret + } // end of method ExpressionTrees::EnumConstant + + .method public hidebysig instance void + IndexerAccess() cil managed + { + // Code size 191 (0xbf) + .maxstack 8 + .locals init (class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass18_0' V_0) + IL_0000: newobj instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass18_0'::.ctor() + IL_0005: stloc.0 + IL_0006: nop + IL_0007: ldloc.0 + IL_0008: ldc.i4.1 + IL_0009: ldc.i4.s 20 + IL_000b: call class [mscorlib]System.Collections.Generic.IEnumerable`1 [System.Core]System.Linq.Enumerable::Range(int32, + int32) + IL_0010: ldsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__18_0' + IL_0015: dup + IL_0016: brtrue.s IL_002f + + IL_0018: pop + IL_0019: ldsfld class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c' ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9' + IL_001e: ldftn instance string ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'b__18_0'(int32) + IL_0024: newobj instance void class [mscorlib]System.Func`2::.ctor(object, + native int) + IL_0029: dup + IL_002a: stsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__18_0' + IL_002f: call class [mscorlib]System.Collections.Generic.Dictionary`2 [System.Core]System.Linq.Enumerable::ToDictionary(class [mscorlib]System.Collections.Generic.IEnumerable`1, + class [mscorlib]System.Func`2) + IL_0034: stfld class [mscorlib]System.Collections.Generic.Dictionary`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass18_0'::dict + IL_0039: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_003e: ldloc.0 + IL_003f: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass18_0' + IL_0044: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0049: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_004e: ldtoken field class [mscorlib]System.Collections.Generic.Dictionary`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass18_0'::dict + IL_0053: call class [mscorlib]System.Reflection.FieldInfo [mscorlib]System.Reflection.FieldInfo::GetFieldFromHandle(valuetype [mscorlib]System.RuntimeFieldHandle) + IL_0058: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Field(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.FieldInfo) + IL_005d: ldtoken method instance !1 class [mscorlib]System.Collections.Generic.Dictionary`2::get_Item(!0) + IL_0062: ldtoken class [mscorlib]System.Collections.Generic.Dictionary`2 + IL_0067: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle, + valuetype [mscorlib]System.RuntimeTypeHandle) + IL_006c: castclass [mscorlib]System.Reflection.MethodInfo + IL_0071: ldc.i4.1 + IL_0072: newarr [System.Core]System.Linq.Expressions.Expression + IL_0077: dup + IL_0078: ldc.i4.0 + IL_0079: ldstr "3" + IL_007e: ldtoken [mscorlib]System.String + IL_0083: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0088: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_008d: stelem.ref + IL_008e: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_0093: ldc.i4.3 + IL_0094: box [mscorlib]System.Int32 + IL_0099: ldtoken [mscorlib]System.Int32 + IL_009e: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00a3: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_00a8: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Equal(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_00ad: ldc.i4.0 + IL_00ae: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_00b3: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_00b8: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_00bd: pop + IL_00be: ret + } // end of method ExpressionTrees::IndexerAccess + + .method public hidebysig instance void + IsOperator() cil managed + { + // Code size 54 (0x36) + .maxstack 8 + IL_0000: nop + IL_0001: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0006: ldtoken [mscorlib]System.Object + IL_000b: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0010: call class [System.Core]System.Linq.Expressions.NewExpression [System.Core]System.Linq.Expressions.Expression::New(class [mscorlib]System.Type) + IL_0015: ldtoken [mscorlib]System.String + IL_001a: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_001f: call class [System.Core]System.Linq.Expressions.TypeBinaryExpression [System.Core]System.Linq.Expressions.Expression::TypeIs(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_0024: ldc.i4.0 + IL_0025: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_002a: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_002f: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0034: pop + IL_0035: ret + } // end of method ExpressionTrees::IsOperator + + .method public hidebysig instance void + ListInitializer() cil managed + { + // Code size 347 (0x15b) + .maxstack 11 + IL_0000: nop + IL_0001: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0006: ldtoken class [mscorlib]System.Collections.Generic.Dictionary`2 + IL_000b: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0010: call class [System.Core]System.Linq.Expressions.NewExpression [System.Core]System.Linq.Expressions.Expression::New(class [mscorlib]System.Type) + IL_0015: ldc.i4.3 + IL_0016: newarr [System.Core]System.Linq.Expressions.ElementInit + IL_001b: dup + IL_001c: ldc.i4.0 + IL_001d: ldtoken method instance void class [mscorlib]System.Collections.Generic.Dictionary`2::Add(!0, + !1) + IL_0022: ldtoken class [mscorlib]System.Collections.Generic.Dictionary`2 + IL_0027: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle, + valuetype [mscorlib]System.RuntimeTypeHandle) + IL_002c: castclass [mscorlib]System.Reflection.MethodInfo + IL_0031: ldc.i4.2 + IL_0032: newarr [System.Core]System.Linq.Expressions.Expression + IL_0037: dup + IL_0038: ldc.i4.0 + IL_0039: ldc.i4.1 + IL_003a: box [mscorlib]System.Int32 + IL_003f: ldtoken [mscorlib]System.Int32 + IL_0044: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0049: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_004e: stelem.ref + IL_004f: dup + IL_0050: ldc.i4.1 + IL_0051: ldc.i4.1 + IL_0052: box [mscorlib]System.Int32 + IL_0057: ldtoken [mscorlib]System.Int32 + IL_005c: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0061: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0066: stelem.ref + IL_0067: call class [System.Core]System.Linq.Expressions.ElementInit [System.Core]System.Linq.Expressions.Expression::ElementInit(class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_006c: stelem.ref + IL_006d: dup + IL_006e: ldc.i4.1 + IL_006f: ldtoken method instance void class [mscorlib]System.Collections.Generic.Dictionary`2::Add(!0, + !1) + IL_0074: ldtoken class [mscorlib]System.Collections.Generic.Dictionary`2 + IL_0079: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle, + valuetype [mscorlib]System.RuntimeTypeHandle) + IL_007e: castclass [mscorlib]System.Reflection.MethodInfo + IL_0083: ldc.i4.2 + IL_0084: newarr [System.Core]System.Linq.Expressions.Expression + IL_0089: dup + IL_008a: ldc.i4.0 + IL_008b: ldc.i4.2 + IL_008c: box [mscorlib]System.Int32 + IL_0091: ldtoken [mscorlib]System.Int32 + IL_0096: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_009b: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_00a0: stelem.ref + IL_00a1: dup + IL_00a2: ldc.i4.1 + IL_00a3: ldc.i4.2 + IL_00a4: box [mscorlib]System.Int32 + IL_00a9: ldtoken [mscorlib]System.Int32 + IL_00ae: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00b3: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_00b8: stelem.ref + IL_00b9: call class [System.Core]System.Linq.Expressions.ElementInit [System.Core]System.Linq.Expressions.Expression::ElementInit(class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_00be: stelem.ref + IL_00bf: dup + IL_00c0: ldc.i4.2 + IL_00c1: ldtoken method instance void class [mscorlib]System.Collections.Generic.Dictionary`2::Add(!0, + !1) + IL_00c6: ldtoken class [mscorlib]System.Collections.Generic.Dictionary`2 + IL_00cb: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle, + valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00d0: castclass [mscorlib]System.Reflection.MethodInfo + IL_00d5: ldc.i4.2 + IL_00d6: newarr [System.Core]System.Linq.Expressions.Expression + IL_00db: dup + IL_00dc: ldc.i4.0 + IL_00dd: ldc.i4.3 + IL_00de: box [mscorlib]System.Int32 + IL_00e3: ldtoken [mscorlib]System.Int32 + IL_00e8: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00ed: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_00f2: stelem.ref + IL_00f3: dup + IL_00f4: ldc.i4.1 + IL_00f5: ldc.i4.4 + IL_00f6: box [mscorlib]System.Int32 + IL_00fb: ldtoken [mscorlib]System.Int32 + IL_0100: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0105: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_010a: stelem.ref + IL_010b: call class [System.Core]System.Linq.Expressions.ElementInit [System.Core]System.Linq.Expressions.Expression::ElementInit(class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_0110: stelem.ref + IL_0111: call class [System.Core]System.Linq.Expressions.ListInitExpression [System.Core]System.Linq.Expressions.Expression::ListInit(class [System.Core]System.Linq.Expressions.NewExpression, + class [System.Core]System.Linq.Expressions.ElementInit[]) + IL_0116: ldtoken method instance int32 class [mscorlib]System.Collections.Generic.Dictionary`2::get_Count() + IL_011b: ldtoken class [mscorlib]System.Collections.Generic.Dictionary`2 + IL_0120: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle, + valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0125: castclass [mscorlib]System.Reflection.MethodInfo + IL_012a: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Property(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo) + IL_012f: ldc.i4.3 + IL_0130: box [mscorlib]System.Int32 + IL_0135: ldtoken [mscorlib]System.Int32 + IL_013a: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_013f: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0144: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Equal(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0149: ldc.i4.0 + IL_014a: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_014f: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0154: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0159: pop + IL_015a: ret + } // end of method ExpressionTrees::ListInitializer + + .method public hidebysig instance void + ListInitializer2() cil managed + { + // Code size 316 (0x13c) + .maxstack 11 + IL_0000: nop + IL_0001: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0006: ldtoken method instance void class [mscorlib]System.Collections.Generic.List`1::.ctor(int32) + IL_000b: ldtoken class [mscorlib]System.Collections.Generic.List`1 + IL_0010: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle, + valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0015: castclass [mscorlib]System.Reflection.ConstructorInfo + IL_001a: ldc.i4.1 + IL_001b: newarr [System.Core]System.Linq.Expressions.Expression + IL_0020: dup + IL_0021: ldc.i4.0 + IL_0022: ldc.i4.s 50 + IL_0024: box [mscorlib]System.Int32 + IL_0029: ldtoken [mscorlib]System.Int32 + IL_002e: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0033: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0038: stelem.ref + IL_0039: call class [System.Core]System.Linq.Expressions.NewExpression [System.Core]System.Linq.Expressions.Expression::New(class [mscorlib]System.Reflection.ConstructorInfo, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_003e: ldc.i4.3 + IL_003f: newarr [System.Core]System.Linq.Expressions.ElementInit + IL_0044: dup + IL_0045: ldc.i4.0 + IL_0046: ldtoken method instance void class [mscorlib]System.Collections.Generic.List`1::Add(!0) + IL_004b: ldtoken class [mscorlib]System.Collections.Generic.List`1 + IL_0050: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle, + valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0055: castclass [mscorlib]System.Reflection.MethodInfo + IL_005a: ldc.i4.1 + IL_005b: newarr [System.Core]System.Linq.Expressions.Expression + IL_0060: dup + IL_0061: ldc.i4.0 + IL_0062: ldc.i4.1 + IL_0063: box [mscorlib]System.Int32 + IL_0068: ldtoken [mscorlib]System.Int32 + IL_006d: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0072: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0077: stelem.ref + IL_0078: call class [System.Core]System.Linq.Expressions.ElementInit [System.Core]System.Linq.Expressions.Expression::ElementInit(class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_007d: stelem.ref + IL_007e: dup + IL_007f: ldc.i4.1 + IL_0080: ldtoken method instance void class [mscorlib]System.Collections.Generic.List`1::Add(!0) + IL_0085: ldtoken class [mscorlib]System.Collections.Generic.List`1 + IL_008a: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle, + valuetype [mscorlib]System.RuntimeTypeHandle) + IL_008f: castclass [mscorlib]System.Reflection.MethodInfo + IL_0094: ldc.i4.1 + IL_0095: newarr [System.Core]System.Linq.Expressions.Expression + IL_009a: dup + IL_009b: ldc.i4.0 + IL_009c: ldc.i4.2 + IL_009d: box [mscorlib]System.Int32 + IL_00a2: ldtoken [mscorlib]System.Int32 + IL_00a7: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00ac: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_00b1: stelem.ref + IL_00b2: call class [System.Core]System.Linq.Expressions.ElementInit [System.Core]System.Linq.Expressions.Expression::ElementInit(class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_00b7: stelem.ref + IL_00b8: dup + IL_00b9: ldc.i4.2 + IL_00ba: ldtoken method instance void class [mscorlib]System.Collections.Generic.List`1::Add(!0) + IL_00bf: ldtoken class [mscorlib]System.Collections.Generic.List`1 + IL_00c4: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle, + valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00c9: castclass [mscorlib]System.Reflection.MethodInfo + IL_00ce: ldc.i4.1 + IL_00cf: newarr [System.Core]System.Linq.Expressions.Expression + IL_00d4: dup + IL_00d5: ldc.i4.0 + IL_00d6: ldc.i4.3 + IL_00d7: box [mscorlib]System.Int32 + IL_00dc: ldtoken [mscorlib]System.Int32 + IL_00e1: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00e6: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_00eb: stelem.ref + IL_00ec: call class [System.Core]System.Linq.Expressions.ElementInit [System.Core]System.Linq.Expressions.Expression::ElementInit(class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_00f1: stelem.ref + IL_00f2: call class [System.Core]System.Linq.Expressions.ListInitExpression [System.Core]System.Linq.Expressions.Expression::ListInit(class [System.Core]System.Linq.Expressions.NewExpression, + class [System.Core]System.Linq.Expressions.ElementInit[]) + IL_00f7: ldtoken method instance int32 class [mscorlib]System.Collections.Generic.List`1::get_Count() + IL_00fc: ldtoken class [mscorlib]System.Collections.Generic.List`1 + IL_0101: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle, + valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0106: castclass [mscorlib]System.Reflection.MethodInfo + IL_010b: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Property(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo) + IL_0110: ldc.i4.3 + IL_0111: box [mscorlib]System.Int32 + IL_0116: ldtoken [mscorlib]System.Int32 + IL_011b: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0120: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0125: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Equal(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_012a: ldc.i4.0 + IL_012b: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0130: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0135: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_013a: pop + IL_013b: ret + } // end of method ExpressionTrees::ListInitializer2 + + .method public hidebysig instance void + ListInitializer3() cil managed + { + // Code size 275 (0x113) + .maxstack 11 + IL_0000: nop + IL_0001: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0006: ldtoken class [mscorlib]System.Collections.Generic.List`1 + IL_000b: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0010: call class [System.Core]System.Linq.Expressions.NewExpression [System.Core]System.Linq.Expressions.Expression::New(class [mscorlib]System.Type) + IL_0015: ldc.i4.3 + IL_0016: newarr [System.Core]System.Linq.Expressions.ElementInit + IL_001b: dup + IL_001c: ldc.i4.0 + IL_001d: ldtoken method instance void class [mscorlib]System.Collections.Generic.List`1::Add(!0) + IL_0022: ldtoken class [mscorlib]System.Collections.Generic.List`1 + IL_0027: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle, + valuetype [mscorlib]System.RuntimeTypeHandle) + IL_002c: castclass [mscorlib]System.Reflection.MethodInfo + IL_0031: ldc.i4.1 + IL_0032: newarr [System.Core]System.Linq.Expressions.Expression + IL_0037: dup + IL_0038: ldc.i4.0 + IL_0039: ldc.i4.1 + IL_003a: box [mscorlib]System.Int32 + IL_003f: ldtoken [mscorlib]System.Int32 + IL_0044: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0049: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_004e: stelem.ref + IL_004f: call class [System.Core]System.Linq.Expressions.ElementInit [System.Core]System.Linq.Expressions.Expression::ElementInit(class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_0054: stelem.ref + IL_0055: dup + IL_0056: ldc.i4.1 + IL_0057: ldtoken method instance void class [mscorlib]System.Collections.Generic.List`1::Add(!0) + IL_005c: ldtoken class [mscorlib]System.Collections.Generic.List`1 + IL_0061: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle, + valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0066: castclass [mscorlib]System.Reflection.MethodInfo + IL_006b: ldc.i4.1 + IL_006c: newarr [System.Core]System.Linq.Expressions.Expression + IL_0071: dup + IL_0072: ldc.i4.0 + IL_0073: ldc.i4.2 + IL_0074: box [mscorlib]System.Int32 + IL_0079: ldtoken [mscorlib]System.Int32 + IL_007e: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0083: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0088: stelem.ref + IL_0089: call class [System.Core]System.Linq.Expressions.ElementInit [System.Core]System.Linq.Expressions.Expression::ElementInit(class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_008e: stelem.ref + IL_008f: dup + IL_0090: ldc.i4.2 + IL_0091: ldtoken method instance void class [mscorlib]System.Collections.Generic.List`1::Add(!0) + IL_0096: ldtoken class [mscorlib]System.Collections.Generic.List`1 + IL_009b: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle, + valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00a0: castclass [mscorlib]System.Reflection.MethodInfo + IL_00a5: ldc.i4.1 + IL_00a6: newarr [System.Core]System.Linq.Expressions.Expression + IL_00ab: dup + IL_00ac: ldc.i4.0 + IL_00ad: ldc.i4.3 + IL_00ae: box [mscorlib]System.Int32 + IL_00b3: ldtoken [mscorlib]System.Int32 + IL_00b8: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00bd: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_00c2: stelem.ref + IL_00c3: call class [System.Core]System.Linq.Expressions.ElementInit [System.Core]System.Linq.Expressions.Expression::ElementInit(class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_00c8: stelem.ref + IL_00c9: call class [System.Core]System.Linq.Expressions.ListInitExpression [System.Core]System.Linq.Expressions.Expression::ListInit(class [System.Core]System.Linq.Expressions.NewExpression, + class [System.Core]System.Linq.Expressions.ElementInit[]) + IL_00ce: ldtoken method instance int32 class [mscorlib]System.Collections.Generic.List`1::get_Count() + IL_00d3: ldtoken class [mscorlib]System.Collections.Generic.List`1 + IL_00d8: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle, + valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00dd: castclass [mscorlib]System.Reflection.MethodInfo + IL_00e2: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Property(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo) + IL_00e7: ldc.i4.3 + IL_00e8: box [mscorlib]System.Int32 + IL_00ed: ldtoken [mscorlib]System.Int32 + IL_00f2: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00f7: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_00fc: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Equal(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0101: ldc.i4.0 + IL_0102: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0107: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_010c: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0111: pop + IL_0112: ret + } // end of method ExpressionTrees::ListInitializer3 + + .method public hidebysig instance void + LiteralCharAndProperty() cil managed + { + // Code size 145 (0x91) + .maxstack 7 + IL_0000: nop + IL_0001: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0006: ldtoken method instance void [mscorlib]System.String::.ctor(char, + int32) + IL_000b: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0010: castclass [mscorlib]System.Reflection.ConstructorInfo + IL_0015: ldc.i4.2 + IL_0016: newarr [System.Core]System.Linq.Expressions.Expression + IL_001b: dup + IL_001c: ldc.i4.0 + IL_001d: ldc.i4.s 32 + IL_001f: box [mscorlib]System.Char + IL_0024: ldtoken [mscorlib]System.Char + IL_0029: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_002e: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0033: stelem.ref + IL_0034: dup + IL_0035: ldc.i4.1 + IL_0036: ldc.i4.3 + IL_0037: box [mscorlib]System.Int32 + IL_003c: ldtoken [mscorlib]System.Int32 + IL_0041: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0046: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_004b: stelem.ref + IL_004c: call class [System.Core]System.Linq.Expressions.NewExpression [System.Core]System.Linq.Expressions.Expression::New(class [mscorlib]System.Reflection.ConstructorInfo, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0051: ldtoken method instance int32 [mscorlib]System.String::get_Length() + IL_0056: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_005b: castclass [mscorlib]System.Reflection.MethodInfo + IL_0060: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Property(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo) + IL_0065: ldc.i4.1 + IL_0066: box [mscorlib]System.Int32 + IL_006b: ldtoken [mscorlib]System.Int32 + IL_0070: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0075: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_007a: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Equal(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_007f: ldc.i4.0 + IL_0080: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0085: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_008a: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_008f: pop + IL_0090: ret + } // end of method ExpressionTrees::LiteralCharAndProperty + + .method public hidebysig instance void + CharNoCast() cil managed + { + // Code size 136 (0x88) + .maxstack 8 + IL_0000: nop + IL_0001: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0006: ldstr "abc" + IL_000b: ldtoken [mscorlib]System.String + IL_0010: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0015: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_001a: ldtoken method instance char [mscorlib]System.String::get_Chars(int32) + IL_001f: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0024: castclass [mscorlib]System.Reflection.MethodInfo + IL_0029: ldc.i4.1 + IL_002a: newarr [System.Core]System.Linq.Expressions.Expression + IL_002f: dup + IL_0030: ldc.i4.0 + IL_0031: ldc.i4.1 + IL_0032: box [mscorlib]System.Int32 + IL_0037: ldtoken [mscorlib]System.Int32 + IL_003c: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0041: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0046: stelem.ref + IL_0047: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_004c: ldtoken [mscorlib]System.Int32 + IL_0051: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0056: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_005b: ldc.i4.s 98 + IL_005d: box [mscorlib]System.Int32 + IL_0062: ldtoken [mscorlib]System.Int32 + IL_0067: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_006c: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0071: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Equal(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0076: ldc.i4.0 + IL_0077: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_007c: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0081: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0086: pop + IL_0087: ret + } // end of method ExpressionTrees::CharNoCast + + .method public hidebysig instance void + StringsImplicitCast() cil managed + { + // Code size 407 (0x197) + .maxstack 8 + .locals init (class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass25_0' V_0) + IL_0000: newobj instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass25_0'::.ctor() + IL_0005: stloc.0 + IL_0006: nop + IL_0007: ldloc.0 + IL_0008: ldc.i4.1 + IL_0009: stfld int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass25_0'::i + IL_000e: ldloc.0 + IL_000f: ldstr "X" + IL_0014: stfld string ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass25_0'::x + IL_0019: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_001e: ldstr "a\n\\b" + IL_0023: ldtoken [mscorlib]System.String + IL_0028: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_002d: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0032: ldloc.0 + IL_0033: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass25_0' + IL_0038: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_003d: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0042: ldtoken field string ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass25_0'::x + IL_0047: call class [mscorlib]System.Reflection.FieldInfo [mscorlib]System.Reflection.FieldInfo::GetFieldFromHandle(valuetype [mscorlib]System.RuntimeFieldHandle) + IL_004c: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Field(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.FieldInfo) + IL_0051: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Coalesce(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0056: ldloc.0 + IL_0057: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass25_0' + IL_005c: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0061: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0066: ldtoken field string ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass25_0'::x + IL_006b: call class [mscorlib]System.Reflection.FieldInfo [mscorlib]System.Reflection.FieldInfo::GetFieldFromHandle(valuetype [mscorlib]System.RuntimeFieldHandle) + IL_0070: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Field(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.FieldInfo) + IL_0075: ldtoken method string [mscorlib]System.String::Concat(string, + string) + IL_007a: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_007f: castclass [mscorlib]System.Reflection.MethodInfo + IL_0084: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Add(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo) + IL_0089: ldtoken method instance int32 [mscorlib]System.String::get_Length() + IL_008e: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0093: castclass [mscorlib]System.Reflection.MethodInfo + IL_0098: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Property(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo) + IL_009d: ldc.i4.2 + IL_009e: box [mscorlib]System.Int32 + IL_00a3: ldtoken [mscorlib]System.Int32 + IL_00a8: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00ad: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_00b2: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Equal(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_00b7: ldc.i4.0 + IL_00b8: box [mscorlib]System.Boolean + IL_00bd: ldtoken [mscorlib]System.Boolean + IL_00c2: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00c7: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_00cc: ldc.i4.1 + IL_00cd: box [mscorlib]System.Boolean + IL_00d2: ldtoken [mscorlib]System.Boolean + IL_00d7: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00dc: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_00e1: ldc.i4.1 + IL_00e2: newobj instance void [mscorlib]System.Decimal::.ctor(int32) + IL_00e7: box [mscorlib]System.Decimal + IL_00ec: ldtoken [mscorlib]System.Decimal + IL_00f1: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00f6: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_00fb: ldloc.0 + IL_00fc: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass25_0' + IL_0101: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0106: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_010b: ldtoken field int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass25_0'::i + IL_0110: call class [mscorlib]System.Reflection.FieldInfo [mscorlib]System.Reflection.FieldInfo::GetFieldFromHandle(valuetype [mscorlib]System.RuntimeFieldHandle) + IL_0115: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Field(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.FieldInfo) + IL_011a: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Negate(class [System.Core]System.Linq.Expressions.Expression) + IL_011f: ldtoken [mscorlib]System.Decimal + IL_0124: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0129: ldtoken method valuetype [mscorlib]System.Decimal [mscorlib]System.Decimal::op_Implicit(int32) + IL_012e: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0133: castclass [mscorlib]System.Reflection.MethodInfo + IL_0138: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type, + class [mscorlib]System.Reflection.MethodInfo) + IL_013d: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Add(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0142: ldc.i4.0 + IL_0143: newobj instance void [mscorlib]System.Decimal::.ctor(int32) + IL_0148: box [mscorlib]System.Decimal + IL_014d: ldtoken [mscorlib]System.Decimal + IL_0152: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0157: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_015c: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::GreaterThan(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0161: ldc.i4.0 + IL_0162: box [mscorlib]System.Boolean + IL_0167: ldtoken [mscorlib]System.Boolean + IL_016c: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0171: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0176: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::OrElse(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_017b: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::AndAlso(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0180: call class [System.Core]System.Linq.Expressions.ConditionalExpression [System.Core]System.Linq.Expressions.Expression::Condition(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0185: ldc.i4.0 + IL_0186: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_018b: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0190: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0195: pop + IL_0196: ret + } // end of method ExpressionTrees::StringsImplicitCast + + .method public hidebysig instance void + NotImplicitCast() cil managed + { + // Code size 115 (0x73) + .maxstack 4 + .locals init (class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass26_0' V_0) + IL_0000: newobj instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass26_0'::.ctor() + IL_0005: stloc.0 + IL_0006: nop + IL_0007: ldloc.0 + IL_0008: ldc.i4.s 42 + IL_000a: stfld uint8 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass26_0'::z + IL_000f: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0014: ldloc.0 + IL_0015: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass26_0' + IL_001a: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_001f: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0024: ldtoken field uint8 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass26_0'::z + IL_0029: call class [mscorlib]System.Reflection.FieldInfo [mscorlib]System.Reflection.FieldInfo::GetFieldFromHandle(valuetype [mscorlib]System.RuntimeFieldHandle) + IL_002e: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Field(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.FieldInfo) + IL_0033: ldtoken [mscorlib]System.Int32 + IL_0038: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_003d: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_0042: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Not(class [System.Core]System.Linq.Expressions.Expression) + IL_0047: ldc.i4.0 + IL_0048: box [mscorlib]System.Int32 + IL_004d: ldtoken [mscorlib]System.Int32 + IL_0052: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0057: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_005c: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Equal(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0061: ldc.i4.0 + IL_0062: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0067: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_006c: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0071: pop + IL_0072: ret + } // end of method ExpressionTrees::NotImplicitCast + + .method public hidebysig instance void + MembersBuiltin() cil managed + { + // Code size 402 (0x192) + .maxstack 8 + IL_0000: nop + IL_0001: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0006: ldc.i4.s 123 + IL_0008: ldc.i4.0 + IL_0009: ldc.i4.0 + IL_000a: ldc.i4.0 + IL_000b: ldc.i4.2 + IL_000c: newobj instance void [mscorlib]System.Decimal::.ctor(int32, + int32, + int32, + bool, + uint8) + IL_0011: box [mscorlib]System.Decimal + IL_0016: ldtoken [mscorlib]System.Decimal + IL_001b: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0020: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0025: ldtoken method instance string [mscorlib]System.Decimal::ToString() + IL_002a: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_002f: castclass [mscorlib]System.Reflection.MethodInfo + IL_0034: ldc.i4.0 + IL_0035: newarr [System.Core]System.Linq.Expressions.Expression + IL_003a: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_003f: ldc.i4.0 + IL_0040: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0045: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_004a: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_004f: pop + IL_0050: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0055: ldc.i4 0x7fff + IL_005a: box [mscorlib]System.AttributeTargets + IL_005f: ldtoken [mscorlib]System.AttributeTargets + IL_0064: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0069: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_006e: ldtoken method instance bool [mscorlib]System.Enum::HasFlag(class [mscorlib]System.Enum) + IL_0073: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0078: castclass [mscorlib]System.Reflection.MethodInfo + IL_007d: ldc.i4.1 + IL_007e: newarr [System.Core]System.Linq.Expressions.Expression + IL_0083: dup + IL_0084: ldc.i4.0 + IL_0085: ldc.i4.1 + IL_0086: box [mscorlib]System.AttributeTargets + IL_008b: ldtoken [mscorlib]System.AttributeTargets + IL_0090: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0095: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_009a: ldtoken [mscorlib]System.Enum + IL_009f: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00a4: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_00a9: stelem.ref + IL_00aa: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_00af: ldc.i4.0 + IL_00b0: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_00b5: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_00ba: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_00bf: pop + IL_00c0: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_00c5: ldstr "abc" + IL_00ca: ldtoken [mscorlib]System.String + IL_00cf: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00d4: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_00d9: ldtoken method instance int32 [mscorlib]System.String::get_Length() + IL_00de: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_00e3: castclass [mscorlib]System.Reflection.MethodInfo + IL_00e8: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Property(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo) + IL_00ed: ldc.i4.3 + IL_00ee: box [mscorlib]System.Int32 + IL_00f3: ldtoken [mscorlib]System.Int32 + IL_00f8: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00fd: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0102: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Equal(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0107: ldc.i4.0 + IL_0108: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_010d: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0112: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0117: pop + IL_0118: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_011d: ldc.i4.s 97 + IL_011f: box [mscorlib]System.Char + IL_0124: ldtoken [mscorlib]System.Char + IL_0129: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_012e: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0133: ldtoken method instance int32 [mscorlib]System.Char::CompareTo(char) + IL_0138: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_013d: castclass [mscorlib]System.Reflection.MethodInfo + IL_0142: ldc.i4.1 + IL_0143: newarr [System.Core]System.Linq.Expressions.Expression + IL_0148: dup + IL_0149: ldc.i4.0 + IL_014a: ldc.i4.s 98 + IL_014c: box [mscorlib]System.Char + IL_0151: ldtoken [mscorlib]System.Char + IL_0156: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_015b: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0160: stelem.ref + IL_0161: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_0166: ldc.i4.0 + IL_0167: box [mscorlib]System.Int32 + IL_016c: ldtoken [mscorlib]System.Int32 + IL_0171: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0176: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_017b: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::LessThan(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0180: ldc.i4.0 + IL_0181: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0186: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_018b: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0190: pop + IL_0191: ret + } // end of method ExpressionTrees::MembersBuiltin + + .method public hidebysig instance void + MembersDefault() cil managed + { + // Code size 541 (0x21d) + .maxstack 7 + .locals init (valuetype [mscorlib]System.DateTime V_0) + IL_0000: nop + IL_0001: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0006: ldloca.s V_0 + IL_0008: initobj [mscorlib]System.DateTime + IL_000e: ldloc.0 + IL_000f: box [mscorlib]System.DateTime + IL_0014: ldtoken [mscorlib]System.DateTime + IL_0019: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_001e: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0023: ldtoken method instance int64 [mscorlib]System.DateTime::get_Ticks() + IL_0028: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_002d: castclass [mscorlib]System.Reflection.MethodInfo + IL_0032: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Property(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo) + IL_0037: ldc.i4.0 + IL_0038: conv.i8 + IL_0039: box [mscorlib]System.Int64 + IL_003e: ldtoken [mscorlib]System.Int64 + IL_0043: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0048: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_004d: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Equal(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0052: ldc.i4.0 + IL_0053: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0058: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_005d: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0062: pop + IL_0063: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0068: ldnull + IL_0069: ldtoken [mscorlib]System.Array + IL_006e: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0073: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0078: ldtoken method instance int32 [mscorlib]System.Array::get_Length() + IL_007d: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0082: castclass [mscorlib]System.Reflection.MethodInfo + IL_0087: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Property(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo) + IL_008c: ldc.i4.0 + IL_008d: box [mscorlib]System.Int32 + IL_0092: ldtoken [mscorlib]System.Int32 + IL_0097: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_009c: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_00a1: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Equal(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_00a6: ldc.i4.0 + IL_00a7: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_00ac: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_00b1: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_00b6: pop + IL_00b7: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_00bc: ldnull + IL_00bd: ldtoken [mscorlib]System.Type + IL_00c2: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00c7: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_00cc: ldtoken method instance bool [mscorlib]System.Type::get_IsLayoutSequential() + IL_00d1: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_00d6: castclass [mscorlib]System.Reflection.MethodInfo + IL_00db: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Property(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo) + IL_00e0: ldc.i4.0 + IL_00e1: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_00e6: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_00eb: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_00f0: pop + IL_00f1: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_00f6: ldnull + IL_00f7: ldtoken class [mscorlib]System.Collections.Generic.List`1 + IL_00fc: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0101: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0106: ldtoken method instance int32 class [mscorlib]System.Collections.Generic.List`1::get_Count() + IL_010b: ldtoken class [mscorlib]System.Collections.Generic.List`1 + IL_0110: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle, + valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0115: castclass [mscorlib]System.Reflection.MethodInfo + IL_011a: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Property(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo) + IL_011f: ldc.i4.0 + IL_0120: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0125: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_012a: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_012f: pop + IL_0130: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0135: ldnull + IL_0136: ldtoken [mscorlib]System.Array + IL_013b: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0140: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0145: ldtoken method instance object [mscorlib]System.Array::Clone() + IL_014a: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_014f: castclass [mscorlib]System.Reflection.MethodInfo + IL_0154: ldc.i4.0 + IL_0155: newarr [System.Core]System.Linq.Expressions.Expression + IL_015a: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_015f: ldnull + IL_0160: ldtoken [mscorlib]System.Object + IL_0165: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_016a: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_016f: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Equal(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0174: ldc.i4.0 + IL_0175: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_017a: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_017f: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0184: pop + IL_0185: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_018a: ldnull + IL_018b: ldtoken [mscorlib]System.Type + IL_0190: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0195: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_019a: ldtoken method instance bool [mscorlib]System.Type::IsInstanceOfType(object) + IL_019f: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_01a4: castclass [mscorlib]System.Reflection.MethodInfo + IL_01a9: ldc.i4.1 + IL_01aa: newarr [System.Core]System.Linq.Expressions.Expression + IL_01af: dup + IL_01b0: ldc.i4.0 + IL_01b1: ldtoken [mscorlib]System.Object + IL_01b6: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_01bb: call class [System.Core]System.Linq.Expressions.NewExpression [System.Core]System.Linq.Expressions.Expression::New(class [mscorlib]System.Type) + IL_01c0: stelem.ref + IL_01c1: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_01c6: ldc.i4.0 + IL_01c7: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_01cc: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_01d1: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_01d6: pop + IL_01d7: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_01dc: ldnull + IL_01dd: ldtoken class [mscorlib]System.Collections.Generic.List`1 + IL_01e2: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_01e7: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_01ec: ldtoken method instance class [mscorlib]System.Collections.ObjectModel.ReadOnlyCollection`1 class [mscorlib]System.Collections.Generic.List`1::AsReadOnly() + IL_01f1: ldtoken class [mscorlib]System.Collections.Generic.List`1 + IL_01f6: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle, + valuetype [mscorlib]System.RuntimeTypeHandle) + IL_01fb: castclass [mscorlib]System.Reflection.MethodInfo + IL_0200: ldc.i4.0 + IL_0201: newarr [System.Core]System.Linq.Expressions.Expression + IL_0206: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_020b: ldc.i4.0 + IL_020c: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0211: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0216: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode>(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_021b: pop + IL_021c: ret + } // end of method ExpressionTrees::MembersDefault + + .method public hidebysig instance void + DoAssert() cil managed + { + // Code size 347 (0x15b) + .maxstack 9 + IL_0000: nop + IL_0001: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0006: ldarg.0 + IL_0007: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees + IL_000c: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0011: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0016: ldtoken field int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::'field' + IL_001b: call class [mscorlib]System.Reflection.FieldInfo [mscorlib]System.Reflection.FieldInfo::GetFieldFromHandle(valuetype [mscorlib]System.RuntimeFieldHandle) + IL_0020: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Field(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.FieldInfo) + IL_0025: ldarg.0 + IL_0026: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees + IL_002b: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0030: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0035: ldtoken method instance int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::C() + IL_003a: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_003f: castclass [mscorlib]System.Reflection.MethodInfo + IL_0044: ldc.i4.0 + IL_0045: newarr [System.Core]System.Linq.Expressions.Expression + IL_004a: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_004f: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::NotEqual(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0054: ldc.i4.0 + IL_0055: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_005a: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_005f: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0064: pop + IL_0065: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_006a: ldnull + IL_006b: ldtoken method bool [mscorlib]System.Object::ReferenceEquals(object, + object) + IL_0070: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0075: castclass [mscorlib]System.Reflection.MethodInfo + IL_007a: ldc.i4.2 + IL_007b: newarr [System.Core]System.Linq.Expressions.Expression + IL_0080: dup + IL_0081: ldc.i4.0 + IL_0082: ldarg.0 + IL_0083: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees + IL_0088: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_008d: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0092: stelem.ref + IL_0093: dup + IL_0094: ldc.i4.1 + IL_0095: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees + IL_009a: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_009f: call class [System.Core]System.Linq.Expressions.NewExpression [System.Core]System.Linq.Expressions.Expression::New(class [mscorlib]System.Type) + IL_00a4: stelem.ref + IL_00a5: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_00aa: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Not(class [System.Core]System.Linq.Expressions.Expression) + IL_00af: ldc.i4.0 + IL_00b0: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_00b5: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_00ba: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_00bf: pop + IL_00c0: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_00c5: ldarg.0 + IL_00c6: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees + IL_00cb: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00d0: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_00d5: ldtoken method instance bool ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::MyEquals(class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees) + IL_00da: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_00df: castclass [mscorlib]System.Reflection.MethodInfo + IL_00e4: ldc.i4.1 + IL_00e5: newarr [System.Core]System.Linq.Expressions.Expression + IL_00ea: dup + IL_00eb: ldc.i4.0 + IL_00ec: ldarg.0 + IL_00ed: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees + IL_00f2: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00f7: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_00fc: stelem.ref + IL_00fd: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_0102: ldarg.0 + IL_0103: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees + IL_0108: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_010d: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0112: ldtoken method instance bool ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::MyEquals(class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees) + IL_0117: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_011c: castclass [mscorlib]System.Reflection.MethodInfo + IL_0121: ldc.i4.1 + IL_0122: newarr [System.Core]System.Linq.Expressions.Expression + IL_0127: dup + IL_0128: ldc.i4.0 + IL_0129: ldnull + IL_012a: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees + IL_012f: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0134: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0139: stelem.ref + IL_013a: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_013f: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Not(class [System.Core]System.Linq.Expressions.Expression) + IL_0144: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::AndAlso(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0149: ldc.i4.0 + IL_014a: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_014f: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0154: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0159: pop + IL_015a: ret + } // end of method ExpressionTrees::DoAssert + + .method private hidebysig instance int32 + C() cil managed + { + // Code size 7 (0x7) + .maxstack 8 + IL_0000: nop + IL_0001: newobj instance void [mscorlib]System.NotImplementedException::.ctor() + IL_0006: throw + } // end of method ExpressionTrees::C + + .method private hidebysig instance bool + MyEquals(class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees other) cil managed + { + // Code size 7 (0x7) + .maxstack 8 + IL_0000: nop + IL_0001: newobj instance void [mscorlib]System.NotImplementedException::.ctor() + IL_0006: throw + } // end of method ExpressionTrees::MyEquals + + .method public hidebysig instance void + MethodGroupAsExtensionMethod() cil managed + { + // Code size 274 (0x112) + .maxstack 12 + IL_0000: nop + IL_0001: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0006: ldtoken method bool [System.Core]System.Linq.Enumerable::Any(class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_000b: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0010: castclass [mscorlib]System.Reflection.MethodInfo + IL_0015: ldtoken [mscorlib]System.Reflection.MethodInfo + IL_001a: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_001f: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0024: ldtoken method instance class [mscorlib]System.Delegate [mscorlib]System.Reflection.MethodInfo::CreateDelegate(class [mscorlib]System.Type, + object) + IL_0029: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_002e: castclass [mscorlib]System.Reflection.MethodInfo + IL_0033: ldc.i4.2 + IL_0034: newarr [System.Core]System.Linq.Expressions.Expression + IL_0039: dup + IL_003a: ldc.i4.0 + IL_003b: ldtoken class [mscorlib]System.Func`1 + IL_0040: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0045: ldtoken [mscorlib]System.Type + IL_004a: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_004f: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0054: stelem.ref + IL_0055: dup + IL_0056: ldc.i4.1 + IL_0057: ldtoken [mscorlib]System.Int32 + IL_005c: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0061: ldc.i4.4 + IL_0062: newarr [System.Core]System.Linq.Expressions.Expression + IL_0067: dup + IL_0068: ldc.i4.0 + IL_0069: ldc.i4 0x7d0 + IL_006e: box [mscorlib]System.Int32 + IL_0073: ldtoken [mscorlib]System.Int32 + IL_0078: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_007d: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0082: stelem.ref + IL_0083: dup + IL_0084: ldc.i4.1 + IL_0085: ldc.i4 0x7d4 + IL_008a: box [mscorlib]System.Int32 + IL_008f: ldtoken [mscorlib]System.Int32 + IL_0094: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0099: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_009e: stelem.ref + IL_009f: dup + IL_00a0: ldc.i4.2 + IL_00a1: ldc.i4 0x7d8 + IL_00a6: box [mscorlib]System.Int32 + IL_00ab: ldtoken [mscorlib]System.Int32 + IL_00b0: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00b5: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_00ba: stelem.ref + IL_00bb: dup + IL_00bc: ldc.i4.3 + IL_00bd: ldc.i4 0x7dc + IL_00c2: box [mscorlib]System.Int32 + IL_00c7: ldtoken [mscorlib]System.Int32 + IL_00cc: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00d1: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_00d6: stelem.ref + IL_00d7: call class [System.Core]System.Linq.Expressions.NewArrayExpression [System.Core]System.Linq.Expressions.Expression::NewArrayInit(class [mscorlib]System.Type, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_00dc: ldtoken class [mscorlib]System.Collections.Generic.IEnumerable`1 + IL_00e1: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00e6: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_00eb: stelem.ref + IL_00ec: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_00f1: ldtoken class [mscorlib]System.Func`1 + IL_00f6: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00fb: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_0100: ldc.i4.0 + IL_0101: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0106: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_010b: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode>(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0110: pop + IL_0111: ret + } // end of method ExpressionTrees::MethodGroupAsExtensionMethod + + .method public hidebysig instance void + MethodGroupConstant() cil managed + { + // Code size 873 (0x369) + .maxstack 13 + .locals init (class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass33_0' V_0) + IL_0000: newobj instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass33_0'::.ctor() + IL_0005: stloc.0 + IL_0006: nop + IL_0007: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_000c: ldnull + IL_000d: ldtoken method bool [mscorlib]System.Array::TrueForAll(!!0[], + class [mscorlib]System.Predicate`1) + IL_0012: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0017: castclass [mscorlib]System.Reflection.MethodInfo + IL_001c: ldc.i4.2 + IL_001d: newarr [System.Core]System.Linq.Expressions.Expression + IL_0022: dup + IL_0023: ldc.i4.0 + IL_0024: ldtoken [mscorlib]System.Int32 + IL_0029: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_002e: ldc.i4.4 + IL_002f: newarr [System.Core]System.Linq.Expressions.Expression + IL_0034: dup + IL_0035: ldc.i4.0 + IL_0036: ldc.i4 0x7d0 + IL_003b: box [mscorlib]System.Int32 + IL_0040: ldtoken [mscorlib]System.Int32 + IL_0045: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_004a: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_004f: stelem.ref + IL_0050: dup + IL_0051: ldc.i4.1 + IL_0052: ldc.i4 0x7d4 + IL_0057: box [mscorlib]System.Int32 + IL_005c: ldtoken [mscorlib]System.Int32 + IL_0061: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0066: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_006b: stelem.ref + IL_006c: dup + IL_006d: ldc.i4.2 + IL_006e: ldc.i4 0x7d8 + IL_0073: box [mscorlib]System.Int32 + IL_0078: ldtoken [mscorlib]System.Int32 + IL_007d: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0082: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0087: stelem.ref + IL_0088: dup + IL_0089: ldc.i4.3 + IL_008a: ldc.i4 0x7dc + IL_008f: box [mscorlib]System.Int32 + IL_0094: ldtoken [mscorlib]System.Int32 + IL_0099: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_009e: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_00a3: stelem.ref + IL_00a4: call class [System.Core]System.Linq.Expressions.NewArrayExpression [System.Core]System.Linq.Expressions.Expression::NewArrayInit(class [mscorlib]System.Type, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_00a9: stelem.ref + IL_00aa: dup + IL_00ab: ldc.i4.1 + IL_00ac: ldtoken method bool [mscorlib]System.DateTime::IsLeapYear(int32) + IL_00b1: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_00b6: castclass [mscorlib]System.Reflection.MethodInfo + IL_00bb: ldtoken [mscorlib]System.Reflection.MethodInfo + IL_00c0: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00c5: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_00ca: ldtoken method instance class [mscorlib]System.Delegate [mscorlib]System.Reflection.MethodInfo::CreateDelegate(class [mscorlib]System.Type, + object) + IL_00cf: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_00d4: castclass [mscorlib]System.Reflection.MethodInfo + IL_00d9: ldc.i4.2 + IL_00da: newarr [System.Core]System.Linq.Expressions.Expression + IL_00df: dup + IL_00e0: ldc.i4.0 + IL_00e1: ldtoken class [mscorlib]System.Predicate`1 + IL_00e6: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00eb: ldtoken [mscorlib]System.Type + IL_00f0: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00f5: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_00fa: stelem.ref + IL_00fb: dup + IL_00fc: ldc.i4.1 + IL_00fd: ldnull + IL_00fe: ldtoken [mscorlib]System.Object + IL_0103: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0108: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_010d: stelem.ref + IL_010e: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_0113: ldtoken class [mscorlib]System.Predicate`1 + IL_0118: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_011d: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_0122: stelem.ref + IL_0123: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_0128: ldc.i4.0 + IL_0129: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_012e: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0133: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0138: pop + IL_0139: ldloc.0 + IL_013a: newobj instance void class [System.Core]System.Collections.Generic.HashSet`1::.ctor() + IL_013f: stfld class [System.Core]System.Collections.Generic.HashSet`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass33_0'::set + IL_0144: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0149: ldnull + IL_014a: ldtoken method bool [System.Core]System.Linq.Enumerable::All(class [mscorlib]System.Collections.Generic.IEnumerable`1, + class [mscorlib]System.Func`2) + IL_014f: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0154: castclass [mscorlib]System.Reflection.MethodInfo + IL_0159: ldc.i4.2 + IL_015a: newarr [System.Core]System.Linq.Expressions.Expression + IL_015f: dup + IL_0160: ldc.i4.0 + IL_0161: ldtoken [mscorlib]System.Int32 + IL_0166: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_016b: ldc.i4.4 + IL_016c: newarr [System.Core]System.Linq.Expressions.Expression + IL_0171: dup + IL_0172: ldc.i4.0 + IL_0173: ldc.i4 0x7d0 + IL_0178: box [mscorlib]System.Int32 + IL_017d: ldtoken [mscorlib]System.Int32 + IL_0182: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0187: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_018c: stelem.ref + IL_018d: dup + IL_018e: ldc.i4.1 + IL_018f: ldc.i4 0x7d4 + IL_0194: box [mscorlib]System.Int32 + IL_0199: ldtoken [mscorlib]System.Int32 + IL_019e: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_01a3: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_01a8: stelem.ref + IL_01a9: dup + IL_01aa: ldc.i4.2 + IL_01ab: ldc.i4 0x7d8 + IL_01b0: box [mscorlib]System.Int32 + IL_01b5: ldtoken [mscorlib]System.Int32 + IL_01ba: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_01bf: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_01c4: stelem.ref + IL_01c5: dup + IL_01c6: ldc.i4.3 + IL_01c7: ldc.i4 0x7dc + IL_01cc: box [mscorlib]System.Int32 + IL_01d1: ldtoken [mscorlib]System.Int32 + IL_01d6: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_01db: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_01e0: stelem.ref + IL_01e1: call class [System.Core]System.Linq.Expressions.NewArrayExpression [System.Core]System.Linq.Expressions.Expression::NewArrayInit(class [mscorlib]System.Type, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_01e6: stelem.ref + IL_01e7: dup + IL_01e8: ldc.i4.1 + IL_01e9: ldtoken method instance bool class [System.Core]System.Collections.Generic.HashSet`1::Add(!0) + IL_01ee: ldtoken class [System.Core]System.Collections.Generic.HashSet`1 + IL_01f3: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle, + valuetype [mscorlib]System.RuntimeTypeHandle) + IL_01f8: castclass [mscorlib]System.Reflection.MethodInfo + IL_01fd: ldtoken [mscorlib]System.Reflection.MethodInfo + IL_0202: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0207: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_020c: ldtoken method instance class [mscorlib]System.Delegate [mscorlib]System.Reflection.MethodInfo::CreateDelegate(class [mscorlib]System.Type, + object) + IL_0211: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0216: castclass [mscorlib]System.Reflection.MethodInfo + IL_021b: ldc.i4.2 + IL_021c: newarr [System.Core]System.Linq.Expressions.Expression + IL_0221: dup + IL_0222: ldc.i4.0 + IL_0223: ldtoken class [mscorlib]System.Func`2 + IL_0228: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_022d: ldtoken [mscorlib]System.Type + IL_0232: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0237: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_023c: stelem.ref + IL_023d: dup + IL_023e: ldc.i4.1 + IL_023f: ldloc.0 + IL_0240: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass33_0' + IL_0245: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_024a: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_024f: ldtoken field class [System.Core]System.Collections.Generic.HashSet`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass33_0'::set + IL_0254: call class [mscorlib]System.Reflection.FieldInfo [mscorlib]System.Reflection.FieldInfo::GetFieldFromHandle(valuetype [mscorlib]System.RuntimeFieldHandle) + IL_0259: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Field(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.FieldInfo) + IL_025e: stelem.ref + IL_025f: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_0264: ldtoken class [mscorlib]System.Func`2 + IL_0269: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_026e: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_0273: stelem.ref + IL_0274: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_0279: ldc.i4.0 + IL_027a: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_027f: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0284: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0289: pop + IL_028a: ldloc.0 + IL_028b: ldsfld class [mscorlib]System.Func`2,bool> ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__33_0' + IL_0290: dup + IL_0291: brtrue.s IL_02aa + + IL_0293: pop + IL_0294: ldsfld class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c' ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9' + IL_0299: ldftn instance bool ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'b__33_0'(class [mscorlib]System.Func`3) + IL_029f: newobj instance void class [mscorlib]System.Func`2,bool>::.ctor(object, + native int) + IL_02a4: dup + IL_02a5: stsfld class [mscorlib]System.Func`2,bool> ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__33_0' + IL_02aa: stfld class [mscorlib]System.Func`2,bool> ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass33_0'::sink + IL_02af: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_02b4: ldloc.0 + IL_02b5: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass33_0' + IL_02ba: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_02bf: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_02c4: ldtoken field class [mscorlib]System.Func`2,bool> ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass33_0'::sink + IL_02c9: call class [mscorlib]System.Reflection.FieldInfo [mscorlib]System.Reflection.FieldInfo::GetFieldFromHandle(valuetype [mscorlib]System.RuntimeFieldHandle) + IL_02ce: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Field(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.FieldInfo) + IL_02d3: ldc.i4.1 + IL_02d4: newarr [System.Core]System.Linq.Expressions.Expression + IL_02d9: dup + IL_02da: ldc.i4.0 + IL_02db: ldtoken method bool [mscorlib]System.Object::Equals(object, + object) + IL_02e0: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_02e5: castclass [mscorlib]System.Reflection.MethodInfo + IL_02ea: ldtoken [mscorlib]System.Reflection.MethodInfo + IL_02ef: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_02f4: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_02f9: ldtoken method instance class [mscorlib]System.Delegate [mscorlib]System.Reflection.MethodInfo::CreateDelegate(class [mscorlib]System.Type, + object) + IL_02fe: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0303: castclass [mscorlib]System.Reflection.MethodInfo + IL_0308: ldc.i4.2 + IL_0309: newarr [System.Core]System.Linq.Expressions.Expression + IL_030e: dup + IL_030f: ldc.i4.0 + IL_0310: ldtoken class [mscorlib]System.Func`3 + IL_0315: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_031a: ldtoken [mscorlib]System.Type + IL_031f: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0324: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0329: stelem.ref + IL_032a: dup + IL_032b: ldc.i4.1 + IL_032c: ldnull + IL_032d: ldtoken [mscorlib]System.Object + IL_0332: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0337: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_033c: stelem.ref + IL_033d: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_0342: ldtoken class [mscorlib]System.Func`3 + IL_0347: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_034c: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_0351: stelem.ref + IL_0352: call class [System.Core]System.Linq.Expressions.InvocationExpression [System.Core]System.Linq.Expressions.Expression::Invoke(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_0357: ldc.i4.0 + IL_0358: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_035d: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0362: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0367: pop + IL_0368: ret + } // end of method ExpressionTrees::MethodGroupConstant + + .method public hidebysig instance void + MultipleCasts() cil managed + { + // Code size 101 (0x65) + .maxstack 4 + IL_0000: nop + IL_0001: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0006: ldc.i4.1 + IL_0007: box [mscorlib]System.Int32 + IL_000c: ldtoken [mscorlib]System.Int32 + IL_0011: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0016: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_001b: ldc.i4.1 + IL_001c: box [mscorlib]System.Int32 + IL_0021: ldtoken [mscorlib]System.Int32 + IL_0026: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_002b: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0030: ldtoken [mscorlib]System.Object + IL_0035: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_003a: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_003f: ldtoken [mscorlib]System.Int32 + IL_0044: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0049: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_004e: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Equal(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0053: ldc.i4.0 + IL_0054: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0059: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_005e: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0063: pop + IL_0064: ret + } // end of method ExpressionTrees::MultipleCasts + + .method public hidebysig instance void + MultipleDots() cil managed + { + // Code size 143 (0x8f) + .maxstack 4 + IL_0000: nop + IL_0001: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0006: ldc.i4.3 + IL_0007: box [mscorlib]System.Int32 + IL_000c: ldtoken [mscorlib]System.Int32 + IL_0011: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0016: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_001b: ldtoken method instance string [mscorlib]System.Int32::ToString() + IL_0020: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0025: castclass [mscorlib]System.Reflection.MethodInfo + IL_002a: ldc.i4.0 + IL_002b: newarr [System.Core]System.Linq.Expressions.Expression + IL_0030: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_0035: ldtoken method instance string [mscorlib]System.Object::ToString() + IL_003a: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_003f: castclass [mscorlib]System.Reflection.MethodInfo + IL_0044: ldc.i4.0 + IL_0045: newarr [System.Core]System.Linq.Expressions.Expression + IL_004a: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_004f: ldtoken method instance int32 [mscorlib]System.String::get_Length() + IL_0054: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0059: castclass [mscorlib]System.Reflection.MethodInfo + IL_005e: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Property(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo) + IL_0063: ldc.i4.0 + IL_0064: box [mscorlib]System.Int32 + IL_0069: ldtoken [mscorlib]System.Int32 + IL_006e: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0073: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0078: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::GreaterThan(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_007d: ldc.i4.0 + IL_007e: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0083: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0088: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_008d: pop + IL_008e: ret + } // end of method ExpressionTrees::MultipleDots + + .method public hidebysig instance void + NestedLambda() cil managed + { + // Code size 548 (0x224) + .maxstack 12 + .locals init (class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass36_0' V_0, + class [System.Core]System.Linq.Expressions.ParameterExpression V_1, + class [System.Core]System.Linq.Expressions.ParameterExpression V_2) + IL_0000: newobj instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass36_0'::.ctor() + IL_0005: stloc.0 + IL_0006: nop + IL_0007: ldloc.0 + IL_0008: ldsfld class [mscorlib]System.Func`2,int32> ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__36_0' + IL_000d: dup + IL_000e: brtrue.s IL_0027 + + IL_0010: pop + IL_0011: ldsfld class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c' ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9' + IL_0016: ldftn instance int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'b__36_0'(class [mscorlib]System.Func`1) + IL_001c: newobj instance void class [mscorlib]System.Func`2,int32>::.ctor(object, + native int) + IL_0021: dup + IL_0022: stsfld class [mscorlib]System.Func`2,int32> ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__36_0' + IL_0027: stfld class [mscorlib]System.Func`2,int32> ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass36_0'::'call' + IL_002c: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0031: ldloc.0 + IL_0032: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass36_0' + IL_0037: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_003c: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0041: ldtoken field class [mscorlib]System.Func`2,int32> ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass36_0'::'call' + IL_0046: call class [mscorlib]System.Reflection.FieldInfo [mscorlib]System.Reflection.FieldInfo::GetFieldFromHandle(valuetype [mscorlib]System.RuntimeFieldHandle) + IL_004b: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Field(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.FieldInfo) + IL_0050: ldc.i4.1 + IL_0051: newarr [System.Core]System.Linq.Expressions.Expression + IL_0056: dup + IL_0057: ldc.i4.0 + IL_0058: ldc.i4.s 42 + IL_005a: box [mscorlib]System.Int32 + IL_005f: ldtoken [mscorlib]System.Int32 + IL_0064: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0069: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_006e: ldc.i4.0 + IL_006f: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0074: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0079: stelem.ref + IL_007a: call class [System.Core]System.Linq.Expressions.InvocationExpression [System.Core]System.Linq.Expressions.Expression::Invoke(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_007f: ldc.i4.0 + IL_0080: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0085: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_008a: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_008f: pop + IL_0090: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0095: ldnull + IL_0096: ldtoken method class [mscorlib]System.Collections.Generic.IEnumerable`1 [System.Core]System.Linq.Enumerable::Select(class [mscorlib]System.Collections.Generic.IEnumerable`1, + class [mscorlib]System.Func`2) + IL_009b: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_00a0: castclass [mscorlib]System.Reflection.MethodInfo + IL_00a5: ldc.i4.2 + IL_00a6: newarr [System.Core]System.Linq.Expressions.Expression + IL_00ab: dup + IL_00ac: ldc.i4.0 + IL_00ad: ldtoken [mscorlib]System.Int32 + IL_00b2: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00b7: ldc.i4.2 + IL_00b8: newarr [System.Core]System.Linq.Expressions.Expression + IL_00bd: dup + IL_00be: ldc.i4.0 + IL_00bf: ldc.i4.s 37 + IL_00c1: box [mscorlib]System.Int32 + IL_00c6: ldtoken [mscorlib]System.Int32 + IL_00cb: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00d0: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_00d5: stelem.ref + IL_00d6: dup + IL_00d7: ldc.i4.1 + IL_00d8: ldc.i4.s 42 + IL_00da: box [mscorlib]System.Int32 + IL_00df: ldtoken [mscorlib]System.Int32 + IL_00e4: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00e9: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_00ee: stelem.ref + IL_00ef: call class [System.Core]System.Linq.Expressions.NewArrayExpression [System.Core]System.Linq.Expressions.Expression::NewArrayInit(class [mscorlib]System.Type, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_00f4: stelem.ref + IL_00f5: dup + IL_00f6: ldc.i4.1 + IL_00f7: ldtoken [mscorlib]System.Int32 + IL_00fc: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0101: ldstr "x" + IL_0106: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_010b: stloc.1 + IL_010c: ldloc.1 + IL_010d: ldc.i4.2 + IL_010e: box [mscorlib]System.Int32 + IL_0113: ldtoken [mscorlib]System.Int32 + IL_0118: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_011d: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0122: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Multiply(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0127: ldc.i4.1 + IL_0128: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_012d: dup + IL_012e: ldc.i4.0 + IL_012f: ldloc.1 + IL_0130: stelem.ref + IL_0131: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0136: stelem.ref + IL_0137: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_013c: ldc.i4.0 + IL_013d: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0142: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0147: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode>(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_014c: pop + IL_014d: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0152: ldnull + IL_0153: ldtoken method class [mscorlib]System.Collections.Generic.IEnumerable`1 [System.Core]System.Linq.Enumerable::Select(class [mscorlib]System.Collections.Generic.IEnumerable`1, + class [mscorlib]System.Func`3) + IL_0158: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_015d: castclass [mscorlib]System.Reflection.MethodInfo + IL_0162: ldc.i4.2 + IL_0163: newarr [System.Core]System.Linq.Expressions.Expression + IL_0168: dup + IL_0169: ldc.i4.0 + IL_016a: ldtoken [mscorlib]System.Int32 + IL_016f: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0174: ldc.i4.2 + IL_0175: newarr [System.Core]System.Linq.Expressions.Expression + IL_017a: dup + IL_017b: ldc.i4.0 + IL_017c: ldc.i4.s 37 + IL_017e: box [mscorlib]System.Int32 + IL_0183: ldtoken [mscorlib]System.Int32 + IL_0188: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_018d: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0192: stelem.ref + IL_0193: dup + IL_0194: ldc.i4.1 + IL_0195: ldc.i4.s 42 + IL_0197: box [mscorlib]System.Int32 + IL_019c: ldtoken [mscorlib]System.Int32 + IL_01a1: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_01a6: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_01ab: stelem.ref + IL_01ac: call class [System.Core]System.Linq.Expressions.NewArrayExpression [System.Core]System.Linq.Expressions.Expression::NewArrayInit(class [mscorlib]System.Type, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_01b1: stelem.ref + IL_01b2: dup + IL_01b3: ldc.i4.1 + IL_01b4: ldtoken [mscorlib]System.Int32 + IL_01b9: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_01be: ldstr "x" + IL_01c3: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_01c8: stloc.1 + IL_01c9: ldtoken [mscorlib]System.Int32 + IL_01ce: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_01d3: ldstr "i" + IL_01d8: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_01dd: stloc.2 + IL_01de: ldloc.1 + IL_01df: ldc.i4.2 + IL_01e0: box [mscorlib]System.Int32 + IL_01e5: ldtoken [mscorlib]System.Int32 + IL_01ea: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_01ef: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_01f4: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Multiply(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_01f9: ldc.i4.2 + IL_01fa: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_01ff: dup + IL_0200: ldc.i4.0 + IL_0201: ldloc.1 + IL_0202: stelem.ref + IL_0203: dup + IL_0204: ldc.i4.1 + IL_0205: ldloc.2 + IL_0206: stelem.ref + IL_0207: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_020c: stelem.ref + IL_020d: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_0212: ldc.i4.0 + IL_0213: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0218: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_021d: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode>(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0222: pop + IL_0223: ret + } // end of method ExpressionTrees::NestedLambda + + .method public hidebysig instance void + CurriedLambda() cil managed + { + // Code size 134 (0x86) + .maxstack 6 + .locals init (class [System.Core]System.Linq.Expressions.ParameterExpression V_0, + class [System.Core]System.Linq.Expressions.ParameterExpression V_1, + class [System.Core]System.Linq.Expressions.ParameterExpression V_2) + IL_0000: nop + IL_0001: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0006: ldtoken [mscorlib]System.Int32 + IL_000b: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0010: ldstr "a" + IL_0015: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_001a: stloc.0 + IL_001b: ldtoken [mscorlib]System.Int32 + IL_0020: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0025: ldstr "b" + IL_002a: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_002f: stloc.1 + IL_0030: ldtoken [mscorlib]System.Int32 + IL_0035: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_003a: ldstr "c" + IL_003f: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0044: stloc.2 + IL_0045: ldloc.0 + IL_0046: ldloc.1 + IL_0047: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Add(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_004c: ldloc.2 + IL_004d: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Add(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0052: ldc.i4.1 + IL_0053: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0058: dup + IL_0059: ldc.i4.0 + IL_005a: ldloc.2 + IL_005b: stelem.ref + IL_005c: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0061: ldc.i4.1 + IL_0062: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0067: dup + IL_0068: ldc.i4.0 + IL_0069: ldloc.1 + IL_006a: stelem.ref + IL_006b: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0070: ldc.i4.1 + IL_0071: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0076: dup + IL_0077: ldc.i4.0 + IL_0078: ldloc.0 + IL_0079: stelem.ref + IL_007a: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>>>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_007f: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode>>(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0084: pop + IL_0085: ret + } // end of method ExpressionTrees::CurriedLambda + + .method private hidebysig instance bool + Fizz(class [mscorlib]System.Func`2 a) cil managed + { + // Code size 14 (0xe) + .maxstack 2 + .locals init (bool V_0) + IL_0000: nop + IL_0001: ldarg.1 + IL_0002: ldc.i4.s 42 + IL_0004: callvirt instance !1 class [mscorlib]System.Func`2::Invoke(!0) + IL_0009: stloc.0 + IL_000a: br.s IL_000c + + IL_000c: ldloc.0 + IL_000d: ret + } // end of method ExpressionTrees::Fizz + + .method private hidebysig instance bool + Buzz(class [mscorlib]System.Func`2 a) cil managed + { + // Code size 14 (0xe) + .maxstack 2 + .locals init (bool V_0) + IL_0000: nop + IL_0001: ldarg.1 + IL_0002: ldc.i4.s 42 + IL_0004: callvirt instance !1 class [mscorlib]System.Func`2::Invoke(!0) + IL_0009: stloc.0 + IL_000a: br.s IL_000c + + IL_000c: ldloc.0 + IL_000d: ret + } // end of method ExpressionTrees::Buzz + + .method private hidebysig instance bool + Fizz(class [mscorlib]System.Func`2 a) cil managed + { + // Code size 17 (0x11) + .maxstack 2 + .locals init (bool V_0) + IL_0000: nop + IL_0001: ldarg.1 + IL_0002: ldstr "42" + IL_0007: callvirt instance !1 class [mscorlib]System.Func`2::Invoke(!0) + IL_000c: stloc.0 + IL_000d: br.s IL_000f + + IL_000f: ldloc.0 + IL_0010: ret + } // end of method ExpressionTrees::Fizz + + .method private hidebysig instance bool + Fizz(class [mscorlib]System.Func`2 a) cil managed + { + // Code size 13 (0xd) + .maxstack 2 + .locals init (bool V_0) + IL_0000: nop + IL_0001: ldarg.1 + IL_0002: ldnull + IL_0003: callvirt instance !1 class [mscorlib]System.Func`2::Invoke(!0) + IL_0008: stloc.0 + IL_0009: br.s IL_000b + + IL_000b: ldloc.0 + IL_000c: ret + } // end of method ExpressionTrees::Fizz + + .method public hidebysig instance void + NestedLambda2() cil managed + { + // Code size 1125 (0x465) + .maxstack 14 + .locals init (class [System.Core]System.Linq.Expressions.ParameterExpression V_0) + IL_0000: nop + IL_0001: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0006: ldarg.0 + IL_0007: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees + IL_000c: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0011: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0016: ldtoken method instance bool ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Fizz(class [mscorlib]System.Func`2) + IL_001b: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0020: castclass [mscorlib]System.Reflection.MethodInfo + IL_0025: ldc.i4.1 + IL_0026: newarr [System.Core]System.Linq.Expressions.Expression + IL_002b: dup + IL_002c: ldc.i4.0 + IL_002d: ldtoken [mscorlib]System.String + IL_0032: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0037: ldstr "x" + IL_003c: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0041: stloc.0 + IL_0042: ldloc.0 + IL_0043: ldstr "a" + IL_0048: ldtoken [mscorlib]System.String + IL_004d: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0052: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0057: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Equal(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_005c: ldc.i4.1 + IL_005d: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0062: dup + IL_0063: ldc.i4.0 + IL_0064: ldloc.0 + IL_0065: stelem.ref + IL_0066: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_006b: stelem.ref + IL_006c: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_0071: ldc.i4.0 + IL_0072: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0077: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_007c: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0081: pop + IL_0082: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0087: ldarg.0 + IL_0088: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees + IL_008d: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0092: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0097: ldtoken method instance bool ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Fizz(class [mscorlib]System.Func`2) + IL_009c: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_00a1: castclass [mscorlib]System.Reflection.MethodInfo + IL_00a6: ldc.i4.1 + IL_00a7: newarr [System.Core]System.Linq.Expressions.Expression + IL_00ac: dup + IL_00ad: ldc.i4.0 + IL_00ae: ldtoken [mscorlib]System.String + IL_00b3: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00b8: ldstr "x" + IL_00bd: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_00c2: stloc.0 + IL_00c3: ldloc.0 + IL_00c4: ldstr "a" + IL_00c9: ldtoken [mscorlib]System.String + IL_00ce: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00d3: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_00d8: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::NotEqual(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_00dd: ldc.i4.1 + IL_00de: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_00e3: dup + IL_00e4: ldc.i4.0 + IL_00e5: ldloc.0 + IL_00e6: stelem.ref + IL_00e7: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_00ec: stelem.ref + IL_00ed: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_00f2: ldc.i4.0 + IL_00f3: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_00f8: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_00fd: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0102: pop + IL_0103: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0108: ldarg.0 + IL_0109: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees + IL_010e: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0113: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0118: ldtoken method instance bool ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Fizz(class [mscorlib]System.Func`2) + IL_011d: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0122: castclass [mscorlib]System.Reflection.MethodInfo + IL_0127: ldc.i4.1 + IL_0128: newarr [System.Core]System.Linq.Expressions.Expression + IL_012d: dup + IL_012e: ldc.i4.0 + IL_012f: ldtoken [mscorlib]System.Action + IL_0134: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0139: ldstr "x" + IL_013e: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0143: stloc.0 + IL_0144: ldloc.0 + IL_0145: ldtoken method instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::NestedLambda2() + IL_014a: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_014f: castclass [mscorlib]System.Reflection.MethodInfo + IL_0154: ldtoken [mscorlib]System.Reflection.MethodInfo + IL_0159: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_015e: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0163: ldtoken method instance class [mscorlib]System.Delegate [mscorlib]System.Reflection.MethodInfo::CreateDelegate(class [mscorlib]System.Type, + object) + IL_0168: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_016d: castclass [mscorlib]System.Reflection.MethodInfo + IL_0172: ldc.i4.2 + IL_0173: newarr [System.Core]System.Linq.Expressions.Expression + IL_0178: dup + IL_0179: ldc.i4.0 + IL_017a: ldtoken [mscorlib]System.Action + IL_017f: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0184: ldtoken [mscorlib]System.Type + IL_0189: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_018e: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0193: stelem.ref + IL_0194: dup + IL_0195: ldc.i4.1 + IL_0196: ldarg.0 + IL_0197: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees + IL_019c: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_01a1: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_01a6: stelem.ref + IL_01a7: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_01ac: ldtoken [mscorlib]System.Action + IL_01b1: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_01b6: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_01bb: ldc.i4.0 + IL_01bc: ldtoken method bool [mscorlib]System.Delegate::op_Equality(class [mscorlib]System.Delegate, + class [mscorlib]System.Delegate) + IL_01c1: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_01c6: castclass [mscorlib]System.Reflection.MethodInfo + IL_01cb: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Equal(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression, + bool, + class [mscorlib]System.Reflection.MethodInfo) + IL_01d0: ldc.i4.1 + IL_01d1: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_01d6: dup + IL_01d7: ldc.i4.0 + IL_01d8: ldloc.0 + IL_01d9: stelem.ref + IL_01da: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_01df: stelem.ref + IL_01e0: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_01e5: ldc.i4.0 + IL_01e6: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_01eb: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_01f0: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_01f5: pop + IL_01f6: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_01fb: ldarg.0 + IL_01fc: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees + IL_0201: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0206: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_020b: ldtoken method instance bool ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Fizz(class [mscorlib]System.Func`2) + IL_0210: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0215: castclass [mscorlib]System.Reflection.MethodInfo + IL_021a: ldc.i4.1 + IL_021b: newarr [System.Core]System.Linq.Expressions.Expression + IL_0220: dup + IL_0221: ldc.i4.0 + IL_0222: ldtoken [mscorlib]System.Action + IL_0227: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_022c: ldstr "x" + IL_0231: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0236: stloc.0 + IL_0237: ldloc.0 + IL_0238: ldtoken method instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::NestedLambda2() + IL_023d: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0242: castclass [mscorlib]System.Reflection.MethodInfo + IL_0247: ldtoken [mscorlib]System.Reflection.MethodInfo + IL_024c: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0251: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0256: ldtoken method instance class [mscorlib]System.Delegate [mscorlib]System.Reflection.MethodInfo::CreateDelegate(class [mscorlib]System.Type, + object) + IL_025b: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0260: castclass [mscorlib]System.Reflection.MethodInfo + IL_0265: ldc.i4.2 + IL_0266: newarr [System.Core]System.Linq.Expressions.Expression + IL_026b: dup + IL_026c: ldc.i4.0 + IL_026d: ldtoken [mscorlib]System.Action + IL_0272: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0277: ldtoken [mscorlib]System.Type + IL_027c: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0281: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0286: stelem.ref + IL_0287: dup + IL_0288: ldc.i4.1 + IL_0289: ldarg.0 + IL_028a: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees + IL_028f: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0294: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0299: stelem.ref + IL_029a: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_029f: ldtoken [mscorlib]System.Action + IL_02a4: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_02a9: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_02ae: ldc.i4.0 + IL_02af: ldtoken method bool [mscorlib]System.Delegate::op_Inequality(class [mscorlib]System.Delegate, + class [mscorlib]System.Delegate) + IL_02b4: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_02b9: castclass [mscorlib]System.Reflection.MethodInfo + IL_02be: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::NotEqual(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression, + bool, + class [mscorlib]System.Reflection.MethodInfo) + IL_02c3: ldc.i4.1 + IL_02c4: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_02c9: dup + IL_02ca: ldc.i4.0 + IL_02cb: ldloc.0 + IL_02cc: stelem.ref + IL_02cd: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_02d2: stelem.ref + IL_02d3: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_02d8: ldc.i4.0 + IL_02d9: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_02de: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_02e3: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_02e8: pop + IL_02e9: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_02ee: ldarg.0 + IL_02ef: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees + IL_02f4: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_02f9: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_02fe: ldtoken method instance bool ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Fizz(class [mscorlib]System.Func`2) + IL_0303: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0308: castclass [mscorlib]System.Reflection.MethodInfo + IL_030d: ldc.i4.1 + IL_030e: newarr [System.Core]System.Linq.Expressions.Expression + IL_0313: dup + IL_0314: ldc.i4.0 + IL_0315: ldtoken [mscorlib]System.Int32 + IL_031a: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_031f: ldstr "x" + IL_0324: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0329: stloc.0 + IL_032a: ldloc.0 + IL_032b: ldc.i4.s 37 + IL_032d: box [mscorlib]System.Int32 + IL_0332: ldtoken [mscorlib]System.Int32 + IL_0337: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_033c: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0341: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Equal(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0346: ldc.i4.1 + IL_0347: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_034c: dup + IL_034d: ldc.i4.0 + IL_034e: ldloc.0 + IL_034f: stelem.ref + IL_0350: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0355: stelem.ref + IL_0356: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_035b: ldc.i4.0 + IL_035c: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0361: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0366: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_036b: pop + IL_036c: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0371: ldarg.0 + IL_0372: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees + IL_0377: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_037c: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0381: ldtoken method instance bool ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Fizz(class [mscorlib]System.Func`2) + IL_0386: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_038b: castclass [mscorlib]System.Reflection.MethodInfo + IL_0390: ldc.i4.1 + IL_0391: newarr [System.Core]System.Linq.Expressions.Expression + IL_0396: dup + IL_0397: ldc.i4.0 + IL_0398: ldtoken [mscorlib]System.Int32 + IL_039d: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_03a2: ldstr "x" + IL_03a7: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_03ac: stloc.0 + IL_03ad: ldc.i4.1 + IL_03ae: box [mscorlib]System.Boolean + IL_03b3: ldtoken [mscorlib]System.Boolean + IL_03b8: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_03bd: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_03c2: ldc.i4.1 + IL_03c3: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_03c8: dup + IL_03c9: ldc.i4.0 + IL_03ca: ldloc.0 + IL_03cb: stelem.ref + IL_03cc: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_03d1: stelem.ref + IL_03d2: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_03d7: ldc.i4.0 + IL_03d8: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_03dd: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_03e2: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_03e7: pop + IL_03e8: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_03ed: ldarg.0 + IL_03ee: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees + IL_03f3: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_03f8: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_03fd: ldtoken method instance bool ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Buzz(class [mscorlib]System.Func`2) + IL_0402: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0407: castclass [mscorlib]System.Reflection.MethodInfo + IL_040c: ldc.i4.1 + IL_040d: newarr [System.Core]System.Linq.Expressions.Expression + IL_0412: dup + IL_0413: ldc.i4.0 + IL_0414: ldtoken [mscorlib]System.Int32 + IL_0419: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_041e: ldstr "x" + IL_0423: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0428: stloc.0 + IL_0429: ldc.i4.1 + IL_042a: box [mscorlib]System.Boolean + IL_042f: ldtoken [mscorlib]System.Boolean + IL_0434: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0439: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_043e: ldc.i4.1 + IL_043f: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0444: dup + IL_0445: ldc.i4.0 + IL_0446: ldloc.0 + IL_0447: stelem.ref + IL_0448: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_044d: stelem.ref + IL_044e: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_0453: ldc.i4.0 + IL_0454: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0459: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_045e: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0463: pop + IL_0464: ret + } // end of method ExpressionTrees::NestedLambda2 + + .method public hidebysig instance void + NewArrayAndExtensionMethod() cil managed + { + // Code size 291 (0x123) + .maxstack 12 + IL_0000: nop + IL_0001: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0006: ldnull + IL_0007: ldtoken method bool [System.Core]System.Linq.Enumerable::SequenceEqual(class [mscorlib]System.Collections.Generic.IEnumerable`1, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_000c: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0011: castclass [mscorlib]System.Reflection.MethodInfo + IL_0016: ldc.i4.2 + IL_0017: newarr [System.Core]System.Linq.Expressions.Expression + IL_001c: dup + IL_001d: ldc.i4.0 + IL_001e: ldtoken [mscorlib]System.Double + IL_0023: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0028: ldc.i4.3 + IL_0029: newarr [System.Core]System.Linq.Expressions.Expression + IL_002e: dup + IL_002f: ldc.i4.0 + IL_0030: ldc.r8 1. + IL_0039: box [mscorlib]System.Double + IL_003e: ldtoken [mscorlib]System.Double + IL_0043: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0048: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_004d: stelem.ref + IL_004e: dup + IL_004f: ldc.i4.1 + IL_0050: ldc.r8 2.0099999999999998 + IL_0059: box [mscorlib]System.Double + IL_005e: ldtoken [mscorlib]System.Double + IL_0063: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0068: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_006d: stelem.ref + IL_006e: dup + IL_006f: ldc.i4.2 + IL_0070: ldc.r8 3.5 + IL_0079: box [mscorlib]System.Double + IL_007e: ldtoken [mscorlib]System.Double + IL_0083: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0088: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_008d: stelem.ref + IL_008e: call class [System.Core]System.Linq.Expressions.NewArrayExpression [System.Core]System.Linq.Expressions.Expression::NewArrayInit(class [mscorlib]System.Type, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_0093: stelem.ref + IL_0094: dup + IL_0095: ldc.i4.1 + IL_0096: ldtoken [mscorlib]System.Double + IL_009b: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00a0: ldc.i4.3 + IL_00a1: newarr [System.Core]System.Linq.Expressions.Expression + IL_00a6: dup + IL_00a7: ldc.i4.0 + IL_00a8: ldc.r8 1. + IL_00b1: box [mscorlib]System.Double + IL_00b6: ldtoken [mscorlib]System.Double + IL_00bb: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00c0: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_00c5: stelem.ref + IL_00c6: dup + IL_00c7: ldc.i4.1 + IL_00c8: ldc.r8 2.0099999999999998 + IL_00d1: box [mscorlib]System.Double + IL_00d6: ldtoken [mscorlib]System.Double + IL_00db: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00e0: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_00e5: stelem.ref + IL_00e6: dup + IL_00e7: ldc.i4.2 + IL_00e8: ldc.r8 3.5 + IL_00f1: box [mscorlib]System.Double + IL_00f6: ldtoken [mscorlib]System.Double + IL_00fb: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0100: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0105: stelem.ref + IL_0106: call class [System.Core]System.Linq.Expressions.NewArrayExpression [System.Core]System.Linq.Expressions.Expression::NewArrayInit(class [mscorlib]System.Type, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_010b: stelem.ref + IL_010c: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_0111: ldc.i4.0 + IL_0112: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0117: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_011c: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0121: pop + IL_0122: ret + } // end of method ExpressionTrees::NewArrayAndExtensionMethod + + .method public hidebysig instance void + NewMultiDimArray() cil managed + { + // Code size 139 (0x8b) + .maxstack 7 + IL_0000: nop + IL_0001: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0006: ldtoken [mscorlib]System.Int32 + IL_000b: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0010: ldc.i4.2 + IL_0011: newarr [System.Core]System.Linq.Expressions.Expression + IL_0016: dup + IL_0017: ldc.i4.0 + IL_0018: ldc.i4.3 + IL_0019: box [mscorlib]System.Int32 + IL_001e: ldtoken [mscorlib]System.Int32 + IL_0023: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0028: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_002d: stelem.ref + IL_002e: dup + IL_002f: ldc.i4.1 + IL_0030: ldc.i4.4 + IL_0031: box [mscorlib]System.Int32 + IL_0036: ldtoken [mscorlib]System.Int32 + IL_003b: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0040: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0045: stelem.ref + IL_0046: call class [System.Core]System.Linq.Expressions.NewArrayExpression [System.Core]System.Linq.Expressions.Expression::NewArrayBounds(class [mscorlib]System.Type, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_004b: ldtoken method instance int32 [mscorlib]System.Array::get_Length() + IL_0050: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0055: castclass [mscorlib]System.Reflection.MethodInfo + IL_005a: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Property(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo) + IL_005f: ldc.i4.1 + IL_0060: box [mscorlib]System.Int32 + IL_0065: ldtoken [mscorlib]System.Int32 + IL_006a: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_006f: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0074: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Equal(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0079: ldc.i4.0 + IL_007a: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_007f: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0084: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0089: pop + IL_008a: ret + } // end of method ExpressionTrees::NewMultiDimArray + + .method public hidebysig instance void + NewObject() cil managed + { + // Code size 59 (0x3b) + .maxstack 8 + IL_0000: nop + IL_0001: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0006: ldtoken [mscorlib]System.Object + IL_000b: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0010: call class [System.Core]System.Linq.Expressions.NewExpression [System.Core]System.Linq.Expressions.Expression::New(class [mscorlib]System.Type) + IL_0015: ldtoken [mscorlib]System.Object + IL_001a: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_001f: call class [System.Core]System.Linq.Expressions.NewExpression [System.Core]System.Linq.Expressions.Expression::New(class [mscorlib]System.Type) + IL_0024: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::NotEqual(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0029: ldc.i4.0 + IL_002a: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_002f: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0034: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0039: pop + IL_003a: ret + } // end of method ExpressionTrees::NewObject + + .method public hidebysig instance void + NotOperator() cil managed + { + // Code size 271 (0x10f) + .maxstack 4 + .locals init (class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass46_0' V_0) + IL_0000: newobj instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass46_0'::.ctor() + IL_0005: stloc.0 + IL_0006: nop + IL_0007: ldloc.0 + IL_0008: ldc.i4.1 + IL_0009: stfld bool ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass46_0'::x + IL_000e: ldloc.0 + IL_000f: ldc.i4.3 + IL_0010: stfld int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass46_0'::y + IL_0015: ldloc.0 + IL_0016: ldc.i4.s 42 + IL_0018: stfld uint8 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass46_0'::z + IL_001d: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0022: ldloc.0 + IL_0023: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass46_0' + IL_0028: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_002d: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0032: ldtoken field uint8 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass46_0'::z + IL_0037: call class [mscorlib]System.Reflection.FieldInfo [mscorlib]System.Reflection.FieldInfo::GetFieldFromHandle(valuetype [mscorlib]System.RuntimeFieldHandle) + IL_003c: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Field(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.FieldInfo) + IL_0041: ldtoken [mscorlib]System.Int32 + IL_0046: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_004b: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_0050: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Not(class [System.Core]System.Linq.Expressions.Expression) + IL_0055: ldc.i4.0 + IL_0056: box [mscorlib]System.Int32 + IL_005b: ldtoken [mscorlib]System.Int32 + IL_0060: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0065: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_006a: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Equal(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_006f: ldc.i4.0 + IL_0070: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0075: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_007a: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_007f: pop + IL_0080: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0085: ldloc.0 + IL_0086: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass46_0' + IL_008b: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0090: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0095: ldtoken field int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass46_0'::y + IL_009a: call class [mscorlib]System.Reflection.FieldInfo [mscorlib]System.Reflection.FieldInfo::GetFieldFromHandle(valuetype [mscorlib]System.RuntimeFieldHandle) + IL_009f: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Field(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.FieldInfo) + IL_00a4: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Not(class [System.Core]System.Linq.Expressions.Expression) + IL_00a9: ldc.i4.0 + IL_00aa: box [mscorlib]System.Int32 + IL_00af: ldtoken [mscorlib]System.Int32 + IL_00b4: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00b9: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_00be: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Equal(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_00c3: ldc.i4.0 + IL_00c4: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_00c9: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_00ce: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_00d3: pop + IL_00d4: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_00d9: ldloc.0 + IL_00da: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass46_0' + IL_00df: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00e4: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_00e9: ldtoken field bool ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass46_0'::x + IL_00ee: call class [mscorlib]System.Reflection.FieldInfo [mscorlib]System.Reflection.FieldInfo::GetFieldFromHandle(valuetype [mscorlib]System.RuntimeFieldHandle) + IL_00f3: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Field(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.FieldInfo) + IL_00f8: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Not(class [System.Core]System.Linq.Expressions.Expression) + IL_00fd: ldc.i4.0 + IL_00fe: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0103: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0108: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_010d: pop + IL_010e: ret + } // end of method ExpressionTrees::NotOperator + + .method public hidebysig instance void + ObjectInitializers() cil managed + { + // Code size 291 (0x123) + .maxstack 8 + .locals init (class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass47_0' V_0) + IL_0000: newobj instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass47_0'::.ctor() + IL_0005: stloc.0 + IL_0006: nop + IL_0007: ldloc.0 + IL_0008: newobj instance void [System.Xml]System.Xml.XmlReaderSettings::.ctor() + IL_000d: dup + IL_000e: ldc.i4.0 + IL_000f: callvirt instance void [System.Xml]System.Xml.XmlReaderSettings::set_CloseInput(bool) + IL_0014: nop + IL_0015: dup + IL_0016: ldc.i4.0 + IL_0017: callvirt instance void [System.Xml]System.Xml.XmlReaderSettings::set_CheckCharacters(bool) + IL_001c: nop + IL_001d: stfld class [System.Xml]System.Xml.XmlReaderSettings ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass47_0'::s + IL_0022: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0027: ldtoken [System.Xml]System.Xml.XmlReaderSettings + IL_002c: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0031: call class [System.Core]System.Linq.Expressions.NewExpression [System.Core]System.Linq.Expressions.Expression::New(class [mscorlib]System.Type) + IL_0036: ldc.i4.2 + IL_0037: newarr [System.Core]System.Linq.Expressions.MemberBinding + IL_003c: dup + IL_003d: ldc.i4.0 + IL_003e: ldtoken method instance void [System.Xml]System.Xml.XmlReaderSettings::set_CloseInput(bool) + IL_0043: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0048: castclass [mscorlib]System.Reflection.MethodInfo + IL_004d: ldloc.0 + IL_004e: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass47_0' + IL_0053: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0058: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_005d: ldtoken field class [System.Xml]System.Xml.XmlReaderSettings ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass47_0'::s + IL_0062: call class [mscorlib]System.Reflection.FieldInfo [mscorlib]System.Reflection.FieldInfo::GetFieldFromHandle(valuetype [mscorlib]System.RuntimeFieldHandle) + IL_0067: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Field(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.FieldInfo) + IL_006c: ldtoken method instance bool [System.Xml]System.Xml.XmlReaderSettings::get_CloseInput() + IL_0071: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0076: castclass [mscorlib]System.Reflection.MethodInfo + IL_007b: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Property(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo) + IL_0080: call class [System.Core]System.Linq.Expressions.MemberAssignment [System.Core]System.Linq.Expressions.Expression::Bind(class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression) + IL_0085: stelem.ref + IL_0086: dup + IL_0087: ldc.i4.1 + IL_0088: ldtoken method instance void [System.Xml]System.Xml.XmlReaderSettings::set_CheckCharacters(bool) + IL_008d: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0092: castclass [mscorlib]System.Reflection.MethodInfo + IL_0097: ldloc.0 + IL_0098: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass47_0' + IL_009d: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00a2: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_00a7: ldtoken field class [System.Xml]System.Xml.XmlReaderSettings ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass47_0'::s + IL_00ac: call class [mscorlib]System.Reflection.FieldInfo [mscorlib]System.Reflection.FieldInfo::GetFieldFromHandle(valuetype [mscorlib]System.RuntimeFieldHandle) + IL_00b1: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Field(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.FieldInfo) + IL_00b6: ldtoken method instance bool [System.Xml]System.Xml.XmlReaderSettings::get_CheckCharacters() + IL_00bb: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_00c0: castclass [mscorlib]System.Reflection.MethodInfo + IL_00c5: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Property(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo) + IL_00ca: call class [System.Core]System.Linq.Expressions.MemberAssignment [System.Core]System.Linq.Expressions.Expression::Bind(class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression) + IL_00cf: stelem.ref + IL_00d0: call class [System.Core]System.Linq.Expressions.MemberInitExpression [System.Core]System.Linq.Expressions.Expression::MemberInit(class [System.Core]System.Linq.Expressions.NewExpression, + class [System.Core]System.Linq.Expressions.MemberBinding[]) + IL_00d5: ldtoken method instance bool [mscorlib]System.Object::Equals(object) + IL_00da: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_00df: castclass [mscorlib]System.Reflection.MethodInfo + IL_00e4: ldc.i4.1 + IL_00e5: newarr [System.Core]System.Linq.Expressions.Expression + IL_00ea: dup + IL_00eb: ldc.i4.0 + IL_00ec: ldloc.0 + IL_00ed: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass47_0' + IL_00f2: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00f7: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_00fc: ldtoken field class [System.Xml]System.Xml.XmlReaderSettings ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass47_0'::s + IL_0101: call class [mscorlib]System.Reflection.FieldInfo [mscorlib]System.Reflection.FieldInfo::GetFieldFromHandle(valuetype [mscorlib]System.RuntimeFieldHandle) + IL_0106: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Field(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.FieldInfo) + IL_010b: stelem.ref + IL_010c: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_0111: ldc.i4.0 + IL_0112: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0117: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_011c: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0121: pop + IL_0122: ret + } // end of method ExpressionTrees::ObjectInitializers + + .method public hidebysig instance void + Quoted() cil managed + { + // Code size 174 (0xae) + .maxstack 6 + .locals init (class [System.Core]System.Linq.Expressions.ParameterExpression V_0, + class [System.Core]System.Linq.Expressions.ParameterExpression V_1) + IL_0000: nop + IL_0001: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0006: ldtoken [mscorlib]System.Int32 + IL_000b: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0010: ldstr "n" + IL_0015: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_001a: stloc.0 + IL_001b: ldtoken [mscorlib]System.String + IL_0020: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0025: ldstr "s" + IL_002a: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_002f: stloc.1 + IL_0030: ldloc.1 + IL_0031: ldloc.0 + IL_0032: ldtoken method instance string [mscorlib]System.Int32::ToString() + IL_0037: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_003c: castclass [mscorlib]System.Reflection.MethodInfo + IL_0041: ldc.i4.0 + IL_0042: newarr [System.Core]System.Linq.Expressions.Expression + IL_0047: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_004c: ldtoken method string [mscorlib]System.String::Concat(string, + string) + IL_0051: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0056: castclass [mscorlib]System.Reflection.MethodInfo + IL_005b: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Add(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo) + IL_0060: ldc.i4.2 + IL_0061: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0066: dup + IL_0067: ldc.i4.0 + IL_0068: ldloc.0 + IL_0069: stelem.ref + IL_006a: dup + IL_006b: ldc.i4.1 + IL_006c: ldloc.1 + IL_006d: stelem.ref + IL_006e: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0073: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Quote(class [System.Core]System.Linq.Expressions.Expression) + IL_0078: ldtoken class [System.Core]System.Linq.Expressions.Expression`1> + IL_007d: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0082: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_0087: ldnull + IL_0088: ldtoken [mscorlib]System.Object + IL_008d: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0092: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0097: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::NotEqual(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_009c: ldc.i4.0 + IL_009d: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_00a2: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_00a7: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_00ac: pop + IL_00ad: ret + } // end of method ExpressionTrees::Quoted + + .method public hidebysig instance void + Quoted2() cil managed + { + // Code size 166 (0xa6) + .maxstack 9 + IL_0000: nop + IL_0001: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0006: ldnull + IL_0007: ldtoken method object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_000c: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0011: castclass [mscorlib]System.Reflection.MethodInfo + IL_0016: ldc.i4.2 + IL_0017: newarr [System.Core]System.Linq.Expressions.Expression + IL_001c: dup + IL_001d: ldc.i4.0 + IL_001e: ldnull + IL_001f: ldtoken method object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0024: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0029: castclass [mscorlib]System.Reflection.MethodInfo + IL_002e: ldc.i4.0 + IL_002f: newarr [System.Core]System.Linq.Expressions.Expression + IL_0034: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_0039: stelem.ref + IL_003a: dup + IL_003b: ldc.i4.1 + IL_003c: ldc.i4.1 + IL_003d: box [mscorlib]System.Boolean + IL_0042: ldtoken [mscorlib]System.Boolean + IL_0047: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_004c: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0051: ldc.i4.0 + IL_0052: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0057: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_005c: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Quote(class [System.Core]System.Linq.Expressions.Expression) + IL_0061: stelem.ref + IL_0062: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_0067: ldtoken method instance bool [mscorlib]System.Object::Equals(object) + IL_006c: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0071: castclass [mscorlib]System.Reflection.MethodInfo + IL_0076: ldc.i4.1 + IL_0077: newarr [System.Core]System.Linq.Expressions.Expression + IL_007c: dup + IL_007d: ldc.i4.0 + IL_007e: ldnull + IL_007f: ldtoken [mscorlib]System.Object + IL_0084: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0089: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_008e: stelem.ref + IL_008f: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_0094: ldc.i4.0 + IL_0095: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_009a: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_009f: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_00a4: pop + IL_00a5: ret + } // end of method ExpressionTrees::Quoted2 + + .method public hidebysig instance void + QuotedWithAnonymous() cil managed + { + // Code size 348 (0x15c) + .maxstack 22 + .locals init (class [System.Core]System.Linq.Expressions.ParameterExpression V_0) + IL_0000: nop + IL_0001: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0006: ldnull + IL_0007: ldtoken method !!0 [System.Core]System.Linq.Enumerable::Single(class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_000c: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0011: castclass [mscorlib]System.Reflection.MethodInfo + IL_0016: ldc.i4.1 + IL_0017: newarr [System.Core]System.Linq.Expressions.Expression + IL_001c: dup + IL_001d: ldc.i4.0 + IL_001e: ldnull + IL_001f: ldtoken method class [mscorlib]System.Collections.Generic.IEnumerable`1 [System.Core]System.Linq.Enumerable::Selectf__AnonymousType1`2',string>(class [mscorlib]System.Collections.Generic.IEnumerable`1, + class [mscorlib]System.Func`2) + IL_0024: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0029: castclass [mscorlib]System.Reflection.MethodInfo + IL_002e: ldc.i4.2 + IL_002f: newarr [System.Core]System.Linq.Expressions.Expression + IL_0034: dup + IL_0035: ldc.i4.0 + IL_0036: ldtoken class '<>f__AnonymousType1`2' + IL_003b: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0040: ldc.i4.1 + IL_0041: newarr [System.Core]System.Linq.Expressions.Expression + IL_0046: dup + IL_0047: ldc.i4.0 + IL_0048: ldtoken method instance void class '<>f__AnonymousType1`2'::.ctor(!0, + !1) + IL_004d: ldtoken class '<>f__AnonymousType1`2' + IL_0052: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle, + valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0057: castclass [mscorlib]System.Reflection.ConstructorInfo + IL_005c: ldc.i4.2 + IL_005d: newarr [System.Core]System.Linq.Expressions.Expression + IL_0062: dup + IL_0063: ldc.i4.0 + IL_0064: ldstr "a" + IL_0069: ldtoken [mscorlib]System.String + IL_006e: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0073: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0078: stelem.ref + IL_0079: dup + IL_007a: ldc.i4.1 + IL_007b: ldstr "b" + IL_0080: ldtoken [mscorlib]System.String + IL_0085: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_008a: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_008f: stelem.ref + IL_0090: ldc.i4.2 + IL_0091: newarr [mscorlib]System.Reflection.MemberInfo + IL_0096: dup + IL_0097: ldc.i4.0 + IL_0098: ldtoken method instance !0 class '<>f__AnonymousType1`2'::get_X() + IL_009d: ldtoken class '<>f__AnonymousType1`2' + IL_00a2: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle, + valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00a7: castclass [mscorlib]System.Reflection.MethodInfo + IL_00ac: stelem.ref + IL_00ad: dup + IL_00ae: ldc.i4.1 + IL_00af: ldtoken method instance !1 class '<>f__AnonymousType1`2'::get_Y() + IL_00b4: ldtoken class '<>f__AnonymousType1`2' + IL_00b9: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle, + valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00be: castclass [mscorlib]System.Reflection.MethodInfo + IL_00c3: stelem.ref + IL_00c4: call class [System.Core]System.Linq.Expressions.NewExpression [System.Core]System.Linq.Expressions.Expression::New(class [mscorlib]System.Reflection.ConstructorInfo, + class [mscorlib]System.Collections.Generic.IEnumerable`1, + class [mscorlib]System.Reflection.MemberInfo[]) + IL_00c9: stelem.ref + IL_00ca: call class [System.Core]System.Linq.Expressions.NewArrayExpression [System.Core]System.Linq.Expressions.Expression::NewArrayInit(class [mscorlib]System.Type, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_00cf: stelem.ref + IL_00d0: dup + IL_00d1: ldc.i4.1 + IL_00d2: ldtoken class '<>f__AnonymousType1`2' + IL_00d7: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00dc: ldstr "o" + IL_00e1: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_00e6: stloc.0 + IL_00e7: ldloc.0 + IL_00e8: ldtoken method instance !0 class '<>f__AnonymousType1`2'::get_X() + IL_00ed: ldtoken class '<>f__AnonymousType1`2' + IL_00f2: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle, + valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00f7: castclass [mscorlib]System.Reflection.MethodInfo + IL_00fc: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Property(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo) + IL_0101: ldloc.0 + IL_0102: ldtoken method instance !1 class '<>f__AnonymousType1`2'::get_Y() + IL_0107: ldtoken class '<>f__AnonymousType1`2' + IL_010c: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle, + valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0111: castclass [mscorlib]System.Reflection.MethodInfo + IL_0116: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Property(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo) + IL_011b: ldtoken method string [mscorlib]System.String::Concat(string, + string) + IL_0120: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0125: castclass [mscorlib]System.Reflection.MethodInfo + IL_012a: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Add(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo) + IL_012f: ldc.i4.1 + IL_0130: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0135: dup + IL_0136: ldc.i4.0 + IL_0137: ldloc.0 + IL_0138: stelem.ref + IL_0139: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambdaf__AnonymousType1`2',string>>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_013e: stelem.ref + IL_013f: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_0144: stelem.ref + IL_0145: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_014a: ldc.i4.0 + IL_014b: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0150: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0155: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_015a: pop + IL_015b: ret + } // end of method ExpressionTrees::QuotedWithAnonymous + + .method public hidebysig instance void + StaticCall() cil managed + { + // Code size 129 (0x81) + .maxstack 8 + IL_0000: nop + IL_0001: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0006: ldnull + IL_0007: ldtoken method bool [mscorlib]System.Object::Equals(object, + object) + IL_000c: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0011: castclass [mscorlib]System.Reflection.MethodInfo + IL_0016: ldc.i4.2 + IL_0017: newarr [System.Core]System.Linq.Expressions.Expression + IL_001c: dup + IL_001d: ldc.i4.0 + IL_001e: ldc.i4.3 + IL_001f: box [mscorlib]System.Int32 + IL_0024: ldtoken [mscorlib]System.Int32 + IL_0029: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_002e: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0033: ldtoken [mscorlib]System.Object + IL_0038: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_003d: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_0042: stelem.ref + IL_0043: dup + IL_0044: ldc.i4.1 + IL_0045: ldc.i4.0 + IL_0046: box [mscorlib]System.Int32 + IL_004b: ldtoken [mscorlib]System.Int32 + IL_0050: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0055: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_005a: ldtoken [mscorlib]System.Object + IL_005f: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0064: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_0069: stelem.ref + IL_006a: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_006f: ldc.i4.0 + IL_0070: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0075: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_007a: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_007f: pop + IL_0080: ret + } // end of method ExpressionTrees::StaticCall + + .method public hidebysig instance void + ThisCall() cil managed + { + // Code size 110 (0x6e) + .maxstack 8 + IL_0000: nop + IL_0001: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0006: ldarg.0 + IL_0007: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees + IL_000c: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0011: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0016: ldtoken method instance bool [mscorlib]System.Object::Equals(object) + IL_001b: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0020: castclass [mscorlib]System.Reflection.MethodInfo + IL_0025: ldc.i4.1 + IL_0026: newarr [System.Core]System.Linq.Expressions.Expression + IL_002b: dup + IL_002c: ldc.i4.0 + IL_002d: ldc.i4.3 + IL_002e: box [mscorlib]System.Int32 + IL_0033: ldtoken [mscorlib]System.Int32 + IL_0038: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_003d: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0042: ldtoken [mscorlib]System.Object + IL_0047: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_004c: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_0051: stelem.ref + IL_0052: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_0057: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Not(class [System.Core]System.Linq.Expressions.Expression) + IL_005c: ldc.i4.0 + IL_005d: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0062: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0067: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_006c: pop + IL_006d: ret + } // end of method ExpressionTrees::ThisCall + + .method public hidebysig instance void + ThisExplicit() cil managed + { + // Code size 109 (0x6d) + .maxstack 8 + IL_0000: nop + IL_0001: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0006: ldnull + IL_0007: ldtoken method bool [mscorlib]System.Object::Equals(object, + object) + IL_000c: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0011: castclass [mscorlib]System.Reflection.MethodInfo + IL_0016: ldc.i4.2 + IL_0017: newarr [System.Core]System.Linq.Expressions.Expression + IL_001c: dup + IL_001d: ldc.i4.0 + IL_001e: ldarg.0 + IL_001f: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees + IL_0024: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0029: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_002e: stelem.ref + IL_002f: dup + IL_0030: ldc.i4.1 + IL_0031: ldc.i4.3 + IL_0032: box [mscorlib]System.Int32 + IL_0037: ldtoken [mscorlib]System.Int32 + IL_003c: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0041: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0046: ldtoken [mscorlib]System.Object + IL_004b: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0050: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_0055: stelem.ref + IL_0056: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_005b: ldc.i4.0 + IL_005c: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0061: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0066: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_006b: pop + IL_006c: ret + } // end of method ExpressionTrees::ThisExplicit + + .method public hidebysig instance void + TypedConstant() cil managed + { + // Code size 101 (0x65) + .maxstack 7 + IL_0000: nop + IL_0001: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0006: ldtoken [mscorlib]System.Type + IL_000b: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0010: ldc.i4.2 + IL_0011: newarr [System.Core]System.Linq.Expressions.Expression + IL_0016: dup + IL_0017: ldc.i4.0 + IL_0018: ldtoken [mscorlib]System.Int32 + IL_001d: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0022: ldtoken [mscorlib]System.Type + IL_0027: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_002c: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0031: stelem.ref + IL_0032: dup + IL_0033: ldc.i4.1 + IL_0034: ldtoken [mscorlib]System.String + IL_0039: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_003e: ldtoken [mscorlib]System.Type + IL_0043: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0048: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_004d: stelem.ref + IL_004e: call class [System.Core]System.Linq.Expressions.NewArrayExpression [System.Core]System.Linq.Expressions.Expression::NewArrayInit(class [mscorlib]System.Type, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_0053: ldc.i4.0 + IL_0054: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0059: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_005e: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0063: pop + IL_0064: ret + } // end of method ExpressionTrees::TypedConstant + + .method public hidebysig instance void + StaticCallImplicitCast() cil managed + { + // Code size 129 (0x81) + .maxstack 8 + IL_0000: nop + IL_0001: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0006: ldnull + IL_0007: ldtoken method bool [mscorlib]System.Object::Equals(object, + object) + IL_000c: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0011: castclass [mscorlib]System.Reflection.MethodInfo + IL_0016: ldc.i4.2 + IL_0017: newarr [System.Core]System.Linq.Expressions.Expression + IL_001c: dup + IL_001d: ldc.i4.0 + IL_001e: ldc.i4.3 + IL_001f: box [mscorlib]System.Int32 + IL_0024: ldtoken [mscorlib]System.Int32 + IL_0029: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_002e: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0033: ldtoken [mscorlib]System.Object + IL_0038: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_003d: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_0042: stelem.ref + IL_0043: dup + IL_0044: ldc.i4.1 + IL_0045: ldc.i4.0 + IL_0046: box [mscorlib]System.Int32 + IL_004b: ldtoken [mscorlib]System.Int32 + IL_0050: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0055: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_005a: ldtoken [mscorlib]System.Object + IL_005f: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0064: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_0069: stelem.ref + IL_006a: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_006f: ldc.i4.0 + IL_0070: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0075: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_007a: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_007f: pop + IL_0080: ret + } // end of method ExpressionTrees::StaticCallImplicitCast + + .method public hidebysig instance void + StaticMembers() cil managed + { + // Code size 217 (0xd9) + .maxstack 10 + IL_0000: nop + IL_0001: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0006: ldnull + IL_0007: ldtoken method valuetype [mscorlib]System.DateTime [mscorlib]System.DateTime::get_Now() + IL_000c: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0011: castclass [mscorlib]System.Reflection.MethodInfo + IL_0016: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Property(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo) + IL_001b: ldnull + IL_001c: ldtoken method valuetype [mscorlib]System.DateTime [mscorlib]System.DateTime::get_Now() + IL_0021: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0026: castclass [mscorlib]System.Reflection.MethodInfo + IL_002b: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Property(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo) + IL_0030: ldnull + IL_0031: ldtoken method valuetype [mscorlib]System.TimeSpan [mscorlib]System.TimeSpan::FromMilliseconds(float64) + IL_0036: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_003b: castclass [mscorlib]System.Reflection.MethodInfo + IL_0040: ldc.i4.1 + IL_0041: newarr [System.Core]System.Linq.Expressions.Expression + IL_0046: dup + IL_0047: ldc.i4.0 + IL_0048: ldc.r8 10.000999999999999 + IL_0051: box [mscorlib]System.Double + IL_0056: ldtoken [mscorlib]System.Double + IL_005b: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0060: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0065: stelem.ref + IL_0066: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_006b: ldtoken method valuetype [mscorlib]System.DateTime [mscorlib]System.DateTime::op_Addition(valuetype [mscorlib]System.DateTime, + valuetype [mscorlib]System.TimeSpan) + IL_0070: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0075: castclass [mscorlib]System.Reflection.MethodInfo + IL_007a: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Add(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo) + IL_007f: ldc.i4.0 + IL_0080: ldtoken method bool [mscorlib]System.DateTime::op_GreaterThan(valuetype [mscorlib]System.DateTime, + valuetype [mscorlib]System.DateTime) + IL_0085: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_008a: castclass [mscorlib]System.Reflection.MethodInfo + IL_008f: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::GreaterThan(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression, + bool, + class [mscorlib]System.Reflection.MethodInfo) + IL_0094: ldtoken method instance string [mscorlib]System.Boolean::ToString() + IL_0099: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_009e: castclass [mscorlib]System.Reflection.MethodInfo + IL_00a3: ldc.i4.0 + IL_00a4: newarr [System.Core]System.Linq.Expressions.Expression + IL_00a9: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_00ae: ldstr "False" + IL_00b3: ldtoken [mscorlib]System.String + IL_00b8: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00bd: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_00c2: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Equal(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_00c7: ldc.i4.0 + IL_00c8: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_00cd: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_00d2: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_00d7: pop + IL_00d8: ret + } // end of method ExpressionTrees::StaticMembers + + .method public hidebysig instance void + Strings() cil managed + { + // Code size 407 (0x197) + .maxstack 8 + .locals init (class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass57_0' V_0) + IL_0000: newobj instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass57_0'::.ctor() + IL_0005: stloc.0 + IL_0006: nop + IL_0007: ldloc.0 + IL_0008: ldc.i4.1 + IL_0009: stfld int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass57_0'::i + IL_000e: ldloc.0 + IL_000f: ldstr "X" + IL_0014: stfld string ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass57_0'::x + IL_0019: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_001e: ldstr "a\n\\b" + IL_0023: ldtoken [mscorlib]System.String + IL_0028: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_002d: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0032: ldloc.0 + IL_0033: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass57_0' + IL_0038: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_003d: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0042: ldtoken field string ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass57_0'::x + IL_0047: call class [mscorlib]System.Reflection.FieldInfo [mscorlib]System.Reflection.FieldInfo::GetFieldFromHandle(valuetype [mscorlib]System.RuntimeFieldHandle) + IL_004c: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Field(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.FieldInfo) + IL_0051: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Coalesce(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0056: ldloc.0 + IL_0057: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass57_0' + IL_005c: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0061: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0066: ldtoken field string ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass57_0'::x + IL_006b: call class [mscorlib]System.Reflection.FieldInfo [mscorlib]System.Reflection.FieldInfo::GetFieldFromHandle(valuetype [mscorlib]System.RuntimeFieldHandle) + IL_0070: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Field(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.FieldInfo) + IL_0075: ldtoken method string [mscorlib]System.String::Concat(string, + string) + IL_007a: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_007f: castclass [mscorlib]System.Reflection.MethodInfo + IL_0084: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Add(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo) + IL_0089: ldtoken method instance int32 [mscorlib]System.String::get_Length() + IL_008e: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0093: castclass [mscorlib]System.Reflection.MethodInfo + IL_0098: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Property(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo) + IL_009d: ldc.i4.2 + IL_009e: box [mscorlib]System.Int32 + IL_00a3: ldtoken [mscorlib]System.Int32 + IL_00a8: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00ad: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_00b2: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Equal(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_00b7: ldc.i4.0 + IL_00b8: box [mscorlib]System.Boolean + IL_00bd: ldtoken [mscorlib]System.Boolean + IL_00c2: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00c7: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_00cc: ldc.i4.1 + IL_00cd: box [mscorlib]System.Boolean + IL_00d2: ldtoken [mscorlib]System.Boolean + IL_00d7: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00dc: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_00e1: ldc.i4.1 + IL_00e2: newobj instance void [mscorlib]System.Decimal::.ctor(int32) + IL_00e7: box [mscorlib]System.Decimal + IL_00ec: ldtoken [mscorlib]System.Decimal + IL_00f1: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00f6: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_00fb: ldloc.0 + IL_00fc: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass57_0' + IL_0101: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0106: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_010b: ldtoken field int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass57_0'::i + IL_0110: call class [mscorlib]System.Reflection.FieldInfo [mscorlib]System.Reflection.FieldInfo::GetFieldFromHandle(valuetype [mscorlib]System.RuntimeFieldHandle) + IL_0115: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Field(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.FieldInfo) + IL_011a: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Negate(class [System.Core]System.Linq.Expressions.Expression) + IL_011f: ldtoken [mscorlib]System.Decimal + IL_0124: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0129: ldtoken method valuetype [mscorlib]System.Decimal [mscorlib]System.Decimal::op_Implicit(int32) + IL_012e: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0133: castclass [mscorlib]System.Reflection.MethodInfo + IL_0138: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type, + class [mscorlib]System.Reflection.MethodInfo) + IL_013d: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Add(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0142: ldc.i4.0 + IL_0143: newobj instance void [mscorlib]System.Decimal::.ctor(int32) + IL_0148: box [mscorlib]System.Decimal + IL_014d: ldtoken [mscorlib]System.Decimal + IL_0152: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0157: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_015c: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::GreaterThan(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0161: ldc.i4.0 + IL_0162: box [mscorlib]System.Boolean + IL_0167: ldtoken [mscorlib]System.Boolean + IL_016c: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0171: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0176: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::OrElse(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_017b: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::AndAlso(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0180: call class [System.Core]System.Linq.Expressions.ConditionalExpression [System.Core]System.Linq.Expressions.Expression::Condition(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0185: ldc.i4.0 + IL_0186: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_018b: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0190: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0195: pop + IL_0196: ret + } // end of method ExpressionTrees::Strings + + .method public hidebysig instance void + GenericClassInstance() cil managed + { + // Code size 119 (0x77) + .maxstack 5 + IL_0000: nop + IL_0001: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0006: ldtoken class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/GenericClass`1 + IL_000b: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0010: call class [System.Core]System.Linq.Expressions.NewExpression [System.Core]System.Linq.Expressions.Expression::New(class [mscorlib]System.Type) + IL_0015: ldtoken field !0 class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/GenericClass`1::InstanceField + IL_001a: ldtoken class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/GenericClass`1 + IL_001f: call class [mscorlib]System.Reflection.FieldInfo [mscorlib]System.Reflection.FieldInfo::GetFieldFromHandle(valuetype [mscorlib]System.RuntimeFieldHandle, + valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0024: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Field(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.FieldInfo) + IL_0029: ldtoken [mscorlib]System.Double + IL_002e: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0033: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_0038: ldtoken class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/GenericClass`1 + IL_003d: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0042: call class [System.Core]System.Linq.Expressions.NewExpression [System.Core]System.Linq.Expressions.Expression::New(class [mscorlib]System.Type) + IL_0047: ldtoken method instance !0 class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/GenericClass`1::get_InstanceProperty() + IL_004c: ldtoken class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/GenericClass`1 + IL_0051: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle, + valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0056: castclass [mscorlib]System.Reflection.MethodInfo + IL_005b: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Property(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo) + IL_0060: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Add(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0065: ldc.i4.0 + IL_0066: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_006b: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0070: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0075: pop + IL_0076: ret + } // end of method ExpressionTrees::GenericClassInstance + + .method public hidebysig instance void + GenericClassStatic() cil managed + { + // Code size 91 (0x5b) + .maxstack 5 + IL_0000: nop + IL_0001: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0006: ldnull + IL_0007: ldtoken field !0 class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/GenericClass`1::StaticField + IL_000c: ldtoken class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/GenericClass`1 + IL_0011: call class [mscorlib]System.Reflection.FieldInfo [mscorlib]System.Reflection.FieldInfo::GetFieldFromHandle(valuetype [mscorlib]System.RuntimeFieldHandle, + valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0016: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Field(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.FieldInfo) + IL_001b: ldtoken [mscorlib]System.Double + IL_0020: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0025: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_002a: ldnull + IL_002b: ldtoken method !0 class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/GenericClass`1::get_StaticProperty() + IL_0030: ldtoken class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/GenericClass`1 + IL_0035: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle, + valuetype [mscorlib]System.RuntimeTypeHandle) + IL_003a: castclass [mscorlib]System.Reflection.MethodInfo + IL_003f: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Property(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo) + IL_0044: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Add(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0049: ldc.i4.0 + IL_004a: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_004f: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0054: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0059: pop + IL_005a: ret + } // end of method ExpressionTrees::GenericClassStatic + + .method public hidebysig instance void + InvokeGenericMethod() cil managed + { + // Code size 56 (0x38) + .maxstack 8 + IL_0000: nop + IL_0001: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() + IL_0006: ldnull + IL_0007: ldtoken method bool class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/GenericClass`1::GenericMethod() + IL_000c: ldtoken class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/GenericClass`1 + IL_0011: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle, + valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0016: castclass [mscorlib]System.Reflection.MethodInfo + IL_001b: ldc.i4.0 + IL_001c: newarr [System.Core]System.Linq.Expressions.Expression + IL_0021: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_0026: ldc.i4.0 + IL_0027: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_002c: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0031: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0036: pop + IL_0037: ret + } // end of method ExpressionTrees::InvokeGenericMethod + + .method private hidebysig static void Test(!!T delegateExpression, + class [System.Core]System.Linq.Expressions.Expression`1 expressionTree) cil managed + { + // Code size 2 (0x2) + .maxstack 8 + IL_0000: nop + IL_0001: ret + } // end of method ExpressionTrees::Test + + .method public hidebysig static void ArrayIndexer() cil managed + { + // Code size 609 (0x261) + .maxstack 7 + .locals init (class [System.Core]System.Linq.Expressions.ParameterExpression V_0, + class [System.Core]System.Linq.Expressions.ParameterExpression V_1) + IL_0000: nop + IL_0001: ldsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__62_0' + IL_0006: dup + IL_0007: brtrue.s IL_0020 + + IL_0009: pop + IL_000a: ldsfld class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c' ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9' + IL_000f: ldftn instance int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'b__62_0'(int32[]) + IL_0015: newobj instance void class [mscorlib]System.Func`2::.ctor(object, + native int) + IL_001a: dup + IL_001b: stsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__62_0' + IL_0020: ldtoken int32[] + IL_0025: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_002a: ldstr "array" + IL_002f: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0034: stloc.0 + IL_0035: ldloc.0 + IL_0036: ldc.i4.0 + IL_0037: box [mscorlib]System.Int32 + IL_003c: ldtoken [mscorlib]System.Int32 + IL_0041: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0046: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_004b: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::ArrayIndex(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0050: ldc.i4.1 + IL_0051: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0056: dup + IL_0057: ldc.i4.0 + IL_0058: ldloc.0 + IL_0059: stelem.ref + IL_005a: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_005f: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_0064: nop + IL_0065: ldsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__62_1' + IL_006a: dup + IL_006b: brtrue.s IL_0084 + + IL_006d: pop + IL_006e: ldsfld class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c' ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9' + IL_0073: ldftn instance int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'b__62_1'(int32[], + int32) + IL_0079: newobj instance void class [mscorlib]System.Func`3::.ctor(object, + native int) + IL_007e: dup + IL_007f: stsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__62_1' + IL_0084: ldtoken int32[] + IL_0089: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_008e: ldstr "array" + IL_0093: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0098: stloc.0 + IL_0099: ldtoken [mscorlib]System.Int32 + IL_009e: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00a3: ldstr "index" + IL_00a8: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_00ad: stloc.1 + IL_00ae: ldloc.0 + IL_00af: ldloc.1 + IL_00b0: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::ArrayIndex(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_00b5: ldc.i4.2 + IL_00b6: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_00bb: dup + IL_00bc: ldc.i4.0 + IL_00bd: ldloc.0 + IL_00be: stelem.ref + IL_00bf: dup + IL_00c0: ldc.i4.1 + IL_00c1: ldloc.1 + IL_00c2: stelem.ref + IL_00c3: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_00c8: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_00cd: nop + IL_00ce: ldsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__62_2' + IL_00d3: dup + IL_00d4: brtrue.s IL_00ed + + IL_00d6: pop + IL_00d7: ldsfld class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c' ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9' + IL_00dc: ldftn instance int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'b__62_2'(int32[0...,0...]) + IL_00e2: newobj instance void class [mscorlib]System.Func`2::.ctor(object, + native int) + IL_00e7: dup + IL_00e8: stsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__62_2' + IL_00ed: ldtoken int32[0...,0...] + IL_00f2: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00f7: ldstr "array" + IL_00fc: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0101: stloc.1 + IL_0102: ldloc.1 + IL_0103: ldc.i4.2 + IL_0104: newarr [System.Core]System.Linq.Expressions.Expression + IL_0109: dup + IL_010a: ldc.i4.0 + IL_010b: ldc.i4.0 + IL_010c: box [mscorlib]System.Int32 + IL_0111: ldtoken [mscorlib]System.Int32 + IL_0116: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_011b: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0120: stelem.ref + IL_0121: dup + IL_0122: ldc.i4.1 + IL_0123: ldc.i4.5 + IL_0124: box [mscorlib]System.Int32 + IL_0129: ldtoken [mscorlib]System.Int32 + IL_012e: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0133: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0138: stelem.ref + IL_0139: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::ArrayIndex(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_013e: ldc.i4.1 + IL_013f: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0144: dup + IL_0145: ldc.i4.0 + IL_0146: ldloc.1 + IL_0147: stelem.ref + IL_0148: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_014d: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_0152: nop + IL_0153: ldsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__62_3' + IL_0158: dup + IL_0159: brtrue.s IL_0172 + + IL_015b: pop + IL_015c: ldsfld class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c' ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9' + IL_0161: ldftn instance int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'b__62_3'(int32[0...,0...], + int32) + IL_0167: newobj instance void class [mscorlib]System.Func`3::.ctor(object, + native int) + IL_016c: dup + IL_016d: stsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__62_3' + IL_0172: ldtoken int32[0...,0...] + IL_0177: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_017c: ldstr "array" + IL_0181: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0186: stloc.1 + IL_0187: ldtoken [mscorlib]System.Int32 + IL_018c: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0191: ldstr "index" + IL_0196: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_019b: stloc.0 + IL_019c: ldloc.1 + IL_019d: ldc.i4.2 + IL_019e: newarr [System.Core]System.Linq.Expressions.Expression + IL_01a3: dup + IL_01a4: ldc.i4.0 + IL_01a5: ldloc.0 + IL_01a6: stelem.ref + IL_01a7: dup + IL_01a8: ldc.i4.1 + IL_01a9: ldc.i4.7 + IL_01aa: box [mscorlib]System.Int32 + IL_01af: ldtoken [mscorlib]System.Int32 + IL_01b4: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_01b9: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_01be: stelem.ref + IL_01bf: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::ArrayIndex(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_01c4: ldc.i4.2 + IL_01c5: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_01ca: dup + IL_01cb: ldc.i4.0 + IL_01cc: ldloc.1 + IL_01cd: stelem.ref + IL_01ce: dup + IL_01cf: ldc.i4.1 + IL_01d0: ldloc.0 + IL_01d1: stelem.ref + IL_01d2: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_01d7: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_01dc: nop + IL_01dd: ldsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__62_4' + IL_01e2: dup + IL_01e3: brtrue.s IL_01fc + + IL_01e5: pop + IL_01e6: ldsfld class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c' ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9' + IL_01eb: ldftn instance int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'b__62_4'(int32[][], + int32) + IL_01f1: newobj instance void class [mscorlib]System.Func`3::.ctor(object, + native int) + IL_01f6: dup + IL_01f7: stsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__62_4' + IL_01fc: ldtoken int32[][] + IL_0201: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0206: ldstr "array" + IL_020b: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0210: stloc.0 + IL_0211: ldtoken [mscorlib]System.Int32 + IL_0216: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_021b: ldstr "index" + IL_0220: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0225: stloc.1 + IL_0226: ldloc.0 + IL_0227: ldloc.1 + IL_0228: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::ArrayIndex(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_022d: ldc.i4.7 + IL_022e: box [mscorlib]System.Int32 + IL_0233: ldtoken [mscorlib]System.Int32 + IL_0238: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_023d: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0242: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::ArrayIndex(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0247: ldc.i4.2 + IL_0248: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_024d: dup + IL_024e: ldc.i4.0 + IL_024f: ldloc.0 + IL_0250: stelem.ref + IL_0251: dup + IL_0252: ldc.i4.1 + IL_0253: ldloc.1 + IL_0254: stelem.ref + IL_0255: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_025a: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_025f: nop + IL_0260: ret + } // end of method ExpressionTrees::ArrayIndexer + + .method public hidebysig static void ArrayLength() cil managed + { + // Code size 165 (0xa5) + .maxstack 6 + .locals init (class [System.Core]System.Linq.Expressions.ParameterExpression V_0) + IL_0000: nop + IL_0001: ldsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__63_0' + IL_0006: dup + IL_0007: brtrue.s IL_0020 + + IL_0009: pop + IL_000a: ldsfld class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c' ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9' + IL_000f: ldftn instance int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'b__63_0'(int32[]) + IL_0015: newobj instance void class [mscorlib]System.Func`2::.ctor(object, + native int) + IL_001a: dup + IL_001b: stsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__63_0' + IL_0020: ldtoken int32[] + IL_0025: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_002a: ldstr "array" + IL_002f: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0034: stloc.0 + IL_0035: ldloc.0 + IL_0036: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::ArrayLength(class [System.Core]System.Linq.Expressions.Expression) + IL_003b: ldc.i4.1 + IL_003c: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0041: dup + IL_0042: ldc.i4.0 + IL_0043: ldloc.0 + IL_0044: stelem.ref + IL_0045: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_004a: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_004f: nop + IL_0050: ldsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__63_1' + IL_0055: dup + IL_0056: brtrue.s IL_006f + + IL_0058: pop + IL_0059: ldsfld class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c' ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9' + IL_005e: ldftn instance int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'b__63_1'() + IL_0064: newobj instance void class [mscorlib]System.Func`1::.ctor(object, + native int) + IL_0069: dup + IL_006a: stsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__63_1' + IL_006f: ldnull + IL_0070: ldtoken [mscorlib]System.Array + IL_0075: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_007a: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_007f: ldtoken method instance int32 [mscorlib]System.Array::get_Length() + IL_0084: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0089: castclass [mscorlib]System.Reflection.MethodInfo + IL_008e: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Property(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo) + IL_0093: ldc.i4.0 + IL_0094: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0099: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_009e: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_00a3: nop + IL_00a4: ret + } // end of method ExpressionTrees::ArrayLength + + .method public hidebysig static void NewObj() cil managed + { + // Code size 553 (0x229) + .maxstack 7 + IL_0000: nop + IL_0001: ldsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__64_0' + IL_0006: dup + IL_0007: brtrue.s IL_0020 + + IL_0009: pop + IL_000a: ldsfld class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c' ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9' + IL_000f: ldftn instance object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'b__64_0'() + IL_0015: newobj instance void class [mscorlib]System.Func`1::.ctor(object, + native int) + IL_001a: dup + IL_001b: stsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__64_0' + IL_0020: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.SimpleType + IL_0025: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_002a: call class [System.Core]System.Linq.Expressions.NewExpression [System.Core]System.Linq.Expressions.Expression::New(class [mscorlib]System.Type) + IL_002f: ldc.i4.0 + IL_0030: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0035: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_003a: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_003f: nop + IL_0040: ldsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__64_1' + IL_0045: dup + IL_0046: brtrue.s IL_005f + + IL_0048: pop + IL_0049: ldsfld class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c' ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9' + IL_004e: ldftn instance object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'b__64_1'() + IL_0054: newobj instance void class [mscorlib]System.Func`1::.ctor(object, + native int) + IL_0059: dup + IL_005a: stsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__64_1' + IL_005f: ldtoken method instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.SimpleTypeWithCtor::.ctor(int32) + IL_0064: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0069: castclass [mscorlib]System.Reflection.ConstructorInfo + IL_006e: ldc.i4.1 + IL_006f: newarr [System.Core]System.Linq.Expressions.Expression + IL_0074: dup + IL_0075: ldc.i4.0 + IL_0076: ldc.i4.5 + IL_0077: box [mscorlib]System.Int32 + IL_007c: ldtoken [mscorlib]System.Int32 + IL_0081: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0086: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_008b: stelem.ref + IL_008c: call class [System.Core]System.Linq.Expressions.NewExpression [System.Core]System.Linq.Expressions.Expression::New(class [mscorlib]System.Reflection.ConstructorInfo, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0091: ldc.i4.0 + IL_0092: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0097: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_009c: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_00a1: nop + IL_00a2: ldsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__64_2' + IL_00a7: dup + IL_00a8: brtrue.s IL_00c1 + + IL_00aa: pop + IL_00ab: ldsfld class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c' ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9' + IL_00b0: ldftn instance object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'b__64_2'() + IL_00b6: newobj instance void class [mscorlib]System.Func`1::.ctor(object, + native int) + IL_00bb: dup + IL_00bc: stsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__64_2' + IL_00c1: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.SimpleTypeWithMultipleCtors + IL_00c6: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00cb: call class [System.Core]System.Linq.Expressions.NewExpression [System.Core]System.Linq.Expressions.Expression::New(class [mscorlib]System.Type) + IL_00d0: ldc.i4.0 + IL_00d1: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_00d6: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_00db: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_00e0: nop + IL_00e1: ldsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__64_3' + IL_00e6: dup + IL_00e7: brtrue.s IL_0100 + + IL_00e9: pop + IL_00ea: ldsfld class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c' ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9' + IL_00ef: ldftn instance object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'b__64_3'() + IL_00f5: newobj instance void class [mscorlib]System.Func`1::.ctor(object, + native int) + IL_00fa: dup + IL_00fb: stsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__64_3' + IL_0100: ldtoken method instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.SimpleTypeWithMultipleCtors::.ctor(int32) + IL_0105: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_010a: castclass [mscorlib]System.Reflection.ConstructorInfo + IL_010f: ldc.i4.1 + IL_0110: newarr [System.Core]System.Linq.Expressions.Expression + IL_0115: dup + IL_0116: ldc.i4.0 + IL_0117: ldc.i4.5 + IL_0118: box [mscorlib]System.Int32 + IL_011d: ldtoken [mscorlib]System.Int32 + IL_0122: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0127: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_012c: stelem.ref + IL_012d: call class [System.Core]System.Linq.Expressions.NewExpression [System.Core]System.Linq.Expressions.Expression::New(class [mscorlib]System.Reflection.ConstructorInfo, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0132: ldc.i4.0 + IL_0133: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0138: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_013d: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_0142: nop + IL_0143: ldsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__64_4' + IL_0148: dup + IL_0149: brtrue.s IL_0162 + + IL_014b: pop + IL_014c: ldsfld class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c' ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9' + IL_0151: ldftn instance object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'b__64_4'() + IL_0157: newobj instance void class [mscorlib]System.Func`1::.ctor(object, + native int) + IL_015c: dup + IL_015d: stsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__64_4' + IL_0162: ldtoken class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/GenericClass`1 + IL_0167: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_016c: call class [System.Core]System.Linq.Expressions.NewExpression [System.Core]System.Linq.Expressions.Expression::New(class [mscorlib]System.Type) + IL_0171: ldc.i4.0 + IL_0172: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0177: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_017c: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_0181: nop + IL_0182: ldsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__64_5' + IL_0187: dup + IL_0188: brtrue.s IL_01a1 + + IL_018a: pop + IL_018b: ldsfld class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c' ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9' + IL_0190: ldftn instance object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'b__64_5'() + IL_0196: newobj instance void class [mscorlib]System.Func`1::.ctor(object, + native int) + IL_019b: dup + IL_019c: stsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__64_5' + IL_01a1: ldtoken class ICSharpCode.Decompiler.Tests.TestCases.Pretty.GenericClassWithCtor`1 + IL_01a6: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_01ab: call class [System.Core]System.Linq.Expressions.NewExpression [System.Core]System.Linq.Expressions.Expression::New(class [mscorlib]System.Type) + IL_01b0: ldc.i4.0 + IL_01b1: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_01b6: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_01bb: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_01c0: nop + IL_01c1: ldsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__64_6' + IL_01c6: dup + IL_01c7: brtrue.s IL_01e0 + + IL_01c9: pop + IL_01ca: ldsfld class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c' ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9' + IL_01cf: ldftn instance object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'b__64_6'() + IL_01d5: newobj instance void class [mscorlib]System.Func`1::.ctor(object, + native int) + IL_01da: dup + IL_01db: stsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__64_6' + IL_01e0: ldtoken method instance void class ICSharpCode.Decompiler.Tests.TestCases.Pretty.GenericClassWithMultipleCtors`1::.ctor(int32) + IL_01e5: ldtoken class ICSharpCode.Decompiler.Tests.TestCases.Pretty.GenericClassWithMultipleCtors`1 + IL_01ea: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle, + valuetype [mscorlib]System.RuntimeTypeHandle) + IL_01ef: castclass [mscorlib]System.Reflection.ConstructorInfo + IL_01f4: ldc.i4.1 + IL_01f5: newarr [System.Core]System.Linq.Expressions.Expression + IL_01fa: dup + IL_01fb: ldc.i4.0 + IL_01fc: ldc.i4.5 + IL_01fd: box [mscorlib]System.Int32 + IL_0202: ldtoken [mscorlib]System.Int32 + IL_0207: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_020c: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0211: stelem.ref + IL_0212: call class [System.Core]System.Linq.Expressions.NewExpression [System.Core]System.Linq.Expressions.Expression::New(class [mscorlib]System.Reflection.ConstructorInfo, + class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_0217: ldc.i4.0 + IL_0218: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_021d: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0222: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_0227: nop + IL_0228: ret + } // end of method ExpressionTrees::NewObj + + .method public hidebysig static void TypeOfExpr() cil managed + { + // Code size 367 (0x16f) + .maxstack 3 + IL_0000: nop + IL_0001: ldsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__65_0' + IL_0006: dup + IL_0007: brtrue.s IL_0020 + + IL_0009: pop + IL_000a: ldsfld class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c' ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9' + IL_000f: ldftn instance class [mscorlib]System.Type ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'b__65_0'() + IL_0015: newobj instance void class [mscorlib]System.Func`1::.ctor(object, + native int) + IL_001a: dup + IL_001b: stsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__65_0' + IL_0020: ldtoken [mscorlib]System.Int32 + IL_0025: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_002a: ldtoken [mscorlib]System.Type + IL_002f: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0034: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0039: ldc.i4.0 + IL_003a: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_003f: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0044: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_0049: nop + IL_004a: ldsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__65_1' + IL_004f: dup + IL_0050: brtrue.s IL_0069 + + IL_0052: pop + IL_0053: ldsfld class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c' ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9' + IL_0058: ldftn instance class [mscorlib]System.Type ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'b__65_1'() + IL_005e: newobj instance void class [mscorlib]System.Func`1::.ctor(object, + native int) + IL_0063: dup + IL_0064: stsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__65_1' + IL_0069: ldtoken [mscorlib]System.Object + IL_006e: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0073: ldtoken [mscorlib]System.Type + IL_0078: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_007d: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0082: ldc.i4.0 + IL_0083: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0088: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_008d: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_0092: nop + IL_0093: ldsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__65_2' + IL_0098: dup + IL_0099: brtrue.s IL_00b2 + + IL_009b: pop + IL_009c: ldsfld class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c' ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9' + IL_00a1: ldftn instance class [mscorlib]System.Type ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'b__65_2'() + IL_00a7: newobj instance void class [mscorlib]System.Func`1::.ctor(object, + native int) + IL_00ac: dup + IL_00ad: stsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__65_2' + IL_00b2: ldtoken [mscorlib]System.Collections.Generic.List`1 + IL_00b7: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00bc: ldtoken [mscorlib]System.Type + IL_00c1: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00c6: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_00cb: ldc.i4.0 + IL_00cc: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_00d1: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_00d6: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_00db: nop + IL_00dc: ldsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__65_3' + IL_00e1: dup + IL_00e2: brtrue.s IL_00fb + + IL_00e4: pop + IL_00e5: ldsfld class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c' ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9' + IL_00ea: ldftn instance class [mscorlib]System.Type ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'b__65_3'() + IL_00f0: newobj instance void class [mscorlib]System.Func`1::.ctor(object, + native int) + IL_00f5: dup + IL_00f6: stsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__65_3' + IL_00fb: ldtoken class [mscorlib]System.Collections.Generic.List`1 + IL_0100: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0105: ldtoken [mscorlib]System.Type + IL_010a: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_010f: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0114: ldc.i4.0 + IL_0115: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_011a: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_011f: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_0124: nop + IL_0125: ldsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__65_4' + IL_012a: dup + IL_012b: brtrue.s IL_0144 + + IL_012d: pop + IL_012e: ldsfld class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c' ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9' + IL_0133: ldftn instance class [mscorlib]System.Type ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'b__65_4'() + IL_0139: newobj instance void class [mscorlib]System.Func`1::.ctor(object, + native int) + IL_013e: dup + IL_013f: stsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__65_4' + IL_0144: ldtoken int32* + IL_0149: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_014e: ldtoken [mscorlib]System.Type + IL_0153: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0158: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_015d: ldc.i4.0 + IL_015e: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0163: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0168: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_016d: nop + IL_016e: ret + } // end of method ExpressionTrees::TypeOfExpr + + .method public hidebysig static void AsTypeExpr() cil managed + { + // Code size 180 (0xb4) + .maxstack 6 + .locals init (class [System.Core]System.Linq.Expressions.ParameterExpression V_0) + IL_0000: nop + IL_0001: ldsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__66_0' + IL_0006: dup + IL_0007: brtrue.s IL_0020 + + IL_0009: pop + IL_000a: ldsfld class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c' ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9' + IL_000f: ldftn instance class ICSharpCode.Decompiler.Tests.TestCases.Pretty.MyClass ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'b__66_0'(object) + IL_0015: newobj instance void class [mscorlib]System.Func`2::.ctor(object, + native int) + IL_001a: dup + IL_001b: stsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__66_0' + IL_0020: ldtoken [mscorlib]System.Object + IL_0025: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_002a: ldstr "obj" + IL_002f: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0034: stloc.0 + IL_0035: ldloc.0 + IL_0036: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.MyClass + IL_003b: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0040: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::TypeAs(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_0045: ldc.i4.1 + IL_0046: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_004b: dup + IL_004c: ldc.i4.0 + IL_004d: ldloc.0 + IL_004e: stelem.ref + IL_004f: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0054: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_0059: nop + IL_005a: ldsfld class [mscorlib]System.Func`2> ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__66_1' + IL_005f: dup + IL_0060: brtrue.s IL_0079 + + IL_0062: pop + IL_0063: ldsfld class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c' ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9' + IL_0068: ldftn instance class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/GenericClass`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'b__66_1'(object) + IL_006e: newobj instance void class [mscorlib]System.Func`2>::.ctor(object, + native int) + IL_0073: dup + IL_0074: stsfld class [mscorlib]System.Func`2> ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__66_1' + IL_0079: ldtoken [mscorlib]System.Object + IL_007e: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0083: ldstr "obj" + IL_0088: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_008d: stloc.0 + IL_008e: ldloc.0 + IL_008f: ldtoken class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/GenericClass`1 + IL_0094: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0099: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::TypeAs(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_009e: ldc.i4.1 + IL_009f: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_00a4: dup + IL_00a5: ldc.i4.0 + IL_00a6: ldloc.0 + IL_00a7: stelem.ref + IL_00a8: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_00ad: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_00b2: nop + IL_00b3: ret + } // end of method ExpressionTrees::AsTypeExpr + + .method public hidebysig static void IsTypeExpr() cil managed + { + // Code size 91 (0x5b) + .maxstack 6 + .locals init (class [System.Core]System.Linq.Expressions.ParameterExpression V_0) + IL_0000: nop + IL_0001: ldsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__67_0' + IL_0006: dup + IL_0007: brtrue.s IL_0020 + + IL_0009: pop + IL_000a: ldsfld class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c' ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9' + IL_000f: ldftn instance bool ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'b__67_0'(object) + IL_0015: newobj instance void class [mscorlib]System.Func`2::.ctor(object, + native int) + IL_001a: dup + IL_001b: stsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__67_0' + IL_0020: ldtoken [mscorlib]System.Object + IL_0025: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_002a: ldstr "obj" + IL_002f: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0034: stloc.0 + IL_0035: ldloc.0 + IL_0036: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.MyClass + IL_003b: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0040: call class [System.Core]System.Linq.Expressions.TypeBinaryExpression [System.Core]System.Linq.Expressions.Expression::TypeIs(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_0045: ldc.i4.1 + IL_0046: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_004b: dup + IL_004c: ldc.i4.0 + IL_004d: ldloc.0 + IL_004e: stelem.ref + IL_004f: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0054: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_0059: nop + IL_005a: ret + } // end of method ExpressionTrees::IsTypeExpr + + .method public hidebysig static void UnaryLogicalOperators() cil managed + { + // Code size 81 (0x51) + .maxstack 6 + .locals init (class [System.Core]System.Linq.Expressions.ParameterExpression V_0) + IL_0000: nop + IL_0001: ldsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__68_0' + IL_0006: dup + IL_0007: brtrue.s IL_0020 + + IL_0009: pop + IL_000a: ldsfld class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c' ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9' + IL_000f: ldftn instance bool ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'b__68_0'(bool) + IL_0015: newobj instance void class [mscorlib]System.Func`2::.ctor(object, + native int) + IL_001a: dup + IL_001b: stsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__68_0' + IL_0020: ldtoken [mscorlib]System.Boolean + IL_0025: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_002a: ldstr "a" + IL_002f: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0034: stloc.0 + IL_0035: ldloc.0 + IL_0036: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Not(class [System.Core]System.Linq.Expressions.Expression) + IL_003b: ldc.i4.1 + IL_003c: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0041: dup + IL_0042: ldc.i4.0 + IL_0043: ldloc.0 + IL_0044: stelem.ref + IL_0045: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_004a: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_004f: nop + IL_0050: ret + } // end of method ExpressionTrees::UnaryLogicalOperators + + .method public hidebysig static void ConditionalOperator() cil managed + { + // Code size 158 (0x9e) + .maxstack 6 + .locals init (class [System.Core]System.Linq.Expressions.ParameterExpression V_0) + IL_0000: nop + IL_0001: ldnull + IL_0002: ldtoken [mscorlib]System.Boolean + IL_0007: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_000c: ldstr "a" + IL_0011: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0016: stloc.0 + IL_0017: ldloc.0 + IL_0018: ldc.i4.5 + IL_0019: box [mscorlib]System.Int32 + IL_001e: ldtoken [mscorlib]System.Int32 + IL_0023: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0028: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_002d: ldc.i4.s 10 + IL_002f: box [mscorlib]System.Int32 + IL_0034: ldtoken [mscorlib]System.Int32 + IL_0039: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_003e: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0043: call class [System.Core]System.Linq.Expressions.ConditionalExpression [System.Core]System.Linq.Expressions.Expression::Condition(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0048: ldc.i4.1 + IL_0049: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_004e: dup + IL_004f: ldc.i4.0 + IL_0050: ldloc.0 + IL_0051: stelem.ref + IL_0052: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0057: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_005c: pop + IL_005d: ldnull + IL_005e: ldtoken [mscorlib]System.Object + IL_0063: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0068: ldstr "a" + IL_006d: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0072: stloc.0 + IL_0073: ldloc.0 + IL_0074: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.MyClass + IL_0079: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_007e: call class [System.Core]System.Linq.Expressions.NewExpression [System.Core]System.Linq.Expressions.Expression::New(class [mscorlib]System.Type) + IL_0083: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Coalesce(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0088: ldc.i4.1 + IL_0089: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_008e: dup + IL_008f: ldc.i4.0 + IL_0090: ldloc.0 + IL_0091: stelem.ref + IL_0092: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0097: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_009c: pop + IL_009d: ret + } // end of method ExpressionTrees::ConditionalOperator + + .method public hidebysig static void BinaryLogicalOperators() cil managed + { + // Code size 1605 (0x645) + .maxstack 6 + .locals init (class [System.Core]System.Linq.Expressions.ParameterExpression V_0, + class [System.Core]System.Linq.Expressions.ParameterExpression V_1) + IL_0000: nop + IL_0001: ldnull + IL_0002: ldtoken [mscorlib]System.Int32 + IL_0007: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_000c: ldstr "a" + IL_0011: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0016: stloc.0 + IL_0017: ldtoken [mscorlib]System.Int32 + IL_001c: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0021: ldstr "b" + IL_0026: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_002b: stloc.1 + IL_002c: ldloc.0 + IL_002d: ldloc.1 + IL_002e: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Equal(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0033: ldc.i4.2 + IL_0034: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0039: dup + IL_003a: ldc.i4.0 + IL_003b: ldloc.0 + IL_003c: stelem.ref + IL_003d: dup + IL_003e: ldc.i4.1 + IL_003f: ldloc.1 + IL_0040: stelem.ref + IL_0041: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0046: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_004b: pop + IL_004c: ldnull + IL_004d: ldtoken [mscorlib]System.Int32 + IL_0052: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0057: ldstr "a" + IL_005c: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0061: stloc.1 + IL_0062: ldtoken [mscorlib]System.Int32 + IL_0067: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_006c: ldstr "b" + IL_0071: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0076: stloc.0 + IL_0077: ldloc.1 + IL_0078: ldloc.0 + IL_0079: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::NotEqual(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_007e: ldc.i4.2 + IL_007f: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0084: dup + IL_0085: ldc.i4.0 + IL_0086: ldloc.1 + IL_0087: stelem.ref + IL_0088: dup + IL_0089: ldc.i4.1 + IL_008a: ldloc.0 + IL_008b: stelem.ref + IL_008c: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0091: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0096: pop + IL_0097: ldnull + IL_0098: ldtoken [mscorlib]System.Int32 + IL_009d: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00a2: ldstr "a" + IL_00a7: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_00ac: stloc.0 + IL_00ad: ldtoken [mscorlib]System.Int32 + IL_00b2: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00b7: ldstr "b" + IL_00bc: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_00c1: stloc.1 + IL_00c2: ldloc.0 + IL_00c3: ldloc.1 + IL_00c4: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::LessThan(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_00c9: ldc.i4.2 + IL_00ca: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_00cf: dup + IL_00d0: ldc.i4.0 + IL_00d1: ldloc.0 + IL_00d2: stelem.ref + IL_00d3: dup + IL_00d4: ldc.i4.1 + IL_00d5: ldloc.1 + IL_00d6: stelem.ref + IL_00d7: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_00dc: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_00e1: pop + IL_00e2: ldnull + IL_00e3: ldtoken [mscorlib]System.Int32 + IL_00e8: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00ed: ldstr "a" + IL_00f2: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_00f7: stloc.1 + IL_00f8: ldtoken [mscorlib]System.Int32 + IL_00fd: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0102: ldstr "b" + IL_0107: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_010c: stloc.0 + IL_010d: ldloc.1 + IL_010e: ldloc.0 + IL_010f: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::LessThanOrEqual(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0114: ldc.i4.2 + IL_0115: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_011a: dup + IL_011b: ldc.i4.0 + IL_011c: ldloc.1 + IL_011d: stelem.ref + IL_011e: dup + IL_011f: ldc.i4.1 + IL_0120: ldloc.0 + IL_0121: stelem.ref + IL_0122: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0127: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_012c: pop + IL_012d: ldnull + IL_012e: ldtoken [mscorlib]System.Int32 + IL_0133: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0138: ldstr "a" + IL_013d: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0142: stloc.0 + IL_0143: ldtoken [mscorlib]System.Int32 + IL_0148: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_014d: ldstr "b" + IL_0152: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0157: stloc.1 + IL_0158: ldloc.0 + IL_0159: ldloc.1 + IL_015a: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::GreaterThan(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_015f: ldc.i4.2 + IL_0160: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0165: dup + IL_0166: ldc.i4.0 + IL_0167: ldloc.0 + IL_0168: stelem.ref + IL_0169: dup + IL_016a: ldc.i4.1 + IL_016b: ldloc.1 + IL_016c: stelem.ref + IL_016d: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0172: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0177: pop + IL_0178: ldnull + IL_0179: ldtoken [mscorlib]System.Int32 + IL_017e: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0183: ldstr "a" + IL_0188: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_018d: stloc.1 + IL_018e: ldtoken [mscorlib]System.Int32 + IL_0193: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0198: ldstr "b" + IL_019d: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_01a2: stloc.0 + IL_01a3: ldloc.1 + IL_01a4: ldloc.0 + IL_01a5: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::GreaterThanOrEqual(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_01aa: ldc.i4.2 + IL_01ab: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_01b0: dup + IL_01b1: ldc.i4.0 + IL_01b2: ldloc.1 + IL_01b3: stelem.ref + IL_01b4: dup + IL_01b5: ldc.i4.1 + IL_01b6: ldloc.0 + IL_01b7: stelem.ref + IL_01b8: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_01bd: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_01c2: pop + IL_01c3: ldnull + IL_01c4: ldtoken [mscorlib]System.Int32 + IL_01c9: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_01ce: ldstr "a" + IL_01d3: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_01d8: stloc.0 + IL_01d9: ldtoken [mscorlib]System.Int32 + IL_01de: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_01e3: ldstr "b" + IL_01e8: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_01ed: stloc.1 + IL_01ee: ldloc.0 + IL_01ef: ldc.i4.1 + IL_01f0: box [mscorlib]System.Int32 + IL_01f5: ldtoken [mscorlib]System.Int32 + IL_01fa: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_01ff: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0204: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Equal(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0209: ldloc.1 + IL_020a: ldc.i4.2 + IL_020b: box [mscorlib]System.Int32 + IL_0210: ldtoken [mscorlib]System.Int32 + IL_0215: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_021a: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_021f: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Equal(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0224: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::AndAlso(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0229: ldc.i4.2 + IL_022a: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_022f: dup + IL_0230: ldc.i4.0 + IL_0231: ldloc.0 + IL_0232: stelem.ref + IL_0233: dup + IL_0234: ldc.i4.1 + IL_0235: ldloc.1 + IL_0236: stelem.ref + IL_0237: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_023c: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0241: pop + IL_0242: ldnull + IL_0243: ldtoken [mscorlib]System.Int32 + IL_0248: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_024d: ldstr "a" + IL_0252: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0257: stloc.1 + IL_0258: ldtoken [mscorlib]System.Int32 + IL_025d: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0262: ldstr "b" + IL_0267: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_026c: stloc.0 + IL_026d: ldloc.1 + IL_026e: ldc.i4.1 + IL_026f: box [mscorlib]System.Int32 + IL_0274: ldtoken [mscorlib]System.Int32 + IL_0279: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_027e: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0283: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Equal(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0288: ldloc.0 + IL_0289: ldc.i4.2 + IL_028a: box [mscorlib]System.Int32 + IL_028f: ldtoken [mscorlib]System.Int32 + IL_0294: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0299: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_029e: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Equal(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_02a3: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::OrElse(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_02a8: ldc.i4.2 + IL_02a9: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_02ae: dup + IL_02af: ldc.i4.0 + IL_02b0: ldloc.1 + IL_02b1: stelem.ref + IL_02b2: dup + IL_02b3: ldc.i4.1 + IL_02b4: ldloc.0 + IL_02b5: stelem.ref + IL_02b6: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_02bb: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_02c0: pop + IL_02c1: ldnull + IL_02c2: ldtoken [mscorlib]System.Int32 + IL_02c7: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_02cc: ldstr "a" + IL_02d1: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_02d6: stloc.0 + IL_02d7: ldtoken [mscorlib]System.Int16 + IL_02dc: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_02e1: ldstr "b" + IL_02e6: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_02eb: stloc.1 + IL_02ec: ldloc.0 + IL_02ed: ldloc.1 + IL_02ee: ldtoken [mscorlib]System.Int32 + IL_02f3: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_02f8: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_02fd: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Equal(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0302: ldc.i4.2 + IL_0303: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0308: dup + IL_0309: ldc.i4.0 + IL_030a: ldloc.0 + IL_030b: stelem.ref + IL_030c: dup + IL_030d: ldc.i4.1 + IL_030e: ldloc.1 + IL_030f: stelem.ref + IL_0310: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0315: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_031a: pop + IL_031b: ldnull + IL_031c: ldtoken [mscorlib]System.UInt16 + IL_0321: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0326: ldstr "a" + IL_032b: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0330: stloc.1 + IL_0331: ldtoken [mscorlib]System.Int32 + IL_0336: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_033b: ldstr "b" + IL_0340: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0345: stloc.0 + IL_0346: ldloc.1 + IL_0347: ldtoken [mscorlib]System.Int32 + IL_034c: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0351: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_0356: ldloc.0 + IL_0357: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::NotEqual(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_035c: ldc.i4.2 + IL_035d: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0362: dup + IL_0363: ldc.i4.0 + IL_0364: ldloc.1 + IL_0365: stelem.ref + IL_0366: dup + IL_0367: ldc.i4.1 + IL_0368: ldloc.0 + IL_0369: stelem.ref + IL_036a: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_036f: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0374: pop + IL_0375: ldnull + IL_0376: ldtoken [mscorlib]System.Int32 + IL_037b: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0380: ldstr "a" + IL_0385: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_038a: stloc.0 + IL_038b: ldtoken [mscorlib]System.Int64 + IL_0390: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0395: ldstr "b" + IL_039a: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_039f: stloc.1 + IL_03a0: ldloc.0 + IL_03a1: ldtoken [mscorlib]System.Int64 + IL_03a6: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_03ab: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_03b0: ldloc.1 + IL_03b1: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::LessThan(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_03b6: ldc.i4.2 + IL_03b7: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_03bc: dup + IL_03bd: ldc.i4.0 + IL_03be: ldloc.0 + IL_03bf: stelem.ref + IL_03c0: dup + IL_03c1: ldc.i4.1 + IL_03c2: ldloc.1 + IL_03c3: stelem.ref + IL_03c4: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_03c9: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_03ce: pop + IL_03cf: ldnull + IL_03d0: ldtoken [mscorlib]System.UInt64 + IL_03d5: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_03da: ldstr "a" + IL_03df: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_03e4: stloc.1 + IL_03e5: ldtoken [mscorlib]System.UInt32 + IL_03ea: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_03ef: ldstr "b" + IL_03f4: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_03f9: stloc.0 + IL_03fa: ldloc.1 + IL_03fb: ldloc.0 + IL_03fc: ldtoken [mscorlib]System.UInt64 + IL_0401: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0406: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_040b: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::LessThanOrEqual(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0410: ldc.i4.2 + IL_0411: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0416: dup + IL_0417: ldc.i4.0 + IL_0418: ldloc.1 + IL_0419: stelem.ref + IL_041a: dup + IL_041b: ldc.i4.1 + IL_041c: ldloc.0 + IL_041d: stelem.ref + IL_041e: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0423: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0428: pop + IL_0429: ldnull + IL_042a: ldtoken [mscorlib]System.Int32 + IL_042f: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0434: ldstr "a" + IL_0439: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_043e: stloc.0 + IL_043f: ldtoken [mscorlib]System.UInt32 + IL_0444: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0449: ldstr "b" + IL_044e: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0453: stloc.1 + IL_0454: ldloc.0 + IL_0455: ldtoken [mscorlib]System.Int64 + IL_045a: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_045f: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_0464: ldloc.1 + IL_0465: ldtoken [mscorlib]System.Int64 + IL_046a: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_046f: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_0474: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::LessThanOrEqual(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0479: ldc.i4.2 + IL_047a: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_047f: dup + IL_0480: ldc.i4.0 + IL_0481: ldloc.0 + IL_0482: stelem.ref + IL_0483: dup + IL_0484: ldc.i4.1 + IL_0485: ldloc.1 + IL_0486: stelem.ref + IL_0487: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_048c: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0491: pop + IL_0492: ldnull + IL_0493: ldtoken [mscorlib]System.Int32 + IL_0498: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_049d: ldstr "a" + IL_04a2: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_04a7: stloc.1 + IL_04a8: ldtoken [mscorlib]System.Int64 + IL_04ad: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_04b2: ldstr "b" + IL_04b7: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_04bc: stloc.0 + IL_04bd: ldloc.1 + IL_04be: ldtoken [mscorlib]System.Int64 + IL_04c3: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_04c8: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_04cd: ldloc.0 + IL_04ce: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::GreaterThan(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_04d3: ldc.i4.2 + IL_04d4: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_04d9: dup + IL_04da: ldc.i4.0 + IL_04db: ldloc.1 + IL_04dc: stelem.ref + IL_04dd: dup + IL_04de: ldc.i4.1 + IL_04df: ldloc.0 + IL_04e0: stelem.ref + IL_04e1: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_04e6: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_04eb: pop + IL_04ec: ldnull + IL_04ed: ldtoken [mscorlib]System.Int16 + IL_04f2: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_04f7: ldstr "a" + IL_04fc: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0501: stloc.0 + IL_0502: ldtoken [mscorlib]System.Int64 + IL_0507: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_050c: ldstr "b" + IL_0511: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0516: stloc.1 + IL_0517: ldloc.0 + IL_0518: ldtoken [mscorlib]System.Int64 + IL_051d: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0522: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_0527: ldloc.1 + IL_0528: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::GreaterThanOrEqual(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_052d: ldc.i4.2 + IL_052e: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0533: dup + IL_0534: ldc.i4.0 + IL_0535: ldloc.0 + IL_0536: stelem.ref + IL_0537: dup + IL_0538: ldc.i4.1 + IL_0539: ldloc.1 + IL_053a: stelem.ref + IL_053b: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0540: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0545: pop + IL_0546: ldnull + IL_0547: ldtoken [mscorlib]System.Int32 + IL_054c: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0551: ldstr "a" + IL_0556: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_055b: stloc.1 + IL_055c: ldtoken [mscorlib]System.Int32 + IL_0561: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0566: ldstr "b" + IL_056b: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0570: stloc.0 + IL_0571: ldloc.1 + IL_0572: ldc.i4.1 + IL_0573: box [mscorlib]System.Int32 + IL_0578: ldtoken [mscorlib]System.Int32 + IL_057d: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0582: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0587: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Equal(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_058c: ldloc.0 + IL_058d: ldc.i4.2 + IL_058e: box [mscorlib]System.Int32 + IL_0593: ldtoken [mscorlib]System.Int32 + IL_0598: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_059d: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_05a2: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Equal(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_05a7: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::AndAlso(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_05ac: ldc.i4.2 + IL_05ad: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_05b2: dup + IL_05b3: ldc.i4.0 + IL_05b4: ldloc.1 + IL_05b5: stelem.ref + IL_05b6: dup + IL_05b7: ldc.i4.1 + IL_05b8: ldloc.0 + IL_05b9: stelem.ref + IL_05ba: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_05bf: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_05c4: pop + IL_05c5: ldnull + IL_05c6: ldtoken [mscorlib]System.Int32 + IL_05cb: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_05d0: ldstr "a" + IL_05d5: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_05da: stloc.0 + IL_05db: ldtoken [mscorlib]System.Int32 + IL_05e0: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_05e5: ldstr "b" + IL_05ea: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_05ef: stloc.1 + IL_05f0: ldloc.0 + IL_05f1: ldc.i4.1 + IL_05f2: box [mscorlib]System.Int32 + IL_05f7: ldtoken [mscorlib]System.Int32 + IL_05fc: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0601: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0606: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Equal(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_060b: ldloc.1 + IL_060c: ldc.i4.2 + IL_060d: box [mscorlib]System.Int32 + IL_0612: ldtoken [mscorlib]System.Int32 + IL_0617: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_061c: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0621: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Equal(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0626: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::OrElse(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_062b: ldc.i4.2 + IL_062c: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0631: dup + IL_0632: ldc.i4.0 + IL_0633: ldloc.0 + IL_0634: stelem.ref + IL_0635: dup + IL_0636: ldc.i4.1 + IL_0637: ldloc.1 + IL_0638: stelem.ref + IL_0639: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_063e: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0643: pop + IL_0644: ret + } // end of method ExpressionTrees::BinaryLogicalOperators + + .method public hidebysig static void UnaryArithmeticOperators() cil managed + { + // Code size 155 (0x9b) + .maxstack 6 + .locals init (class [System.Core]System.Linq.Expressions.ParameterExpression V_0) + IL_0000: nop + IL_0001: ldsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__71_0' + IL_0006: dup + IL_0007: brtrue.s IL_0020 + + IL_0009: pop + IL_000a: ldsfld class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c' ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9' + IL_000f: ldftn instance int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'b__71_0'(int32) + IL_0015: newobj instance void class [mscorlib]System.Func`2::.ctor(object, + native int) + IL_001a: dup + IL_001b: stsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__71_0' + IL_0020: ldtoken [mscorlib]System.Int32 + IL_0025: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_002a: ldstr "a" + IL_002f: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0034: stloc.0 + IL_0035: ldloc.0 + IL_0036: ldc.i4.1 + IL_0037: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_003c: dup + IL_003d: ldc.i4.0 + IL_003e: ldloc.0 + IL_003f: stelem.ref + IL_0040: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0045: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_004a: nop + IL_004b: ldsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__71_1' + IL_0050: dup + IL_0051: brtrue.s IL_006a + + IL_0053: pop + IL_0054: ldsfld class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c' ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9' + IL_0059: ldftn instance int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'b__71_1'(int32) + IL_005f: newobj instance void class [mscorlib]System.Func`2::.ctor(object, + native int) + IL_0064: dup + IL_0065: stsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__71_1' + IL_006a: ldtoken [mscorlib]System.Int32 + IL_006f: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0074: ldstr "a" + IL_0079: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_007e: stloc.0 + IL_007f: ldloc.0 + IL_0080: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Negate(class [System.Core]System.Linq.Expressions.Expression) + IL_0085: ldc.i4.1 + IL_0086: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_008b: dup + IL_008c: ldc.i4.0 + IL_008d: ldloc.0 + IL_008e: stelem.ref + IL_008f: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0094: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_0099: nop + IL_009a: ret + } // end of method ExpressionTrees::UnaryArithmeticOperators + + .method public hidebysig static void BinaryArithmeticOperators() cil managed + { + // Code size 1727 (0x6bf) + .maxstack 6 + .locals init (class [System.Core]System.Linq.Expressions.ParameterExpression V_0, + class [System.Core]System.Linq.Expressions.ParameterExpression V_1) + IL_0000: nop + IL_0001: ldsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__72_0' + IL_0006: dup + IL_0007: brtrue.s IL_0020 + + IL_0009: pop + IL_000a: ldsfld class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c' ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9' + IL_000f: ldftn instance int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'b__72_0'(int32, + int32) + IL_0015: newobj instance void class [mscorlib]System.Func`3::.ctor(object, + native int) + IL_001a: dup + IL_001b: stsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__72_0' + IL_0020: ldtoken [mscorlib]System.Int32 + IL_0025: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_002a: ldstr "a" + IL_002f: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0034: stloc.0 + IL_0035: ldtoken [mscorlib]System.Int32 + IL_003a: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_003f: ldstr "b" + IL_0044: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0049: stloc.1 + IL_004a: ldloc.0 + IL_004b: ldloc.1 + IL_004c: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Add(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0051: ldc.i4.2 + IL_0052: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0057: dup + IL_0058: ldc.i4.0 + IL_0059: ldloc.0 + IL_005a: stelem.ref + IL_005b: dup + IL_005c: ldc.i4.1 + IL_005d: ldloc.1 + IL_005e: stelem.ref + IL_005f: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0064: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_0069: nop + IL_006a: ldsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__72_1' + IL_006f: dup + IL_0070: brtrue.s IL_0089 + + IL_0072: pop + IL_0073: ldsfld class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c' ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9' + IL_0078: ldftn instance int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'b__72_1'(int32, + int32) + IL_007e: newobj instance void class [mscorlib]System.Func`3::.ctor(object, + native int) + IL_0083: dup + IL_0084: stsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__72_1' + IL_0089: ldtoken [mscorlib]System.Int32 + IL_008e: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0093: ldstr "a" + IL_0098: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_009d: stloc.1 + IL_009e: ldtoken [mscorlib]System.Int32 + IL_00a3: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00a8: ldstr "b" + IL_00ad: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_00b2: stloc.0 + IL_00b3: ldloc.1 + IL_00b4: ldloc.0 + IL_00b5: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Subtract(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_00ba: ldc.i4.2 + IL_00bb: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_00c0: dup + IL_00c1: ldc.i4.0 + IL_00c2: ldloc.1 + IL_00c3: stelem.ref + IL_00c4: dup + IL_00c5: ldc.i4.1 + IL_00c6: ldloc.0 + IL_00c7: stelem.ref + IL_00c8: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_00cd: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_00d2: nop + IL_00d3: ldsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__72_2' + IL_00d8: dup + IL_00d9: brtrue.s IL_00f2 + + IL_00db: pop + IL_00dc: ldsfld class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c' ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9' + IL_00e1: ldftn instance int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'b__72_2'(int32, + int32) + IL_00e7: newobj instance void class [mscorlib]System.Func`3::.ctor(object, + native int) + IL_00ec: dup + IL_00ed: stsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__72_2' + IL_00f2: ldtoken [mscorlib]System.Int32 + IL_00f7: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00fc: ldstr "a" + IL_0101: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0106: stloc.0 + IL_0107: ldtoken [mscorlib]System.Int32 + IL_010c: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0111: ldstr "b" + IL_0116: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_011b: stloc.1 + IL_011c: ldloc.0 + IL_011d: ldloc.1 + IL_011e: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Multiply(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0123: ldc.i4.2 + IL_0124: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0129: dup + IL_012a: ldc.i4.0 + IL_012b: ldloc.0 + IL_012c: stelem.ref + IL_012d: dup + IL_012e: ldc.i4.1 + IL_012f: ldloc.1 + IL_0130: stelem.ref + IL_0131: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0136: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_013b: nop + IL_013c: ldsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__72_3' + IL_0141: dup + IL_0142: brtrue.s IL_015b + + IL_0144: pop + IL_0145: ldsfld class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c' ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9' + IL_014a: ldftn instance int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'b__72_3'(int32, + int32) + IL_0150: newobj instance void class [mscorlib]System.Func`3::.ctor(object, + native int) + IL_0155: dup + IL_0156: stsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__72_3' + IL_015b: ldtoken [mscorlib]System.Int32 + IL_0160: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0165: ldstr "a" + IL_016a: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_016f: stloc.1 + IL_0170: ldtoken [mscorlib]System.Int32 + IL_0175: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_017a: ldstr "b" + IL_017f: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0184: stloc.0 + IL_0185: ldloc.1 + IL_0186: ldloc.0 + IL_0187: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Divide(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_018c: ldc.i4.2 + IL_018d: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0192: dup + IL_0193: ldc.i4.0 + IL_0194: ldloc.1 + IL_0195: stelem.ref + IL_0196: dup + IL_0197: ldc.i4.1 + IL_0198: ldloc.0 + IL_0199: stelem.ref + IL_019a: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_019f: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_01a4: nop + IL_01a5: ldsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__72_4' + IL_01aa: dup + IL_01ab: brtrue.s IL_01c4 + + IL_01ad: pop + IL_01ae: ldsfld class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c' ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9' + IL_01b3: ldftn instance int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'b__72_4'(int32, + int32) + IL_01b9: newobj instance void class [mscorlib]System.Func`3::.ctor(object, + native int) + IL_01be: dup + IL_01bf: stsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__72_4' + IL_01c4: ldtoken [mscorlib]System.Int32 + IL_01c9: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_01ce: ldstr "a" + IL_01d3: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_01d8: stloc.0 + IL_01d9: ldtoken [mscorlib]System.Int32 + IL_01de: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_01e3: ldstr "b" + IL_01e8: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_01ed: stloc.1 + IL_01ee: ldloc.0 + IL_01ef: ldloc.1 + IL_01f0: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Modulo(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_01f5: ldc.i4.2 + IL_01f6: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_01fb: dup + IL_01fc: ldc.i4.0 + IL_01fd: ldloc.0 + IL_01fe: stelem.ref + IL_01ff: dup + IL_0200: ldc.i4.1 + IL_0201: ldloc.1 + IL_0202: stelem.ref + IL_0203: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0208: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_020d: nop + IL_020e: ldsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__72_5' + IL_0213: dup + IL_0214: brtrue.s IL_022d + + IL_0216: pop + IL_0217: ldsfld class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c' ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9' + IL_021c: ldftn instance int64 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'b__72_5'(int64, + int32) + IL_0222: newobj instance void class [mscorlib]System.Func`3::.ctor(object, + native int) + IL_0227: dup + IL_0228: stsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__72_5' + IL_022d: ldtoken [mscorlib]System.Int64 + IL_0232: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0237: ldstr "a" + IL_023c: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0241: stloc.1 + IL_0242: ldtoken [mscorlib]System.Int32 + IL_0247: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_024c: ldstr "b" + IL_0251: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0256: stloc.0 + IL_0257: ldloc.1 + IL_0258: ldloc.0 + IL_0259: ldtoken [mscorlib]System.Int64 + IL_025e: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0263: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_0268: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Add(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_026d: ldc.i4.2 + IL_026e: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0273: dup + IL_0274: ldc.i4.0 + IL_0275: ldloc.1 + IL_0276: stelem.ref + IL_0277: dup + IL_0278: ldc.i4.1 + IL_0279: ldloc.0 + IL_027a: stelem.ref + IL_027b: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0280: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_0285: nop + IL_0286: ldsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__72_6' + IL_028b: dup + IL_028c: brtrue.s IL_02a5 + + IL_028e: pop + IL_028f: ldsfld class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c' ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9' + IL_0294: ldftn instance int64 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'b__72_6'(int64, + int32) + IL_029a: newobj instance void class [mscorlib]System.Func`3::.ctor(object, + native int) + IL_029f: dup + IL_02a0: stsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__72_6' + IL_02a5: ldtoken [mscorlib]System.Int64 + IL_02aa: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_02af: ldstr "a" + IL_02b4: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_02b9: stloc.0 + IL_02ba: ldtoken [mscorlib]System.Int32 + IL_02bf: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_02c4: ldstr "b" + IL_02c9: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_02ce: stloc.1 + IL_02cf: ldloc.0 + IL_02d0: ldloc.1 + IL_02d1: ldtoken [mscorlib]System.Int64 + IL_02d6: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_02db: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_02e0: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Subtract(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_02e5: ldc.i4.2 + IL_02e6: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_02eb: dup + IL_02ec: ldc.i4.0 + IL_02ed: ldloc.0 + IL_02ee: stelem.ref + IL_02ef: dup + IL_02f0: ldc.i4.1 + IL_02f1: ldloc.1 + IL_02f2: stelem.ref + IL_02f3: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_02f8: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_02fd: nop + IL_02fe: ldsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__72_7' + IL_0303: dup + IL_0304: brtrue.s IL_031d + + IL_0306: pop + IL_0307: ldsfld class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c' ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9' + IL_030c: ldftn instance int64 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'b__72_7'(int64, + int32) + IL_0312: newobj instance void class [mscorlib]System.Func`3::.ctor(object, + native int) + IL_0317: dup + IL_0318: stsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__72_7' + IL_031d: ldtoken [mscorlib]System.Int64 + IL_0322: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0327: ldstr "a" + IL_032c: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0331: stloc.1 + IL_0332: ldtoken [mscorlib]System.Int32 + IL_0337: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_033c: ldstr "b" + IL_0341: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0346: stloc.0 + IL_0347: ldloc.1 + IL_0348: ldloc.0 + IL_0349: ldtoken [mscorlib]System.Int64 + IL_034e: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0353: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_0358: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Multiply(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_035d: ldc.i4.2 + IL_035e: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0363: dup + IL_0364: ldc.i4.0 + IL_0365: ldloc.1 + IL_0366: stelem.ref + IL_0367: dup + IL_0368: ldc.i4.1 + IL_0369: ldloc.0 + IL_036a: stelem.ref + IL_036b: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0370: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_0375: nop + IL_0376: ldsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__72_8' + IL_037b: dup + IL_037c: brtrue.s IL_0395 + + IL_037e: pop + IL_037f: ldsfld class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c' ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9' + IL_0384: ldftn instance int64 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'b__72_8'(int64, + int32) + IL_038a: newobj instance void class [mscorlib]System.Func`3::.ctor(object, + native int) + IL_038f: dup + IL_0390: stsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__72_8' + IL_0395: ldtoken [mscorlib]System.Int64 + IL_039a: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_039f: ldstr "a" + IL_03a4: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_03a9: stloc.0 + IL_03aa: ldtoken [mscorlib]System.Int32 + IL_03af: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_03b4: ldstr "b" + IL_03b9: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_03be: stloc.1 + IL_03bf: ldloc.0 + IL_03c0: ldloc.1 + IL_03c1: ldtoken [mscorlib]System.Int64 + IL_03c6: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_03cb: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_03d0: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Divide(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_03d5: ldc.i4.2 + IL_03d6: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_03db: dup + IL_03dc: ldc.i4.0 + IL_03dd: ldloc.0 + IL_03de: stelem.ref + IL_03df: dup + IL_03e0: ldc.i4.1 + IL_03e1: ldloc.1 + IL_03e2: stelem.ref + IL_03e3: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_03e8: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_03ed: nop + IL_03ee: ldsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__72_9' + IL_03f3: dup + IL_03f4: brtrue.s IL_040d + + IL_03f6: pop + IL_03f7: ldsfld class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c' ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9' + IL_03fc: ldftn instance int64 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'b__72_9'(int64, + int32) + IL_0402: newobj instance void class [mscorlib]System.Func`3::.ctor(object, + native int) + IL_0407: dup + IL_0408: stsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__72_9' + IL_040d: ldtoken [mscorlib]System.Int64 + IL_0412: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0417: ldstr "a" + IL_041c: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0421: stloc.1 + IL_0422: ldtoken [mscorlib]System.Int32 + IL_0427: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_042c: ldstr "b" + IL_0431: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0436: stloc.0 + IL_0437: ldloc.1 + IL_0438: ldloc.0 + IL_0439: ldtoken [mscorlib]System.Int64 + IL_043e: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0443: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_0448: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Modulo(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_044d: ldc.i4.2 + IL_044e: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0453: dup + IL_0454: ldc.i4.0 + IL_0455: ldloc.1 + IL_0456: stelem.ref + IL_0457: dup + IL_0458: ldc.i4.1 + IL_0459: ldloc.0 + IL_045a: stelem.ref + IL_045b: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0460: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_0465: nop + IL_0466: ldsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__72_10' + IL_046b: dup + IL_046c: brtrue.s IL_0485 + + IL_046e: pop + IL_046f: ldsfld class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c' ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9' + IL_0474: ldftn instance int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'b__72_10'(int16, + int32) + IL_047a: newobj instance void class [mscorlib]System.Func`3::.ctor(object, + native int) + IL_047f: dup + IL_0480: stsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__72_10' + IL_0485: ldtoken [mscorlib]System.Int16 + IL_048a: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_048f: ldstr "a" + IL_0494: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0499: stloc.0 + IL_049a: ldtoken [mscorlib]System.Int32 + IL_049f: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_04a4: ldstr "b" + IL_04a9: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_04ae: stloc.1 + IL_04af: ldloc.0 + IL_04b0: ldtoken [mscorlib]System.Int32 + IL_04b5: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_04ba: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_04bf: ldloc.1 + IL_04c0: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Add(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_04c5: ldc.i4.2 + IL_04c6: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_04cb: dup + IL_04cc: ldc.i4.0 + IL_04cd: ldloc.0 + IL_04ce: stelem.ref + IL_04cf: dup + IL_04d0: ldc.i4.1 + IL_04d1: ldloc.1 + IL_04d2: stelem.ref + IL_04d3: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_04d8: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_04dd: nop + IL_04de: ldsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__72_11' + IL_04e3: dup + IL_04e4: brtrue.s IL_04fd + + IL_04e6: pop + IL_04e7: ldsfld class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c' ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9' + IL_04ec: ldftn instance int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'b__72_11'(int32, + int16) + IL_04f2: newobj instance void class [mscorlib]System.Func`3::.ctor(object, + native int) + IL_04f7: dup + IL_04f8: stsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__72_11' + IL_04fd: ldtoken [mscorlib]System.Int32 + IL_0502: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0507: ldstr "a" + IL_050c: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0511: stloc.1 + IL_0512: ldtoken [mscorlib]System.Int16 + IL_0517: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_051c: ldstr "b" + IL_0521: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0526: stloc.0 + IL_0527: ldloc.1 + IL_0528: ldloc.0 + IL_0529: ldtoken [mscorlib]System.Int32 + IL_052e: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0533: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_0538: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Subtract(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_053d: ldc.i4.2 + IL_053e: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0543: dup + IL_0544: ldc.i4.0 + IL_0545: ldloc.1 + IL_0546: stelem.ref + IL_0547: dup + IL_0548: ldc.i4.1 + IL_0549: ldloc.0 + IL_054a: stelem.ref + IL_054b: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0550: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_0555: nop + IL_0556: ldsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__72_12' + IL_055b: dup + IL_055c: brtrue.s IL_0575 + + IL_055e: pop + IL_055f: ldsfld class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c' ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9' + IL_0564: ldftn instance int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'b__72_12'(int16, + int32) + IL_056a: newobj instance void class [mscorlib]System.Func`3::.ctor(object, + native int) + IL_056f: dup + IL_0570: stsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__72_12' + IL_0575: ldtoken [mscorlib]System.Int16 + IL_057a: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_057f: ldstr "a" + IL_0584: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0589: stloc.0 + IL_058a: ldtoken [mscorlib]System.Int32 + IL_058f: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0594: ldstr "b" + IL_0599: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_059e: stloc.1 + IL_059f: ldloc.0 + IL_05a0: ldtoken [mscorlib]System.Int32 + IL_05a5: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_05aa: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_05af: ldloc.1 + IL_05b0: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Multiply(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_05b5: ldc.i4.2 + IL_05b6: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_05bb: dup + IL_05bc: ldc.i4.0 + IL_05bd: ldloc.0 + IL_05be: stelem.ref + IL_05bf: dup + IL_05c0: ldc.i4.1 + IL_05c1: ldloc.1 + IL_05c2: stelem.ref + IL_05c3: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_05c8: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_05cd: nop + IL_05ce: ldsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__72_13' + IL_05d3: dup + IL_05d4: brtrue.s IL_05ed + + IL_05d6: pop + IL_05d7: ldsfld class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c' ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9' + IL_05dc: ldftn instance int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'b__72_13'(int32, + int16) + IL_05e2: newobj instance void class [mscorlib]System.Func`3::.ctor(object, + native int) + IL_05e7: dup + IL_05e8: stsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__72_13' + IL_05ed: ldtoken [mscorlib]System.Int32 + IL_05f2: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_05f7: ldstr "a" + IL_05fc: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0601: stloc.1 + IL_0602: ldtoken [mscorlib]System.Int16 + IL_0607: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_060c: ldstr "b" + IL_0611: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0616: stloc.0 + IL_0617: ldloc.1 + IL_0618: ldloc.0 + IL_0619: ldtoken [mscorlib]System.Int32 + IL_061e: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0623: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_0628: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Divide(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_062d: ldc.i4.2 + IL_062e: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0633: dup + IL_0634: ldc.i4.0 + IL_0635: ldloc.1 + IL_0636: stelem.ref + IL_0637: dup + IL_0638: ldc.i4.1 + IL_0639: ldloc.0 + IL_063a: stelem.ref + IL_063b: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0640: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_0645: nop + IL_0646: ldsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__72_14' + IL_064b: dup + IL_064c: brtrue.s IL_0665 + + IL_064e: pop + IL_064f: ldsfld class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c' ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9' + IL_0654: ldftn instance int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'b__72_14'(int16, + int32) + IL_065a: newobj instance void class [mscorlib]System.Func`3::.ctor(object, + native int) + IL_065f: dup + IL_0660: stsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__72_14' + IL_0665: ldtoken [mscorlib]System.Int16 + IL_066a: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_066f: ldstr "a" + IL_0674: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0679: stloc.0 + IL_067a: ldtoken [mscorlib]System.Int32 + IL_067f: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0684: ldstr "b" + IL_0689: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_068e: stloc.1 + IL_068f: ldloc.0 + IL_0690: ldtoken [mscorlib]System.Int32 + IL_0695: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_069a: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_069f: ldloc.1 + IL_06a0: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Modulo(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_06a5: ldc.i4.2 + IL_06a6: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_06ab: dup + IL_06ac: ldc.i4.0 + IL_06ad: ldloc.0 + IL_06ae: stelem.ref + IL_06af: dup + IL_06b0: ldc.i4.1 + IL_06b1: ldloc.1 + IL_06b2: stelem.ref + IL_06b3: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_06b8: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_06bd: nop + IL_06be: ret + } // end of method ExpressionTrees::BinaryArithmeticOperators + + .method public hidebysig static void BitOperators() cil managed + { + // Code size 396 (0x18c) + .maxstack 6 + .locals init (class [System.Core]System.Linq.Expressions.ParameterExpression V_0, + class [System.Core]System.Linq.Expressions.ParameterExpression V_1) + IL_0000: nop + IL_0001: ldsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__73_0' + IL_0006: dup + IL_0007: brtrue.s IL_0020 + + IL_0009: pop + IL_000a: ldsfld class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c' ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9' + IL_000f: ldftn instance int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'b__73_0'(int32) + IL_0015: newobj instance void class [mscorlib]System.Func`2::.ctor(object, + native int) + IL_001a: dup + IL_001b: stsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__73_0' + IL_0020: ldtoken [mscorlib]System.Int32 + IL_0025: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_002a: ldstr "a" + IL_002f: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0034: stloc.0 + IL_0035: ldloc.0 + IL_0036: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Not(class [System.Core]System.Linq.Expressions.Expression) + IL_003b: ldc.i4.1 + IL_003c: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0041: dup + IL_0042: ldc.i4.0 + IL_0043: ldloc.0 + IL_0044: stelem.ref + IL_0045: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_004a: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_004f: nop + IL_0050: ldsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__73_1' + IL_0055: dup + IL_0056: brtrue.s IL_006f + + IL_0058: pop + IL_0059: ldsfld class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c' ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9' + IL_005e: ldftn instance int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'b__73_1'(int32, + int32) + IL_0064: newobj instance void class [mscorlib]System.Func`3::.ctor(object, + native int) + IL_0069: dup + IL_006a: stsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__73_1' + IL_006f: ldtoken [mscorlib]System.Int32 + IL_0074: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0079: ldstr "a" + IL_007e: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0083: stloc.0 + IL_0084: ldtoken [mscorlib]System.Int32 + IL_0089: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_008e: ldstr "b" + IL_0093: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0098: stloc.1 + IL_0099: ldloc.0 + IL_009a: ldloc.1 + IL_009b: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::And(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_00a0: ldc.i4.2 + IL_00a1: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_00a6: dup + IL_00a7: ldc.i4.0 + IL_00a8: ldloc.0 + IL_00a9: stelem.ref + IL_00aa: dup + IL_00ab: ldc.i4.1 + IL_00ac: ldloc.1 + IL_00ad: stelem.ref + IL_00ae: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_00b3: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_00b8: nop + IL_00b9: ldsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__73_2' + IL_00be: dup + IL_00bf: brtrue.s IL_00d8 + + IL_00c1: pop + IL_00c2: ldsfld class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c' ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9' + IL_00c7: ldftn instance int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'b__73_2'(int32, + int32) + IL_00cd: newobj instance void class [mscorlib]System.Func`3::.ctor(object, + native int) + IL_00d2: dup + IL_00d3: stsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__73_2' + IL_00d8: ldtoken [mscorlib]System.Int32 + IL_00dd: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00e2: ldstr "a" + IL_00e7: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_00ec: stloc.1 + IL_00ed: ldtoken [mscorlib]System.Int32 + IL_00f2: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00f7: ldstr "b" + IL_00fc: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0101: stloc.0 + IL_0102: ldloc.1 + IL_0103: ldloc.0 + IL_0104: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Or(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0109: ldc.i4.2 + IL_010a: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_010f: dup + IL_0110: ldc.i4.0 + IL_0111: ldloc.1 + IL_0112: stelem.ref + IL_0113: dup + IL_0114: ldc.i4.1 + IL_0115: ldloc.0 + IL_0116: stelem.ref + IL_0117: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_011c: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_0121: nop + IL_0122: ldsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__73_3' + IL_0127: dup + IL_0128: brtrue.s IL_0141 + + IL_012a: pop + IL_012b: ldsfld class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c' ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9' + IL_0130: ldftn instance int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'b__73_3'(int32, + int32) + IL_0136: newobj instance void class [mscorlib]System.Func`3::.ctor(object, + native int) + IL_013b: dup + IL_013c: stsfld class [mscorlib]System.Func`3 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__73_3' + IL_0141: ldtoken [mscorlib]System.Int32 + IL_0146: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_014b: ldstr "a" + IL_0150: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0155: stloc.0 + IL_0156: ldtoken [mscorlib]System.Int32 + IL_015b: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0160: ldstr "b" + IL_0165: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_016a: stloc.1 + IL_016b: ldloc.0 + IL_016c: ldloc.1 + IL_016d: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::ExclusiveOr(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0172: ldc.i4.2 + IL_0173: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0178: dup + IL_0179: ldc.i4.0 + IL_017a: ldloc.0 + IL_017b: stelem.ref + IL_017c: dup + IL_017d: ldc.i4.1 + IL_017e: ldloc.1 + IL_017f: stelem.ref + IL_0180: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0185: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_018a: nop + IL_018b: ret + } // end of method ExpressionTrees::BitOperators + + .method public hidebysig static void ShiftOperators() cil managed + { + // Code size 402 (0x192) + .maxstack 6 + .locals init (class [System.Core]System.Linq.Expressions.ParameterExpression V_0) + IL_0000: nop + IL_0001: ldsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__74_0' + IL_0006: dup + IL_0007: brtrue.s IL_0020 + + IL_0009: pop + IL_000a: ldsfld class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c' ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9' + IL_000f: ldftn instance int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'b__74_0'(int32) + IL_0015: newobj instance void class [mscorlib]System.Func`2::.ctor(object, + native int) + IL_001a: dup + IL_001b: stsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__74_0' + IL_0020: ldtoken [mscorlib]System.Int32 + IL_0025: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_002a: ldstr "a" + IL_002f: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0034: stloc.0 + IL_0035: ldloc.0 + IL_0036: ldc.i4.2 + IL_0037: box [mscorlib]System.Int32 + IL_003c: ldtoken [mscorlib]System.Int32 + IL_0041: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0046: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_004b: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::RightShift(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0050: ldc.i4.1 + IL_0051: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0056: dup + IL_0057: ldc.i4.0 + IL_0058: ldloc.0 + IL_0059: stelem.ref + IL_005a: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_005f: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_0064: nop + IL_0065: ldsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__74_1' + IL_006a: dup + IL_006b: brtrue.s IL_0084 + + IL_006d: pop + IL_006e: ldsfld class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c' ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9' + IL_0073: ldftn instance int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'b__74_1'(int32) + IL_0079: newobj instance void class [mscorlib]System.Func`2::.ctor(object, + native int) + IL_007e: dup + IL_007f: stsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__74_1' + IL_0084: ldtoken [mscorlib]System.Int32 + IL_0089: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_008e: ldstr "a" + IL_0093: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0098: stloc.0 + IL_0099: ldloc.0 + IL_009a: ldc.i4.2 + IL_009b: box [mscorlib]System.Int32 + IL_00a0: ldtoken [mscorlib]System.Int32 + IL_00a5: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00aa: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_00af: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::LeftShift(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_00b4: ldc.i4.1 + IL_00b5: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_00ba: dup + IL_00bb: ldc.i4.0 + IL_00bc: ldloc.0 + IL_00bd: stelem.ref + IL_00be: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_00c3: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_00c8: nop + IL_00c9: ldsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__74_2' + IL_00ce: dup + IL_00cf: brtrue.s IL_00e8 + + IL_00d1: pop + IL_00d2: ldsfld class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c' ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9' + IL_00d7: ldftn instance int64 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'b__74_2'(int64) + IL_00dd: newobj instance void class [mscorlib]System.Func`2::.ctor(object, + native int) + IL_00e2: dup + IL_00e3: stsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__74_2' + IL_00e8: ldtoken [mscorlib]System.Int64 + IL_00ed: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00f2: ldstr "a" + IL_00f7: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_00fc: stloc.0 + IL_00fd: ldloc.0 + IL_00fe: ldc.i4.2 + IL_00ff: box [mscorlib]System.Int32 + IL_0104: ldtoken [mscorlib]System.Int32 + IL_0109: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_010e: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0113: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::RightShift(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_0118: ldc.i4.1 + IL_0119: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_011e: dup + IL_011f: ldc.i4.0 + IL_0120: ldloc.0 + IL_0121: stelem.ref + IL_0122: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0127: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_012c: nop + IL_012d: ldsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__74_3' + IL_0132: dup + IL_0133: brtrue.s IL_014c + + IL_0135: pop + IL_0136: ldsfld class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c' ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9' + IL_013b: ldftn instance int64 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'b__74_3'(int64) + IL_0141: newobj instance void class [mscorlib]System.Func`2::.ctor(object, + native int) + IL_0146: dup + IL_0147: stsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__74_3' + IL_014c: ldtoken [mscorlib]System.Int64 + IL_0151: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0156: ldstr "a" + IL_015b: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0160: stloc.0 + IL_0161: ldloc.0 + IL_0162: ldc.i4.2 + IL_0163: box [mscorlib]System.Int32 + IL_0168: ldtoken [mscorlib]System.Int32 + IL_016d: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0172: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0177: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::LeftShift(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_017c: ldc.i4.1 + IL_017d: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0182: dup + IL_0183: ldc.i4.0 + IL_0184: ldloc.0 + IL_0185: stelem.ref + IL_0186: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_018b: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_0190: nop + IL_0191: ret + } // end of method ExpressionTrees::ShiftOperators + + .method public hidebysig static void SimpleExpressions() cil managed + { + // Code size 145 (0x91) + .maxstack 6 + .locals init (class [System.Core]System.Linq.Expressions.ParameterExpression V_0) + IL_0000: nop + IL_0001: ldsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__75_0' + IL_0006: dup + IL_0007: brtrue.s IL_0020 + + IL_0009: pop + IL_000a: ldsfld class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c' ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9' + IL_000f: ldftn instance int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'b__75_0'() + IL_0015: newobj instance void class [mscorlib]System.Func`1::.ctor(object, + native int) + IL_001a: dup + IL_001b: stsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__75_0' + IL_0020: ldc.i4.0 + IL_0021: box [mscorlib]System.Int32 + IL_0026: ldtoken [mscorlib]System.Int32 + IL_002b: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0030: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0035: ldc.i4.0 + IL_0036: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_003b: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0040: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_0045: nop + IL_0046: ldsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__75_1' + IL_004b: dup + IL_004c: brtrue.s IL_0065 + + IL_004e: pop + IL_004f: ldsfld class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c' ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9' + IL_0054: ldftn instance int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'b__75_1'(int32) + IL_005a: newobj instance void class [mscorlib]System.Func`2::.ctor(object, + native int) + IL_005f: dup + IL_0060: stsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__75_1' + IL_0065: ldtoken [mscorlib]System.Int32 + IL_006a: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_006f: ldstr "a" + IL_0074: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0079: stloc.0 + IL_007a: ldloc.0 + IL_007b: ldc.i4.1 + IL_007c: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0081: dup + IL_0082: ldc.i4.0 + IL_0083: ldloc.0 + IL_0084: stelem.ref + IL_0085: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_008a: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_008f: nop + IL_0090: ret + } // end of method ExpressionTrees::SimpleExpressions + + .method public hidebysig static void Capturing() cil managed + { + // Code size 75 (0x4b) + .maxstack 3 + .locals init (class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass76_0' V_0) + IL_0000: newobj instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass76_0'::.ctor() + IL_0005: stloc.0 + IL_0006: nop + IL_0007: ldloc.0 + IL_0008: ldc.i4.5 + IL_0009: stfld int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass76_0'::captured + IL_000e: ldloc.0 + IL_000f: ldftn instance int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass76_0'::'b__0'() + IL_0015: newobj instance void class [mscorlib]System.Func`1::.ctor(object, + native int) + IL_001a: ldloc.0 + IL_001b: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass76_0' + IL_0020: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0025: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_002a: ldtoken field int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass76_0'::captured + IL_002f: call class [mscorlib]System.Reflection.FieldInfo [mscorlib]System.Reflection.FieldInfo::GetFieldFromHandle(valuetype [mscorlib]System.RuntimeFieldHandle) + IL_0034: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Field(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.FieldInfo) + IL_0039: ldc.i4.0 + IL_003a: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_003f: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0044: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_0049: nop + IL_004a: ret + } // end of method ExpressionTrees::Capturing + + .method public hidebysig static void FieldAndPropertyAccess() cil managed + { + // Code size 433 (0x1b1) + .maxstack 6 + .locals init (class [System.Core]System.Linq.Expressions.ParameterExpression V_0) + IL_0000: nop + IL_0001: ldnull + IL_0002: ldc.i4.1 + IL_0003: box [mscorlib]System.Int32 + IL_0008: ldtoken [mscorlib]System.Int32 + IL_000d: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0012: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0017: ldc.i4.0 + IL_0018: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_001d: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0022: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0027: pop + IL_0028: ldnull + IL_0029: ldnull + IL_002a: ldtoken field int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.SimpleType::StaticField + IL_002f: call class [mscorlib]System.Reflection.FieldInfo [mscorlib]System.Reflection.FieldInfo::GetFieldFromHandle(valuetype [mscorlib]System.RuntimeFieldHandle) + IL_0034: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Field(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.FieldInfo) + IL_0039: ldc.i4.0 + IL_003a: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_003f: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0044: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0049: pop + IL_004a: ldnull + IL_004b: ldnull + IL_004c: ldtoken field int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.SimpleType::StaticReadonlyField + IL_0051: call class [mscorlib]System.Reflection.FieldInfo [mscorlib]System.Reflection.FieldInfo::GetFieldFromHandle(valuetype [mscorlib]System.RuntimeFieldHandle) + IL_0056: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Field(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.FieldInfo) + IL_005b: ldc.i4.0 + IL_005c: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0061: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0066: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_006b: pop + IL_006c: ldnull + IL_006d: ldnull + IL_006e: ldtoken method int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.SimpleType::get_StaticProperty() + IL_0073: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0078: castclass [mscorlib]System.Reflection.MethodInfo + IL_007d: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Property(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo) + IL_0082: ldc.i4.0 + IL_0083: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0088: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_008d: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0092: pop + IL_0093: ldnull + IL_0094: ldnull + IL_0095: ldtoken method int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.SimpleType::get_StaticReadonlyProperty() + IL_009a: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_009f: castclass [mscorlib]System.Reflection.MethodInfo + IL_00a4: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Property(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo) + IL_00a9: ldc.i4.0 + IL_00aa: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_00af: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_00b4: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_00b9: pop + IL_00ba: ldnull + IL_00bb: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.SimpleType + IL_00c0: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00c5: ldstr "a" + IL_00ca: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_00cf: stloc.0 + IL_00d0: ldloc.0 + IL_00d1: ldtoken field int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.SimpleType::Field + IL_00d6: call class [mscorlib]System.Reflection.FieldInfo [mscorlib]System.Reflection.FieldInfo::GetFieldFromHandle(valuetype [mscorlib]System.RuntimeFieldHandle) + IL_00db: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Field(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.FieldInfo) + IL_00e0: ldc.i4.1 + IL_00e1: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_00e6: dup + IL_00e7: ldc.i4.0 + IL_00e8: ldloc.0 + IL_00e9: stelem.ref + IL_00ea: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_00ef: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_00f4: pop + IL_00f5: ldnull + IL_00f6: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.SimpleType + IL_00fb: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0100: ldstr "a" + IL_0105: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_010a: stloc.0 + IL_010b: ldloc.0 + IL_010c: ldtoken method instance int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.SimpleType::get_Property() + IL_0111: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0116: castclass [mscorlib]System.Reflection.MethodInfo + IL_011b: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Property(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo) + IL_0120: ldc.i4.1 + IL_0121: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0126: dup + IL_0127: ldc.i4.0 + IL_0128: ldloc.0 + IL_0129: stelem.ref + IL_012a: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_012f: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0134: pop + IL_0135: ldnull + IL_0136: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.SimpleType + IL_013b: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0140: ldstr "a" + IL_0145: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_014a: stloc.0 + IL_014b: ldloc.0 + IL_014c: ldtoken field int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.SimpleType::ReadonlyField + IL_0151: call class [mscorlib]System.Reflection.FieldInfo [mscorlib]System.Reflection.FieldInfo::GetFieldFromHandle(valuetype [mscorlib]System.RuntimeFieldHandle) + IL_0156: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Field(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.FieldInfo) + IL_015b: ldc.i4.1 + IL_015c: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0161: dup + IL_0162: ldc.i4.0 + IL_0163: ldloc.0 + IL_0164: stelem.ref + IL_0165: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_016a: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_016f: pop + IL_0170: ldnull + IL_0171: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.SimpleType + IL_0176: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_017b: ldstr "a" + IL_0180: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0185: stloc.0 + IL_0186: ldloc.0 + IL_0187: ldtoken method instance int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.SimpleType::get_ReadonlyProperty() + IL_018c: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0191: castclass [mscorlib]System.Reflection.MethodInfo + IL_0196: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Property(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo) + IL_019b: ldc.i4.1 + IL_019c: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_01a1: dup + IL_01a2: ldc.i4.0 + IL_01a3: ldloc.0 + IL_01a4: stelem.ref + IL_01a5: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_01aa: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_01af: pop + IL_01b0: ret + } // end of method ExpressionTrees::FieldAndPropertyAccess + + .method public hidebysig static void Call() cil managed + { + // Code size 527 (0x20f) + .maxstack 8 + .locals init (class [System.Core]System.Linq.Expressions.ParameterExpression V_0) + IL_0000: nop + IL_0001: ldnull + IL_0002: ldtoken [mscorlib]System.String + IL_0007: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_000c: ldstr "a" + IL_0011: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0016: stloc.0 + IL_0017: ldnull + IL_0018: ldtoken method void [mscorlib]System.Console::WriteLine(string) + IL_001d: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0022: castclass [mscorlib]System.Reflection.MethodInfo + IL_0027: ldc.i4.1 + IL_0028: newarr [System.Core]System.Linq.Expressions.Expression + IL_002d: dup + IL_002e: ldc.i4.0 + IL_002f: ldloc.0 + IL_0030: stelem.ref + IL_0031: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_0036: ldc.i4.1 + IL_0037: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_003c: dup + IL_003d: ldc.i4.0 + IL_003e: ldloc.0 + IL_003f: stelem.ref + IL_0040: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0045: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_004a: pop + IL_004b: ldsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__78_0' + IL_0050: dup + IL_0051: brtrue.s IL_006a + + IL_0053: pop + IL_0054: ldsfld class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c' ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9' + IL_0059: ldftn instance string ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'b__78_0'(string) + IL_005f: newobj instance void class [mscorlib]System.Func`2::.ctor(object, + native int) + IL_0064: dup + IL_0065: stsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__78_0' + IL_006a: ldtoken [mscorlib]System.String + IL_006f: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0074: ldstr "a" + IL_0079: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_007e: stloc.0 + IL_007f: ldloc.0 + IL_0080: ldtoken method instance string [mscorlib]System.Object::ToString() + IL_0085: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_008a: castclass [mscorlib]System.Reflection.MethodInfo + IL_008f: ldc.i4.0 + IL_0090: newarr [System.Core]System.Linq.Expressions.Expression + IL_0095: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_009a: ldc.i4.1 + IL_009b: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_00a0: dup + IL_00a1: ldc.i4.0 + IL_00a2: ldloc.0 + IL_00a3: stelem.ref + IL_00a4: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_00a9: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_00ae: nop + IL_00af: ldsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__78_1' + IL_00b4: dup + IL_00b5: brtrue.s IL_00ce + + IL_00b7: pop + IL_00b8: ldsfld class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c' ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9' + IL_00bd: ldftn instance string ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'b__78_1'(int32) + IL_00c3: newobj instance void class [mscorlib]System.Func`2::.ctor(object, + native int) + IL_00c8: dup + IL_00c9: stsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__78_1' + IL_00ce: ldtoken [mscorlib]System.Int32 + IL_00d3: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00d8: ldstr "a" + IL_00dd: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_00e2: stloc.0 + IL_00e3: ldloc.0 + IL_00e4: ldtoken method instance string [mscorlib]System.Int32::ToString() + IL_00e9: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_00ee: castclass [mscorlib]System.Reflection.MethodInfo + IL_00f3: ldc.i4.0 + IL_00f4: newarr [System.Core]System.Linq.Expressions.Expression + IL_00f9: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_00fe: ldc.i4.1 + IL_00ff: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0104: dup + IL_0105: ldc.i4.0 + IL_0106: ldloc.0 + IL_0107: stelem.ref + IL_0108: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_010d: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_0112: nop + IL_0113: ldsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__78_2' + IL_0118: dup + IL_0119: brtrue.s IL_0132 + + IL_011b: pop + IL_011c: ldsfld class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c' ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9' + IL_0121: ldftn instance char[] ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'b__78_2'(string) + IL_0127: newobj instance void class [mscorlib]System.Func`2::.ctor(object, + native int) + IL_012c: dup + IL_012d: stsfld class [mscorlib]System.Func`2 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__78_2' + IL_0132: ldtoken [mscorlib]System.String + IL_0137: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_013c: ldstr "a" + IL_0141: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0146: stloc.0 + IL_0147: ldnull + IL_0148: ldtoken method !!0[] [System.Core]System.Linq.Enumerable::ToArray(class [mscorlib]System.Collections.Generic.IEnumerable`1) + IL_014d: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0152: castclass [mscorlib]System.Reflection.MethodInfo + IL_0157: ldc.i4.1 + IL_0158: newarr [System.Core]System.Linq.Expressions.Expression + IL_015d: dup + IL_015e: ldc.i4.0 + IL_015f: ldloc.0 + IL_0160: stelem.ref + IL_0161: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_0166: ldc.i4.1 + IL_0167: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_016c: dup + IL_016d: ldc.i4.0 + IL_016e: ldloc.0 + IL_016f: stelem.ref + IL_0170: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0175: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_017a: nop + IL_017b: ldsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__78_3' + IL_0180: dup + IL_0181: brtrue.s IL_019a + + IL_0183: pop + IL_0184: ldsfld class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c' ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9' + IL_0189: ldftn instance bool ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'b__78_3'() + IL_018f: newobj instance void class [mscorlib]System.Func`1::.ctor(object, + native int) + IL_0194: dup + IL_0195: stsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__78_3' + IL_019a: ldc.i4.s 97 + IL_019c: box [mscorlib]System.Char + IL_01a1: ldtoken [mscorlib]System.Char + IL_01a6: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_01ab: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_01b0: ldtoken method instance int32 [mscorlib]System.Char::CompareTo(char) + IL_01b5: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_01ba: castclass [mscorlib]System.Reflection.MethodInfo + IL_01bf: ldc.i4.1 + IL_01c0: newarr [System.Core]System.Linq.Expressions.Expression + IL_01c5: dup + IL_01c6: ldc.i4.0 + IL_01c7: ldc.i4.s 98 + IL_01c9: box [mscorlib]System.Char + IL_01ce: ldtoken [mscorlib]System.Char + IL_01d3: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_01d8: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_01dd: stelem.ref + IL_01de: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_01e3: ldc.i4.0 + IL_01e4: box [mscorlib]System.Int32 + IL_01e9: ldtoken [mscorlib]System.Int32 + IL_01ee: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_01f3: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_01f8: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::LessThan(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_01fd: ldc.i4.0 + IL_01fe: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0203: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0208: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_020d: nop + IL_020e: ret + } // end of method ExpressionTrees::Call + + .method public hidebysig static void Quote() cil managed + { + // Code size 200 (0xc8) + .maxstack 6 + .locals init (class [System.Core]System.Linq.Expressions.ParameterExpression V_0, + class [System.Core]System.Linq.Expressions.ParameterExpression V_1) + IL_0000: nop + IL_0001: ldsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__79_0' + IL_0006: dup + IL_0007: brtrue.s IL_0020 + + IL_0009: pop + IL_000a: ldsfld class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c' ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9' + IL_000f: ldftn instance bool ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'b__79_0'() + IL_0015: newobj instance void class [mscorlib]System.Func`1::.ctor(object, + native int) + IL_001a: dup + IL_001b: stsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__79_0' + IL_0020: ldtoken [mscorlib]System.Int32 + IL_0025: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_002a: ldstr "n" + IL_002f: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0034: stloc.0 + IL_0035: ldtoken [mscorlib]System.String + IL_003a: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_003f: ldstr "s" + IL_0044: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0049: stloc.1 + IL_004a: ldloc.1 + IL_004b: ldloc.0 + IL_004c: ldtoken method instance string [mscorlib]System.Int32::ToString() + IL_0051: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0056: castclass [mscorlib]System.Reflection.MethodInfo + IL_005b: ldc.i4.0 + IL_005c: newarr [System.Core]System.Linq.Expressions.Expression + IL_0061: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_0066: ldtoken method string [mscorlib]System.String::Concat(string, + string) + IL_006b: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0070: castclass [mscorlib]System.Reflection.MethodInfo + IL_0075: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Add(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Reflection.MethodInfo) + IL_007a: ldc.i4.2 + IL_007b: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0080: dup + IL_0081: ldc.i4.0 + IL_0082: ldloc.0 + IL_0083: stelem.ref + IL_0084: dup + IL_0085: ldc.i4.1 + IL_0086: ldloc.1 + IL_0087: stelem.ref + IL_0088: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_008d: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Quote(class [System.Core]System.Linq.Expressions.Expression) + IL_0092: ldtoken class [System.Core]System.Linq.Expressions.Expression`1> + IL_0097: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_009c: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(class [System.Core]System.Linq.Expressions.Expression, + class [mscorlib]System.Type) + IL_00a1: ldnull + IL_00a2: ldtoken [mscorlib]System.Object + IL_00a7: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00ac: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_00b1: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::NotEqual(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_00b6: ldc.i4.0 + IL_00b7: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_00bc: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_00c1: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_00c6: nop + IL_00c7: ret + } // end of method ExpressionTrees::Quote + + .method public hidebysig static void ArrayInitializer() cil managed + { + // Code size 611 (0x263) + .maxstack 11 + IL_0000: nop + IL_0001: ldsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__80_0' + IL_0006: dup + IL_0007: brtrue.s IL_0020 + + IL_0009: pop + IL_000a: ldsfld class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c' ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9' + IL_000f: ldftn instance int32[] ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'b__80_0'() + IL_0015: newobj instance void class [mscorlib]System.Func`1::.ctor(object, + native int) + IL_001a: dup + IL_001b: stsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__80_0' + IL_0020: ldtoken [mscorlib]System.Int32 + IL_0025: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_002a: ldc.i4.3 + IL_002b: newarr [System.Core]System.Linq.Expressions.Expression + IL_0030: dup + IL_0031: ldc.i4.0 + IL_0032: ldc.i4.1 + IL_0033: box [mscorlib]System.Int32 + IL_0038: ldtoken [mscorlib]System.Int32 + IL_003d: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0042: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0047: stelem.ref + IL_0048: dup + IL_0049: ldc.i4.1 + IL_004a: ldc.i4.2 + IL_004b: box [mscorlib]System.Int32 + IL_0050: ldtoken [mscorlib]System.Int32 + IL_0055: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_005a: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_005f: stelem.ref + IL_0060: dup + IL_0061: ldc.i4.2 + IL_0062: ldc.i4.3 + IL_0063: box [mscorlib]System.Int32 + IL_0068: ldtoken [mscorlib]System.Int32 + IL_006d: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0072: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0077: stelem.ref + IL_0078: call class [System.Core]System.Linq.Expressions.NewArrayExpression [System.Core]System.Linq.Expressions.Expression::NewArrayInit(class [mscorlib]System.Type, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_007d: ldc.i4.0 + IL_007e: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0083: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0088: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_008d: nop + IL_008e: ldsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__80_1' + IL_0093: dup + IL_0094: brtrue.s IL_00ad + + IL_0096: pop + IL_0097: ldsfld class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c' ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9' + IL_009c: ldftn instance int32[] ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'b__80_1'() + IL_00a2: newobj instance void class [mscorlib]System.Func`1::.ctor(object, + native int) + IL_00a7: dup + IL_00a8: stsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__80_1' + IL_00ad: ldtoken [mscorlib]System.Int32 + IL_00b2: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00b7: ldc.i4.1 + IL_00b8: newarr [System.Core]System.Linq.Expressions.Expression + IL_00bd: dup + IL_00be: ldc.i4.0 + IL_00bf: ldc.i4.3 + IL_00c0: box [mscorlib]System.Int32 + IL_00c5: ldtoken [mscorlib]System.Int32 + IL_00ca: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00cf: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_00d4: stelem.ref + IL_00d5: call class [System.Core]System.Linq.Expressions.NewArrayExpression [System.Core]System.Linq.Expressions.Expression::NewArrayBounds(class [mscorlib]System.Type, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_00da: ldc.i4.0 + IL_00db: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_00e0: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_00e5: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_00ea: nop + IL_00eb: ldsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__80_2' + IL_00f0: dup + IL_00f1: brtrue.s IL_010a + + IL_00f3: pop + IL_00f4: ldsfld class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c' ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9' + IL_00f9: ldftn instance int32[0...,0...] ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'b__80_2'() + IL_00ff: newobj instance void class [mscorlib]System.Func`1::.ctor(object, + native int) + IL_0104: dup + IL_0105: stsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__80_2' + IL_010a: ldtoken [mscorlib]System.Int32 + IL_010f: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0114: ldc.i4.2 + IL_0115: newarr [System.Core]System.Linq.Expressions.Expression + IL_011a: dup + IL_011b: ldc.i4.0 + IL_011c: ldc.i4.3 + IL_011d: box [mscorlib]System.Int32 + IL_0122: ldtoken [mscorlib]System.Int32 + IL_0127: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_012c: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0131: stelem.ref + IL_0132: dup + IL_0133: ldc.i4.1 + IL_0134: ldc.i4.5 + IL_0135: box [mscorlib]System.Int32 + IL_013a: ldtoken [mscorlib]System.Int32 + IL_013f: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0144: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0149: stelem.ref + IL_014a: call class [System.Core]System.Linq.Expressions.NewArrayExpression [System.Core]System.Linq.Expressions.Expression::NewArrayBounds(class [mscorlib]System.Type, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_014f: ldc.i4.0 + IL_0150: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0155: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_015a: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_015f: nop + IL_0160: ldsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__80_3' + IL_0165: dup + IL_0166: brtrue.s IL_017f + + IL_0168: pop + IL_0169: ldsfld class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c' ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9' + IL_016e: ldftn instance int32[][] ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'b__80_3'() + IL_0174: newobj instance void class [mscorlib]System.Func`1::.ctor(object, + native int) + IL_0179: dup + IL_017a: stsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__80_3' + IL_017f: ldtoken int32[] + IL_0184: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0189: ldc.i4.1 + IL_018a: newarr [System.Core]System.Linq.Expressions.Expression + IL_018f: dup + IL_0190: ldc.i4.0 + IL_0191: ldc.i4.3 + IL_0192: box [mscorlib]System.Int32 + IL_0197: ldtoken [mscorlib]System.Int32 + IL_019c: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_01a1: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_01a6: stelem.ref + IL_01a7: call class [System.Core]System.Linq.Expressions.NewArrayExpression [System.Core]System.Linq.Expressions.Expression::NewArrayBounds(class [mscorlib]System.Type, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_01ac: ldc.i4.0 + IL_01ad: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_01b2: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_01b7: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_01bc: nop + IL_01bd: ldsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__80_4' + IL_01c2: dup + IL_01c3: brtrue.s IL_01dc + + IL_01c5: pop + IL_01c6: ldsfld class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c' ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9' + IL_01cb: ldftn instance int32[][] ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'b__80_4'() + IL_01d1: newobj instance void class [mscorlib]System.Func`1::.ctor(object, + native int) + IL_01d6: dup + IL_01d7: stsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__80_4' + IL_01dc: ldtoken int32[] + IL_01e1: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_01e6: ldc.i4.1 + IL_01e7: newarr [System.Core]System.Linq.Expressions.Expression + IL_01ec: dup + IL_01ed: ldc.i4.0 + IL_01ee: ldtoken [mscorlib]System.Int32 + IL_01f3: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_01f8: ldc.i4.3 + IL_01f9: newarr [System.Core]System.Linq.Expressions.Expression + IL_01fe: dup + IL_01ff: ldc.i4.0 + IL_0200: ldc.i4.1 + IL_0201: box [mscorlib]System.Int32 + IL_0206: ldtoken [mscorlib]System.Int32 + IL_020b: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0210: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0215: stelem.ref + IL_0216: dup + IL_0217: ldc.i4.1 + IL_0218: ldc.i4.2 + IL_0219: box [mscorlib]System.Int32 + IL_021e: ldtoken [mscorlib]System.Int32 + IL_0223: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0228: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_022d: stelem.ref + IL_022e: dup + IL_022f: ldc.i4.2 + IL_0230: ldc.i4.3 + IL_0231: box [mscorlib]System.Int32 + IL_0236: ldtoken [mscorlib]System.Int32 + IL_023b: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0240: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0245: stelem.ref + IL_0246: call class [System.Core]System.Linq.Expressions.NewArrayExpression [System.Core]System.Linq.Expressions.Expression::NewArrayInit(class [mscorlib]System.Type, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_024b: stelem.ref + IL_024c: call class [System.Core]System.Linq.Expressions.NewArrayExpression [System.Core]System.Linq.Expressions.Expression::NewArrayInit(class [mscorlib]System.Type, + class [System.Core]System.Linq.Expressions.Expression[]) + IL_0251: ldc.i4.0 + IL_0252: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0257: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_025c: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_0261: nop + IL_0262: ret + } // end of method ExpressionTrees::ArrayInitializer + + .method public hidebysig static void AnonymousTypes() cil managed + { + // Code size 180 (0xb4) + .maxstack 8 + IL_0000: nop + IL_0001: ldsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__81_0' + IL_0006: dup + IL_0007: brtrue.s IL_0020 + + IL_0009: pop + IL_000a: ldsfld class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c' ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9' + IL_000f: ldftn instance object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'b__81_0'() + IL_0015: newobj instance void class [mscorlib]System.Func`1::.ctor(object, + native int) + IL_001a: dup + IL_001b: stsfld class [mscorlib]System.Func`1 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c'::'<>9__81_0' + IL_0020: ldtoken method instance void class '<>f__AnonymousType2`2'::.ctor(!0, + !1) + IL_0025: ldtoken class '<>f__AnonymousType2`2' + IL_002a: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle, + valuetype [mscorlib]System.RuntimeTypeHandle) + IL_002f: castclass [mscorlib]System.Reflection.ConstructorInfo + IL_0034: ldc.i4.2 + IL_0035: newarr [System.Core]System.Linq.Expressions.Expression + IL_003a: dup + IL_003b: ldc.i4.0 + IL_003c: ldc.i4.5 + IL_003d: box [mscorlib]System.Int32 + IL_0042: ldtoken [mscorlib]System.Int32 + IL_0047: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_004c: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0051: stelem.ref + IL_0052: dup + IL_0053: ldc.i4.1 + IL_0054: ldstr "Test" + IL_0059: ldtoken [mscorlib]System.String + IL_005e: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0063: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0068: stelem.ref + IL_0069: ldc.i4.2 + IL_006a: newarr [mscorlib]System.Reflection.MemberInfo + IL_006f: dup + IL_0070: ldc.i4.0 + IL_0071: ldtoken method instance !0 class '<>f__AnonymousType2`2'::get_A() + IL_0076: ldtoken class '<>f__AnonymousType2`2' + IL_007b: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle, + valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0080: castclass [mscorlib]System.Reflection.MethodInfo + IL_0085: stelem.ref + IL_0086: dup + IL_0087: ldc.i4.1 + IL_0088: ldtoken method instance !1 class '<>f__AnonymousType2`2'::get_B() + IL_008d: ldtoken class '<>f__AnonymousType2`2' + IL_0092: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle, + valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0097: castclass [mscorlib]System.Reflection.MethodInfo + IL_009c: stelem.ref + IL_009d: call class [System.Core]System.Linq.Expressions.NewExpression [System.Core]System.Linq.Expressions.Expression::New(class [mscorlib]System.Reflection.ConstructorInfo, + class [mscorlib]System.Collections.Generic.IEnumerable`1, + class [mscorlib]System.Reflection.MemberInfo[]) + IL_00a2: ldc.i4.0 + IL_00a3: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_00a8: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_00ad: call void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::Test>(!!0, + class [System.Core]System.Linq.Expressions.Expression`1) + IL_00b2: nop + IL_00b3: ret + } // end of method ExpressionTrees::AnonymousTypes + + .method public hidebysig static void ObjectInit() cil managed + { + // Code size 129 (0x81) + .maxstack 8 + IL_0000: nop + IL_0001: ldnull + IL_0002: ldtoken ICSharpCode.Decompiler.Tests.TestCases.Pretty.SimpleType + IL_0007: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_000c: call class [System.Core]System.Linq.Expressions.NewExpression [System.Core]System.Linq.Expressions.Expression::New(class [mscorlib]System.Type) + IL_0011: ldc.i4.2 + IL_0012: newarr [System.Core]System.Linq.Expressions.MemberBinding + IL_0017: dup + IL_0018: ldc.i4.0 + IL_0019: ldtoken method instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.SimpleType::set_Property(int32) + IL_001e: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0023: castclass [mscorlib]System.Reflection.MethodInfo + IL_0028: ldc.i4.4 + IL_0029: box [mscorlib]System.Int32 + IL_002e: ldtoken [mscorlib]System.Int32 + IL_0033: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0038: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_003d: call class [System.Core]System.Linq.Expressions.MemberAssignment [System.Core]System.Linq.Expressions.Expression::Bind(class [mscorlib]System.Reflection.MethodInfo, + class [System.Core]System.Linq.Expressions.Expression) + IL_0042: stelem.ref + IL_0043: dup + IL_0044: ldc.i4.1 + IL_0045: ldtoken field int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.SimpleType::Field + IL_004a: call class [mscorlib]System.Reflection.FieldInfo [mscorlib]System.Reflection.FieldInfo::GetFieldFromHandle(valuetype [mscorlib]System.RuntimeFieldHandle) + IL_004f: ldc.i4.3 + IL_0050: box [mscorlib]System.Int32 + IL_0055: ldtoken [mscorlib]System.Int32 + IL_005a: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_005f: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0064: call class [System.Core]System.Linq.Expressions.MemberAssignment [System.Core]System.Linq.Expressions.Expression::Bind(class [mscorlib]System.Reflection.MemberInfo, + class [System.Core]System.Linq.Expressions.Expression) + IL_0069: stelem.ref + IL_006a: call class [System.Core]System.Linq.Expressions.MemberInitExpression [System.Core]System.Linq.Expressions.Expression::MemberInit(class [System.Core]System.Linq.Expressions.NewExpression, + class [System.Core]System.Linq.Expressions.MemberBinding[]) + IL_006f: ldc.i4.0 + IL_0070: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0075: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_007a: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_007f: pop + IL_0080: ret + } // end of method ExpressionTrees::ObjectInit + + .method public hidebysig specialname rtspecialname + instance void .ctor() cil managed + { + // Code size 8 (0x8) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [mscorlib]System.Object::.ctor() + IL_0006: nop + IL_0007: ret + } // end of method ExpressionTrees::.ctor + +} // end of class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees + +.class private auto ansi beforefieldinit ICSharpCode.Decompiler.Tests.TestCases.Pretty.MyClass + extends [mscorlib]System.Object +{ + .method public hidebysig specialname static + class ICSharpCode.Decompiler.Tests.TestCases.Pretty.MyClass + op_Addition(class ICSharpCode.Decompiler.Tests.TestCases.Pretty.MyClass a, + class ICSharpCode.Decompiler.Tests.TestCases.Pretty.MyClass b) cil managed + { + // Code size 11 (0xb) + .maxstack 1 + .locals init (class ICSharpCode.Decompiler.Tests.TestCases.Pretty.MyClass V_0) + IL_0000: nop + IL_0001: newobj instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.MyClass::.ctor() + IL_0006: stloc.0 + IL_0007: br.s IL_0009 + + IL_0009: ldloc.0 + IL_000a: ret + } // end of method MyClass::op_Addition + + .method public hidebysig specialname rtspecialname + instance void .ctor() cil managed + { + // Code size 8 (0x8) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [mscorlib]System.Object::.ctor() + IL_0006: nop + IL_0007: ret + } // end of method MyClass::.ctor + +} // end of class ICSharpCode.Decompiler.Tests.TestCases.Pretty.MyClass + +.class private auto ansi beforefieldinit ICSharpCode.Decompiler.Tests.TestCases.Pretty.SimpleType + extends [mscorlib]System.Object +{ + .field public static literal int32 ConstField = int32(0x00000001) + .field public static initonly int32 StaticReadonlyField + .field public static int32 StaticField + .field public initonly int32 ReadonlyField + .field public int32 Field + .field private static int32 'k__BackingField' + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [mscorlib]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field private int32 'k__BackingField' + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [mscorlib]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .method public hidebysig specialname static + int32 get_StaticReadonlyProperty() cil managed + { + // Code size 7 (0x7) + .maxstack 1 + .locals init (int32 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 SimpleType::get_StaticReadonlyProperty + + .method public hidebysig specialname static + int32 get_StaticProperty() cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 6 (0x6) + .maxstack 8 + IL_0000: ldsfld int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.SimpleType::'k__BackingField' + IL_0005: ret + } // end of method SimpleType::get_StaticProperty + + .method public hidebysig specialname static + void set_StaticProperty(int32 'value') cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: stsfld int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.SimpleType::'k__BackingField' + IL_0006: ret + } // end of method SimpleType::set_StaticProperty + + .method public hidebysig specialname instance int32 + get_ReadonlyProperty() cil managed + { + // Code size 7 (0x7) + .maxstack 1 + .locals init (int32 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 SimpleType::get_ReadonlyProperty + + .method public hidebysig specialname instance int32 + get_Property() cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.SimpleType::'k__BackingField' + IL_0006: ret + } // end of method SimpleType::get_Property + + .method public hidebysig specialname instance void + set_Property(int32 'value') cil managed + { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 8 (0x8) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.SimpleType::'k__BackingField' + IL_0007: ret + } // end of method SimpleType::set_Property + + .method public hidebysig specialname rtspecialname + instance void .ctor() cil managed + { + // Code size 22 (0x16) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldc.i4.2 + IL_0002: stfld int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.SimpleType::ReadonlyField + IL_0007: ldarg.0 + IL_0008: ldc.i4.3 + IL_0009: stfld int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.SimpleType::Field + IL_000e: ldarg.0 + IL_000f: call instance void [mscorlib]System.Object::.ctor() + IL_0014: nop + IL_0015: ret + } // end of method SimpleType::.ctor + + .method private hidebysig specialname rtspecialname static + void .cctor() cil managed + { + // Code size 13 (0xd) + .maxstack 8 + IL_0000: ldc.i4.2 + IL_0001: stsfld int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.SimpleType::StaticReadonlyField + IL_0006: ldc.i4.3 + IL_0007: stsfld int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.SimpleType::StaticField + IL_000c: ret + } // end of method SimpleType::.cctor + + .property int32 StaticReadonlyProperty() + { + .get int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.SimpleType::get_StaticReadonlyProperty() + } // end of property SimpleType::StaticReadonlyProperty + .property int32 StaticProperty() + { + .get int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.SimpleType::get_StaticProperty() + .set void ICSharpCode.Decompiler.Tests.TestCases.Pretty.SimpleType::set_StaticProperty(int32) + } // end of property SimpleType::StaticProperty + .property instance int32 ReadonlyProperty() + { + .get instance int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.SimpleType::get_ReadonlyProperty() + } // end of property SimpleType::ReadonlyProperty + .property instance int32 Property() + { + .get instance int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.SimpleType::get_Property() + .set instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.SimpleType::set_Property(int32) + } // end of property SimpleType::Property +} // end of class ICSharpCode.Decompiler.Tests.TestCases.Pretty.SimpleType + +.class private auto ansi beforefieldinit ICSharpCode.Decompiler.Tests.TestCases.Pretty.SimpleTypeWithCtor + extends [mscorlib]System.Object +{ + .method public hidebysig specialname rtspecialname + instance void .ctor(int32 i) cil managed + { + // Code size 9 (0x9) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [mscorlib]System.Object::.ctor() + IL_0006: nop + IL_0007: nop + IL_0008: ret + } // end of method SimpleTypeWithCtor::.ctor + +} // end of class ICSharpCode.Decompiler.Tests.TestCases.Pretty.SimpleTypeWithCtor + +.class private auto ansi beforefieldinit ICSharpCode.Decompiler.Tests.TestCases.Pretty.SimpleTypeWithMultipleCtors + extends [mscorlib]System.Object +{ + .method public hidebysig specialname rtspecialname + instance void .ctor() cil managed + { + // Code size 9 (0x9) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [mscorlib]System.Object::.ctor() + IL_0006: nop + IL_0007: nop + IL_0008: ret + } // end of method SimpleTypeWithMultipleCtors::.ctor + + .method public hidebysig specialname rtspecialname + instance void .ctor(int32 i) cil managed + { + // Code size 9 (0x9) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [mscorlib]System.Object::.ctor() + IL_0006: nop + IL_0007: nop + IL_0008: ret + } // end of method SimpleTypeWithMultipleCtors::.ctor + +} // end of class ICSharpCode.Decompiler.Tests.TestCases.Pretty.SimpleTypeWithMultipleCtors + +.class private auto ansi beforefieldinit ICSharpCode.Decompiler.Tests.TestCases.Pretty.GenericClassWithCtor`1 + extends [mscorlib]System.Object +{ + .method public hidebysig specialname rtspecialname + instance void .ctor() cil managed + { + // Code size 8 (0x8) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [mscorlib]System.Object::.ctor() + IL_0006: nop + IL_0007: ret + } // end of method GenericClassWithCtor`1::.ctor + +} // end of class ICSharpCode.Decompiler.Tests.TestCases.Pretty.GenericClassWithCtor`1 + +.class private auto ansi beforefieldinit ICSharpCode.Decompiler.Tests.TestCases.Pretty.GenericClassWithMultipleCtors`1 + extends [mscorlib]System.Object +{ + .method public hidebysig specialname rtspecialname + instance void .ctor() cil managed + { + // Code size 9 (0x9) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [mscorlib]System.Object::.ctor() + IL_0006: nop + IL_0007: nop + IL_0008: ret + } // end of method GenericClassWithMultipleCtors`1::.ctor + + .method public hidebysig specialname rtspecialname + instance void .ctor(int32 x) cil managed + { + // Code size 9 (0x9) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [mscorlib]System.Object::.ctor() + IL_0006: nop + IL_0007: nop + IL_0008: ret + } // end of method GenericClassWithMultipleCtors`1::.ctor + +} // end of class ICSharpCode.Decompiler.Tests.TestCases.Pretty.GenericClassWithMultipleCtors`1 + +.class private auto ansi beforefieldinit ICSharpCode.Decompiler.Tests.TestCases.Pretty.GenericClass`1 + extends [mscorlib]System.Object +{ + .method public hidebysig specialname rtspecialname + instance void .ctor() cil managed + { + // Code size 8 (0x8) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [mscorlib]System.Object::.ctor() + IL_0006: nop + IL_0007: ret + } // end of method GenericClass`1::.ctor + +} // end of class ICSharpCode.Decompiler.Tests.TestCases.Pretty.GenericClass`1 + +.class private auto ansi sealed '' + extends [mscorlib]System.Object +{ + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .class explicit ansi sealed nested private '__StaticArrayInitTypeSize=12' + extends [mscorlib]System.ValueType + { + .pack 1 + .size 12 + } // end of class '__StaticArrayInitTypeSize=12' + + .field static assembly initonly valuetype ''/'__StaticArrayInitTypeSize=12' E429CCA3F703A39CC5954A6572FEC9086135B34E at I_0000C034 +} // end of class '' + + +// ============================================================= + +.data cil I_0000C034 = bytearray ( + 01 00 00 00 02 00 00 00 03 00 00 00) +// *********** DISASSEMBLY COMPLETE *********************** diff --git a/ICSharpCode.Decompiler/CSharp/CSharpDecompiler.cs b/ICSharpCode.Decompiler/CSharp/CSharpDecompiler.cs index cdf5cee7e..b56c43342 100644 --- a/ICSharpCode.Decompiler/CSharp/CSharpDecompiler.cs +++ b/ICSharpCode.Decompiler/CSharp/CSharpDecompiler.cs @@ -128,7 +128,8 @@ namespace ICSharpCode.Decompiler.CSharp new NullCoalescingTransform(), new NullableLiftingStatementTransform(), new TransformArrayInitializers(), - new TransformCollectionAndObjectInitializers() + new TransformCollectionAndObjectInitializers(), + new TransformExpressionTrees() ), } }, @@ -762,7 +763,7 @@ namespace ICSharpCode.Decompiler.CSharp } AddDefinesForConditionalAttributes(function); - var statementBuilder = new StatementBuilder(specializingTypeSystem, decompilationContext, method, function, settings, CancellationToken); + var statementBuilder = new StatementBuilder(specializingTypeSystem, decompilationContext, function, settings, CancellationToken); var body = statementBuilder.ConvertAsBlock(function.Body); Comment prev = null; diff --git a/ICSharpCode.Decompiler/CSharp/CallBuilder.cs b/ICSharpCode.Decompiler/CSharp/CallBuilder.cs index 6b3f735a1..f765825e3 100644 --- a/ICSharpCode.Decompiler/CSharp/CallBuilder.cs +++ b/ICSharpCode.Decompiler/CSharp/CallBuilder.cs @@ -420,10 +420,6 @@ namespace ICSharpCode.Decompiler.CSharp case OpCode.LdVirtFtn: method = ((LdVirtFtn)func).Method; break; - case OpCode.ILFunction: - method = ((ILFunction)func).Method; - return expressionBuilder.TranslateFunction(inst.Method.DeclaringType, (ILFunction)func) - .WithILInstruction(inst); default: throw new ArgumentException($"Unknown instruction type: {func.OpCode}"); } diff --git a/ICSharpCode.Decompiler/CSharp/ExpressionBuilder.cs b/ICSharpCode.Decompiler/CSharp/ExpressionBuilder.cs index 52d4dc0ea..01888ac50 100644 --- a/ICSharpCode.Decompiler/CSharp/ExpressionBuilder.cs +++ b/ICSharpCode.Decompiler/CSharp/ExpressionBuilder.cs @@ -1350,15 +1350,15 @@ namespace ICSharpCode.Decompiler.CSharp internal ExpressionWithResolveResult TranslateFunction(IType delegateType, ILFunction function) { - var method = function.Method.MemberDefinition as IMethod; - Debug.Assert(method != null); + var method = function.Method?.MemberDefinition as IMethod; // Create AnonymousMethodExpression and prepare parameters AnonymousMethodExpression ame = new AnonymousMethodExpression(); ame.IsAsync = function.IsAsync; - ame.Parameters.AddRange(MakeParameters(method, function)); + ame.Parameters.AddRange(MakeParameters(function.Parameters, function)); ame.HasParameterList = ame.Parameters.Count > 0; - StatementBuilder builder = new StatementBuilder(typeSystem.GetSpecializingTypeSystem(new SimpleTypeResolveContext(method)), this.decompilationContext, method, function, settings, cancellationToken); + var context = method == null ? decompilationContext : new SimpleTypeResolveContext(method); + StatementBuilder builder = new StatementBuilder(typeSystem.GetSpecializingTypeSystem(context), this.decompilationContext, function, settings, cancellationToken); var body = builder.ConvertAsBlock(function.Body); Comment prev = null; @@ -1420,6 +1420,12 @@ namespace ICSharpCode.Decompiler.CSharp .WithRR(new ConversionResolveResult(delegateType, rr, LambdaConversion.Instance)); } + protected internal override TranslatedExpression VisitILFunction(ILFunction function, TranslationContext context) + { + return TranslateFunction(function.DelegateType, function) + .WithILInstruction(function); + } + IType InferReturnType(BlockStatement body) { var returnExpressions = new List(); @@ -1459,17 +1465,17 @@ namespace ICSharpCode.Decompiler.CSharp return SpecialType.UnknownType; } - IEnumerable MakeParameters(IMethod method, ILFunction function) + IEnumerable MakeParameters(IList parameters, ILFunction function) { var variables = function.Variables.Where(v => v.Kind == VariableKind.Parameter).ToDictionary(v => v.Index); int i = 0; - foreach (var parameter in method.Parameters) { + foreach (var parameter in parameters) { var pd = astBuilder.ConvertParameter(parameter); if (settings.AnonymousTypes && parameter.Type.ContainsAnonymousType()) pd.Type = null; ILVariable v; if (variables.TryGetValue(i, out v)) - pd.AddAnnotation(new ILVariableResolveResult(v, method.Parameters[i].Type)); + pd.AddAnnotation(new ILVariableResolveResult(v, parameters[i].Type)); yield return pd; i++; } @@ -1701,7 +1707,12 @@ namespace ICSharpCode.Decompiler.CSharp { return Translate(inst.Argument).ConvertTo(inst.Type, this); } - + + protected internal override TranslatedExpression VisitExpressionTreeCast(ExpressionTreeCast inst, TranslationContext context) + { + return Translate(inst.Argument).ConvertTo(inst.Type, this, inst.IsChecked); + } + protected internal override TranslatedExpression VisitArglist(Arglist inst, TranslationContext context) { return new UndocumentedExpression { UndocumentedExpressionType = UndocumentedExpressionType.ArgListAccess } diff --git a/ICSharpCode.Decompiler/CSharp/Resolver/LambdaResolveResult.cs b/ICSharpCode.Decompiler/CSharp/Resolver/LambdaResolveResult.cs index 1eb48cfe2..72f67e4b8 100644 --- a/ICSharpCode.Decompiler/CSharp/Resolver/LambdaResolveResult.cs +++ b/ICSharpCode.Decompiler/CSharp/Resolver/LambdaResolveResult.cs @@ -132,8 +132,8 @@ namespace ICSharpCode.Decompiler.CSharp.Resolver public override bool IsImplicitlyTyped { get; } public override bool IsAsync => function.IsAsync; - public override IList Parameters => function.Method.Parameters; - public override IType ReturnType => function.Method.ReturnType; + public override IList Parameters => function.Parameters; + public override IType ReturnType => function.ReturnType; public override ResolveResult Body { get; } diff --git a/ICSharpCode.Decompiler/CSharp/StatementBuilder.cs b/ICSharpCode.Decompiler/CSharp/StatementBuilder.cs index 5168cdede..f9cdec17a 100644 --- a/ICSharpCode.Decompiler/CSharp/StatementBuilder.cs +++ b/ICSharpCode.Decompiler/CSharp/StatementBuilder.cs @@ -35,16 +35,16 @@ namespace ICSharpCode.Decompiler.CSharp { internal readonly ExpressionBuilder exprBuilder; readonly ILFunction currentFunction; - readonly IMethod currentMethod; + readonly IDecompilerTypeSystem typeSystem; readonly DecompilerSettings settings; readonly CancellationToken cancellationToken; - public StatementBuilder(IDecompilerTypeSystem typeSystem, ITypeResolveContext decompilationContext, IMethod currentMethod, ILFunction currentFunction, DecompilerSettings settings, CancellationToken cancellationToken) + public StatementBuilder(IDecompilerTypeSystem typeSystem, ITypeResolveContext decompilationContext, ILFunction currentFunction, DecompilerSettings settings, CancellationToken cancellationToken) { - Debug.Assert(typeSystem != null && decompilationContext != null && currentMethod != null); + Debug.Assert(typeSystem != null && decompilationContext != null); this.exprBuilder = new ExpressionBuilder(typeSystem, decompilationContext, settings, cancellationToken); this.currentFunction = currentFunction; - this.currentMethod = currentMethod; + this.typeSystem = typeSystem; this.settings = settings; this.cancellationToken = cancellationToken; } @@ -263,7 +263,7 @@ namespace ICSharpCode.Decompiler.CSharp if (currentFunction.IsIterator) return new YieldBreakStatement(); else if (!inst.Value.MatchNop()) { - IType targetType = currentFunction.IsAsync ? currentFunction.AsyncReturnType : currentMethod.ReturnType; + IType targetType = currentFunction.IsAsync ? currentFunction.AsyncReturnType : currentFunction.ReturnType; return new ReturnStatement(exprBuilder.Translate(inst.Value).ConvertTo(targetType, exprBuilder, allowImplicitConversion: true)); } else return new ReturnStatement(); @@ -288,7 +288,7 @@ namespace ICSharpCode.Decompiler.CSharp protected internal override Statement VisitYieldReturn(YieldReturn inst) { - var elementType = currentMethod.ReturnType.GetElementTypeFromIEnumerable(currentMethod.Compilation, true, out var isGeneric); + var elementType = currentFunction.ReturnType.GetElementTypeFromIEnumerable(typeSystem.Compilation, true, out var isGeneric); return new YieldReturnStatement { Expression = exprBuilder.Translate(inst.Value).ConvertTo(elementType, exprBuilder) }; diff --git a/ICSharpCode.Decompiler/CSharp/TranslatedExpression.cs b/ICSharpCode.Decompiler/CSharp/TranslatedExpression.cs index 11d5a86b1..fdec5e70d 100644 --- a/ICSharpCode.Decompiler/CSharp/TranslatedExpression.cs +++ b/ICSharpCode.Decompiler/CSharp/TranslatedExpression.cs @@ -178,7 +178,7 @@ namespace ICSharpCode.Decompiler.CSharp case ConversionResolveResult conversion: { if (Expression is CastExpression cast && (type.IsKnownType(KnownTypeCode.Object) && conversion.Conversion.IsBoxingConversion - || type.Kind == TypeKind.Delegate && conversion.Conversion.IsAnonymousFunctionConversion + || conversion.Conversion.IsAnonymousFunctionConversion || (conversion.Conversion.IsImplicit && (conversion.Conversion.IsUserDefined || targetType.IsKnownType(KnownTypeCode.Decimal))) )) { return this.UnwrapChild(cast.Expression); diff --git a/ICSharpCode.Decompiler/ICSharpCode.Decompiler.csproj b/ICSharpCode.Decompiler/ICSharpCode.Decompiler.csproj index 6609a7a4c..3283989fa 100644 --- a/ICSharpCode.Decompiler/ICSharpCode.Decompiler.csproj +++ b/ICSharpCode.Decompiler/ICSharpCode.Decompiler.csproj @@ -283,6 +283,7 @@ + @@ -290,6 +291,7 @@ + diff --git a/ICSharpCode.Decompiler/IL/Instructions.cs b/ICSharpCode.Decompiler/IL/Instructions.cs index 58941eba3..0ea2866d3 100644 --- a/ICSharpCode.Decompiler/IL/Instructions.cs +++ b/ICSharpCode.Decompiler/IL/Instructions.cs @@ -168,6 +168,8 @@ namespace ICSharpCode.Decompiler.IL ArrayToPointer, /// Maps a string value to an integer. This is used in switch(string). StringToInt, + /// ILAst representation of Expression.Convert. + ExpressionTreeCast, /// Push a typed reference of type class onto the stack. MakeRefAny, /// Push the type token stored in a typed reference. @@ -4493,6 +4495,46 @@ namespace ICSharpCode.Decompiler.IL } } namespace ICSharpCode.Decompiler.IL +{ + /// ILAst representation of Expression.Convert. + public sealed partial class ExpressionTreeCast : UnaryInstruction + { + IType type; + /// Returns the type operand. + public IType Type { + get { return type; } + set { type = value; InvalidateFlags(); } + } + public override StackType ResultType { get { return type.GetStackType(); } } + protected override InstructionFlags ComputeFlags() + { + return base.ComputeFlags() | InstructionFlags.MayThrow; + } + public override InstructionFlags DirectFlags { + get { + return base.DirectFlags | InstructionFlags.MayThrow; + } + } + public override void AcceptVisitor(ILVisitor visitor) + { + visitor.VisitExpressionTreeCast(this); + } + public override T AcceptVisitor(ILVisitor visitor) + { + return visitor.VisitExpressionTreeCast(this); + } + public override T AcceptVisitor(ILVisitor visitor, C context) + { + return visitor.VisitExpressionTreeCast(this, context); + } + protected internal override bool PerformMatch(ILInstruction other, ref Patterns.Match match) + { + var o = other as ExpressionTreeCast; + return o != null && this.Argument.PerformMatch(o.Argument, ref match) && type.Equals(o.type) && this.IsChecked == o.IsChecked; + } + } +} +namespace ICSharpCode.Decompiler.IL { /// Push a typed reference of type class onto the stack. public sealed partial class MakeRefAny : UnaryInstruction @@ -5132,6 +5174,10 @@ namespace ICSharpCode.Decompiler.IL { Default(inst); } + protected internal virtual void VisitExpressionTreeCast(ExpressionTreeCast inst) + { + Default(inst); + } protected internal virtual void VisitMakeRefAny(MakeRefAny inst) { Default(inst); @@ -5434,6 +5480,10 @@ namespace ICSharpCode.Decompiler.IL { return Default(inst); } + protected internal virtual T VisitExpressionTreeCast(ExpressionTreeCast inst) + { + return Default(inst); + } protected internal virtual T VisitMakeRefAny(MakeRefAny inst) { return Default(inst); @@ -5736,6 +5786,10 @@ namespace ICSharpCode.Decompiler.IL { return Default(inst, context); } + protected internal virtual T VisitExpressionTreeCast(ExpressionTreeCast inst, C context) + { + return Default(inst, context); + } protected internal virtual T VisitMakeRefAny(MakeRefAny inst, C context) { return Default(inst, context); @@ -5829,6 +5883,7 @@ namespace ICSharpCode.Decompiler.IL "ldelema", "array.to.pointer", "string.to.int", + "expression.tree.cast", "mkrefany", "refanytype", "refanyval", diff --git a/ICSharpCode.Decompiler/IL/Instructions.tt b/ICSharpCode.Decompiler/IL/Instructions.tt index bab9fd9ea..04a85831d 100644 --- a/ICSharpCode.Decompiler/IL/Instructions.tt +++ b/ICSharpCode.Decompiler/IL/Instructions.tt @@ -240,6 +240,10 @@ new OpCode("string.to.int", "Maps a string value to an integer. This is used in switch(string).", CustomArguments("argument"), CustomConstructor, CustomWriteTo, ResultType("I4")), + new OpCode("expression.tree.cast", "ILAst representation of Expression.Convert.", + CustomClassName("ExpressionTreeCast"), Unary, HasTypeOperand, MayThrow, CustomConstructor, CustomWriteTo, ResultType("type.GetStackType()"), + MatchCondition("this.IsChecked == o.IsChecked")), + new OpCode("mkrefany", "Push a typed reference of type class onto the stack.", CustomClassName("MakeRefAny"), Unary, HasTypeOperand, ResultType("O")), new OpCode("refanytype", "Push the type token stored in a typed reference.", diff --git a/ICSharpCode.Decompiler/IL/Instructions/ILFunction.cs b/ICSharpCode.Decompiler/IL/Instructions/ILFunction.cs index 4424ba4f5..257d48f78 100644 --- a/ICSharpCode.Decompiler/IL/Instructions/ILFunction.cs +++ b/ICSharpCode.Decompiler/IL/Instructions/ILFunction.cs @@ -61,11 +61,33 @@ namespace ICSharpCode.Decompiler.IL /// public IType AsyncReturnType; + /// + /// If this is an expression tree or delegate, returns the expression tree type Expression{T} or T. + /// T is the delegate type that matches the signature of this method. + /// + public IType DelegateType; + + public bool IsExpressionTree => DelegateType != null && DelegateType.FullName == "System.Linq.Expressions.Expression" && DelegateType.TypeParameterCount == 1; + + public readonly IType ReturnType; + + public readonly IList Parameters; + public ILFunction(IMethod method, MethodDefinition cecilMethod, ILInstruction body) : base(OpCode.ILFunction) { this.Body = body; this.Method = method; this.CecilMethod = cecilMethod; + this.ReturnType = Method?.ReturnType; + this.Parameters = Method?.Parameters; + this.Variables = new ILVariableCollection(this); + } + + public ILFunction(IType returnType, IList parameters, ILInstruction body) : base(OpCode.ILFunction) + { + this.Body = body; + this.ReturnType = returnType; + this.Parameters = parameters; this.Variables = new ILVariableCollection(this); } @@ -91,6 +113,14 @@ namespace ICSharpCode.Decompiler.IL output.Write(' '); Method.WriteTo(output); } + if (IsExpressionTree) { + output.Write(".ET"); + } + if (DelegateType != null) { + output.Write("["); + DelegateType.WriteTo(output); + output.Write("]"); + } output.WriteLine(" {"); output.Indent(); diff --git a/ICSharpCode.Decompiler/IL/Transforms/AssignVariableNames.cs b/ICSharpCode.Decompiler/IL/Transforms/AssignVariableNames.cs index bfe03f90f..907fb487a 100644 --- a/ICSharpCode.Decompiler/IL/Transforms/AssignVariableNames.cs +++ b/ICSharpCode.Decompiler/IL/Transforms/AssignVariableNames.cs @@ -61,8 +61,15 @@ namespace ICSharpCode.Decompiler.IL.Transforms currentFieldNames = function.CecilMethod.DeclaringType.Fields.Select(f => f.Name).ToArray(); reservedVariableNames = new Dictionary(); loopCounters = CollectLoopCounters(function); - foreach (var p in function.Descendants.OfType().Select(f => f.Method).SelectMany(m => m.Parameters)) - AddExistingName(reservedVariableNames, p.Name); + foreach (var f in function.Descendants.OfType()) { + if (f.Method != null) { + foreach (var p in f.Method.Parameters) + AddExistingName(reservedVariableNames, p.Name); + } else { + foreach (var p in f.Variables.Where(v => v.Kind == VariableKind.Parameter)) + AddExistingName(reservedVariableNames, p.Name); + } + } foreach (ILFunction f in function.Descendants.OfType().Reverse()) { PerformAssignment(f); } diff --git a/ICSharpCode.Decompiler/IL/Transforms/DelegateConstruction.cs b/ICSharpCode.Decompiler/IL/Transforms/DelegateConstruction.cs index 33285198a..47bea003f 100644 --- a/ICSharpCode.Decompiler/IL/Transforms/DelegateConstruction.cs +++ b/ICSharpCode.Decompiler/IL/Transforms/DelegateConstruction.cs @@ -44,13 +44,10 @@ namespace ICSharpCode.Decompiler.IL.Transforms foreach (var call in block.Instructions[i].Descendants.OfType()) { ILFunction f = TransformDelegateConstruction(call, out ILInstruction target); if (f != null) { - f.AddILRange(call.Arguments[0].ILRange); - f.AddILRange(call.Arguments[1].ILRange); - call.Arguments[0].ReplaceWith(new LdNull()); - call.Arguments[1].ReplaceWith(f); - if (target is IInstructionWithVariableOperand && !target.MatchLdThis()) - targetsToReplace.Add((IInstructionWithVariableOperand)target); - } + call.ReplaceWith(f); + if (target is IInstructionWithVariableOperand && !target.MatchLdThis()) + targetsToReplace.Add((IInstructionWithVariableOperand)target); + } } if (block.Instructions[i].MatchStLoc(out ILVariable targetVariable, out ILInstruction value)) { var newObj = value as NewObj; @@ -144,6 +141,7 @@ namespace ICSharpCode.Decompiler.IL.Transforms var ilReader = new ILReader(localTypeSystem); ilReader.UseDebugSymbols = context.Settings.UseDebugSymbols; var function = ilReader.ReadIL(methodDefinition.Body, context.CancellationToken); + function.DelegateType = value.Method.DeclaringType; function.CheckInvariant(ILPhase.Normal); var contextPrefix = targetMethod.Name; @@ -158,6 +156,8 @@ namespace ICSharpCode.Decompiler.IL.Transforms function.AcceptVisitor(new ReplaceDelegateTargetVisitor(target, function.Variables.SingleOrDefault(v => v.Index == -1 && v.Kind == VariableKind.Parameter))); // handle nested lambdas ((IILTransform)new DelegateConstruction()).Run(function, nestedContext); + function.AddILRange(target.ILRange); + function.AddILRange(value.Arguments[1].ILRange); return function; } return null; diff --git a/ICSharpCode.Decompiler/IL/Transforms/ExpressionTreeCast.cs b/ICSharpCode.Decompiler/IL/Transforms/ExpressionTreeCast.cs new file mode 100644 index 000000000..3fa452e24 --- /dev/null +++ b/ICSharpCode.Decompiler/IL/Transforms/ExpressionTreeCast.cs @@ -0,0 +1,31 @@ +using System; +using System.Collections.Generic; +using System.Text; +using ICSharpCode.Decompiler.TypeSystem; + +namespace ICSharpCode.Decompiler.IL +{ + partial class ExpressionTreeCast + { + public bool IsChecked { get; set; } + + public ExpressionTreeCast(IType type, ILInstruction argument, bool isChecked) + : base(OpCode.ExpressionTreeCast, argument) + { + this.Type = type; + this.IsChecked = isChecked; + } + + public override void WriteTo(ITextOutput output, ILAstWritingOptions options) + { + ILRange.WriteTo(output, options); + output.Write(OpCode); + if (IsChecked) output.Write(".checked"); + output.Write(' '); + type.WriteTo(output); + output.Write('('); + Argument.WriteTo(output, options); + output.Write(')'); + } + } +} diff --git a/ICSharpCode.Decompiler/IL/Transforms/TransformExpressionTrees.cs b/ICSharpCode.Decompiler/IL/Transforms/TransformExpressionTrees.cs new file mode 100644 index 000000000..122d642ea --- /dev/null +++ b/ICSharpCode.Decompiler/IL/Transforms/TransformExpressionTrees.cs @@ -0,0 +1,1115 @@ +// Copyright (c) 2017 Siegfried Pammer +// +// Permission is hereby granted, free of charge, to any person obtaining a copy of this +// software and associated documentation files (the "Software"), to deal in the Software +// without restriction, including without limitation the rights to use, copy, modify, merge, +// publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons +// to whom the Software is furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in all copies or +// substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, +// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR +// PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE +// FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +// DEALINGS IN THE SOFTWARE. + +using System; +using System.Collections.Generic; +using System.Diagnostics; +using System.Linq; +using ICSharpCode.Decompiler.CSharp.Resolver; +using ICSharpCode.Decompiler.CSharp.Syntax; +using ICSharpCode.Decompiler.Semantics; +using ICSharpCode.Decompiler.TypeSystem; +using ICSharpCode.Decompiler.TypeSystem.Implementation; +using ICSharpCode.Decompiler.Util; + +namespace ICSharpCode.Decompiler.IL.Transforms +{ + /// + /// Converts LINQ Expression Trees to ILFunctions/ILAst instructions. + /// + public class TransformExpressionTrees : IStatementTransform + { + /// + /// Returns true if the instruction matches the pattern for Expression.Lambda calls. + /// + static bool MightBeExpressionTree(ILInstruction inst, ILInstruction stmt) + { + if (!(inst is CallInstruction call + && call.Method.FullName == "System.Linq.Expressions.Expression.Lambda" + && call.Arguments.Count == 2)) + return false; + if (call.Parent is CallInstruction parentCall && parentCall.Method.FullName == "System.Linq.Expressions.Expression.Quote") + return false; + if (!(IsEmptyParameterList(call.Arguments[1]) || (call.Arguments[1] is Block block && block.Kind == BlockKind.ArrayInitializer))) + return false; + //if (!ILInlining.CanUninline(call, stmt)) + // return false; + return true; + } + + static bool IsEmptyParameterList(ILInstruction inst) + { + if (inst is CallInstruction emptyCall && emptyCall.Method.FullName == "System.Array.Empty" && emptyCall.Arguments.Count == 0) + return true; + if (inst.MatchNewArr(out var type) && type.FullName == "System.Linq.Expressions.ParameterExpression") + return true; + if (inst.MatchNewArr(out type) && type.FullName == "System.Linq.Expressions.Expression") + return true; + return false; + } + + bool MatchParameterVariableAssignment(ILInstruction expr, out ILVariable parameterReferenceVar, out IType type, out string name) + { + // stloc(v, call(Expression::Parameter, call(Type::GetTypeFromHandle, ldtoken(...)), ldstr(...))) + type = null; + name = null; + if (!expr.MatchStLoc(out parameterReferenceVar, out var init)) + return false; + if (!parameterReferenceVar.IsSingleDefinition) + return false; + if (!(parameterReferenceVar.Kind == VariableKind.Local || parameterReferenceVar.Kind == VariableKind.StackSlot)) + return false; + if (parameterReferenceVar.Type == null || parameterReferenceVar.Type.FullName != "System.Linq.Expressions.ParameterExpression") + return false; + if (!(init is CallInstruction initCall && initCall.Arguments.Count == 2)) + return false; + IMethod parameterMethod = initCall.Method; + if (!(parameterMethod.Name == "Parameter" && parameterMethod.DeclaringType.FullName == "System.Linq.Expressions.Expression")) + return false; + CallInstruction typeArg = initCall.Arguments[0] as CallInstruction; + if (typeArg == null || typeArg.Arguments.Count != 1) + return false; + if (typeArg.Method.FullName != "System.Type.GetTypeFromHandle") + return false; + return typeArg.Arguments[0].MatchLdTypeToken(out type) && initCall.Arguments[1].MatchLdStr(out name); + } + + StatementTransformContext context; + Dictionary parameters; + Dictionary parameterMapping; + List instructionsToRemove; + Stack lambdaStack; + CSharpConversions conversions; + CSharpResolver resolver; + + public void Run(Block block, int pos, StatementTransformContext context) + { + this.context = context; + this.conversions = CSharpConversions.Get(context.TypeSystem.Compilation); + this.resolver = new CSharpResolver(context.TypeSystem.Compilation); + this.parameters = new Dictionary(); + this.parameterMapping = new Dictionary(); + this.instructionsToRemove = new List(); + this.lambdaStack = new Stack(); + for (int i = pos; i < block.Instructions.Count; i++) { + if (MatchParameterVariableAssignment(block.Instructions[i], out var v, out var type, out var name)) { + parameters.Add(v, (type, name)); + continue; + } + if (TryConvertExpressionTree(block.Instructions[i], block.Instructions[i])) { + foreach (var inst in instructionsToRemove) + block.Instructions.Remove(inst); + instructionsToRemove.Clear(); + } + break; + } + } + + bool TryConvertExpressionTree(ILInstruction instruction, ILInstruction statement) + { + if (MightBeExpressionTree(instruction, statement)) { + var (lambda, type) = ConvertLambda((CallInstruction)instruction); + if (lambda != null) { + context.Step("Convert Expression Tree", instruction); + instruction.ReplaceWith(lambda); + return true; + } + return false; + } + foreach (var child in instruction.Children) { + if (TryConvertExpressionTree(child, statement)) + return true; + } + return false; + } + + /// + /// Converts a Expression.Lambda call into an ILFunction. + /// If the conversion fails, null is returned. + /// + (ILInstruction, IType) ConvertLambda(CallInstruction instruction) + { + if (instruction.Method.Name != "Lambda" || instruction.Arguments.Count != 2 || instruction.Method.ReturnType.FullName != "System.Linq.Expressions.Expression" || instruction.Method.ReturnType.TypeArguments.Count != 1) + return (null, SpecialType.UnknownType); + var parameterList = new List(); + var parameterVariablesList = new List(); + if (!ReadParameters(instruction.Arguments[1], parameterList, parameterVariablesList, new SimpleTypeResolveContext(context.Function.Method))) + return (null, SpecialType.UnknownType); + bool isQuotedLambda = instruction.Parent is CallInstruction call && call.Method.FullName == "System.Linq.Expressions.Expression.Quote"; + var container = new BlockContainer(); + var functionType = instruction.Method.ReturnType.TypeArguments[0]; + var function = new ILFunction(functionType.GetDelegateInvokeMethod()?.ReturnType, parameterList, container); + if (isQuotedLambda || lambdaStack.Count == 0) + function.DelegateType = instruction.Method.ReturnType; + else + function.DelegateType = functionType; + function.Variables.AddRange(parameterVariablesList); + lambdaStack.Push(function); + var (bodyInstruction, type) = ConvertInstruction(instruction.Arguments[0]); + lambdaStack.Pop(); + if (bodyInstruction == null) + return (null, SpecialType.UnknownType); + container.ExpectedResultType = bodyInstruction.ResultType; + container.Blocks.Add(new Block() { Instructions = { new Leave(container, bodyInstruction) } }); + return (function, function.DelegateType); + } + + bool ReadParameters(ILInstruction initializer, IList parameters, IList parameterVariables, ITypeResolveContext resolveContext) + { + if (!context.Function.Method.IsStatic) { + var thisParam = context.Function.Variables[0]; + parameterVariables.Add(new ILVariable(VariableKind.Parameter, thisParam.Type, -1) { Name = "this" }); + } + switch (initializer) { + case Block initializerBlock: + if (initializerBlock.Kind != BlockKind.ArrayInitializer) + return false; + int i = 0; + foreach (var inst in initializerBlock.Instructions.OfType()) { + if (i >= this.parameters.Count) + return false; + if (!inst.Value.MatchLdLoc(out var v)) + return false; + if (!this.parameters.TryGetValue(v, out var value)) + return false; + var param = new ILVariable(VariableKind.Parameter, value.Item1, i) { Name = value.Item2 }; + parameterMapping.Add(v, param); + parameterVariables.Add(param); + parameters.Add(new DefaultUnresolvedParameter(value.Item1.ToTypeReference(), value.Item2).CreateResolvedParameter(resolveContext)); + instructionsToRemove.Add((ILInstruction)v.StoreInstructions[0]); + i++; + } + return true; + default: + return IsEmptyParameterList(initializer); + } + } + + (ILInstruction, IType) ConvertInstruction(ILInstruction instruction) + { + var result = Convert(); + if (result.Item1 != null) { + Debug.Assert(result.Item2 != null, "IType must be non-null!"); + Debug.Assert(result.Item1.ResultType == result.Item2.GetStackType(), "StackTypes must match!"); + } + return result; + + (ILInstruction, IType) Convert() { + switch (instruction) { + case CallInstruction invocation: + if (invocation.Method.DeclaringType.FullName != "System.Linq.Expressions.Expression") + return (null, SpecialType.UnknownType); + + switch (invocation.Method.Name) { + case "Add": + return ConvertBinaryNumericOperator(invocation, BinaryNumericOperator.Add, false); + case "AddChecked": + return ConvertBinaryNumericOperator(invocation, BinaryNumericOperator.Add, true); + case "And": + return ConvertBinaryNumericOperator(invocation, BinaryNumericOperator.BitAnd); + case "AndAlso": + return ConvertLogicOperator(invocation, true); + case "ArrayAccess": + case "ArrayIndex": + return ConvertArrayIndex(invocation); + case "ArrayLength": + return ConvertArrayLength(invocation); + case "Call": + return ConvertCall(invocation); + case "Coalesce": + return ConvertCoalesce(invocation); + case "Condition": + return ConvertCondition(invocation); + case "Constant": + return ConvertConstant(invocation); + case "Convert": + return ConvertCast(invocation, false); + case "ConvertChecked": + return ConvertCast(invocation, true); + case "Divide": + return ConvertBinaryNumericOperator(invocation, BinaryNumericOperator.Div); + case "Equal": + return ConvertComparison(invocation, ComparisonKind.Equality); + case "ExclusiveOr": + return ConvertBinaryNumericOperator(invocation, BinaryNumericOperator.BitXor); + case "Field": + return ConvertField(invocation); + case "GreaterThan": + return ConvertComparison(invocation, ComparisonKind.GreaterThan); + case "GreaterThanOrEqual": + return ConvertComparison(invocation, ComparisonKind.GreaterThanOrEqual); + case "Invoke": + return ConvertInvoke(invocation); + case "Lambda": + return ConvertLambda(invocation); + case "LeftShift": + return ConvertBinaryNumericOperator(invocation, BinaryNumericOperator.ShiftLeft); + case "LessThan": + return ConvertComparison(invocation, ComparisonKind.LessThan); + case "LessThanOrEqual": + return ConvertComparison(invocation, ComparisonKind.LessThanOrEqual); + case "ListInit": + return ConvertListInit(invocation); + case "MemberInit": + return ConvertMemberInit(invocation); + case "Modulo": + return ConvertBinaryNumericOperator(invocation, BinaryNumericOperator.Rem); + case "Multiply": + return ConvertBinaryNumericOperator(invocation, BinaryNumericOperator.Mul, false); + case "MultiplyChecked": + return ConvertBinaryNumericOperator(invocation, BinaryNumericOperator.Mul, true); + case "Negate": + return ConvertUnaryNumericOperator(invocation, BinaryNumericOperator.Sub, false); + case "NegateChecked": + return ConvertUnaryNumericOperator(invocation, BinaryNumericOperator.Sub, true); + case "New": + return ConvertNewObject(invocation); + case "NewArrayBounds": + return ConvertNewArrayBounds(invocation); + case "NewArrayInit": + return ConvertNewArrayInit(invocation); + case "Not": + return ConvertNotOperator(invocation); + case "NotEqual": + return ConvertComparison(invocation, ComparisonKind.Inequality); + case "OnesComplement": + return ConvertNotOperator(invocation); + case "Or": + return ConvertBinaryNumericOperator(invocation, BinaryNumericOperator.BitOr); + case "OrElse": + return ConvertLogicOperator(invocation, false); + case "Property": + return ConvertProperty(invocation); + case "Quote": + if (invocation.Arguments.Count == 1) + return ConvertInstruction(invocation.Arguments.Single()); + else + return (null, SpecialType.UnknownType); + case "RightShift": + return ConvertBinaryNumericOperator(invocation, BinaryNumericOperator.ShiftRight); + case "Subtract": + return ConvertBinaryNumericOperator(invocation, BinaryNumericOperator.Sub, false); + case "SubtractChecked": + return ConvertBinaryNumericOperator(invocation, BinaryNumericOperator.Sub, true); + case "TypeAs": + return ConvertTypeAs(invocation); + case "TypeIs": + return ConvertTypeIs(invocation); + } + return (null, SpecialType.UnknownType); + case ILFunction function: + if (function.IsExpressionTree) { + function.DelegateType = UnwrapExpressionTree(function.DelegateType); + } + return (function, function.DelegateType); + case LdLoc ldloc: + if (IsExpressionTreeParameter(ldloc.Variable)) { + if (!parameterMapping.TryGetValue(ldloc.Variable, out var v)) + return (null, SpecialType.UnknownType); + return (new LdLoc(v), v.Type); + } + return (null, SpecialType.UnknownType); + default: + return (null, SpecialType.UnknownType); + } + } + } + + IType UnwrapExpressionTree(IType delegateType) + { + if (delegateType is ParameterizedType pt && pt.FullName == "System.Linq.Expressions.Expression" && pt.TypeArguments.Count == 1) { + return pt.TypeArguments[0]; + } + return delegateType; + } + + (ILInstruction, IType) ConvertArrayIndex(CallInstruction invocation) + { + if (invocation.Arguments.Count != 2) + return (null, SpecialType.UnknownType); + var (array, arrayType) = ConvertInstruction(invocation.Arguments[0]); + if (array == null) + return (null, SpecialType.UnknownType); + if (!(arrayType is ArrayType type)) + return (null, SpecialType.UnknownType); + if (!MatchArgumentList(invocation.Arguments[1], out var arguments)) + arguments = new[] { invocation.Arguments[1] }; + for (int i = 0; i < arguments.Count; i++) { + var (converted, indexType) = ConvertInstruction(arguments[i]); + if (converted == null) + return (null, SpecialType.UnknownType); + arguments[i] = converted; + } + return (new LdObj(new LdElema(type.ElementType, array, arguments.ToArray()), type.ElementType), type.ElementType); + } + + (ILInstruction, IType) ConvertArrayLength(CallInstruction invocation) + { + if (invocation.Arguments.Count != 1) + return (null, SpecialType.UnknownType); + var (converted, arrayType) = ConvertInstruction(invocation.Arguments[0]); + if (converted == null) + return (null, SpecialType.UnknownType); + return (new LdLen(StackType.I4, converted), context.TypeSystem.Compilation.FindType(KnownTypeCode.Int32)); + } + + (ILInstruction, IType) ConvertBinaryNumericOperator(CallInstruction invocation, BinaryNumericOperator op, bool? isChecked = null) + { + if (invocation.Arguments.Count < 2) + return (null, SpecialType.UnknownType); + var (left, leftType) = ConvertInstruction(invocation.Arguments[0]); + if (left == null) + return (null, SpecialType.UnknownType); + var (right, rightType) = ConvertInstruction(invocation.Arguments[1]); + if (right == null) + return (null, SpecialType.UnknownType); + IMember method; + switch (invocation.Arguments.Count) { + case 2: + if (op == BinaryNumericOperator.ShiftLeft || op == BinaryNumericOperator.ShiftRight) { + if (!rightType.IsKnownType(KnownTypeCode.Int32)) + return (null, SpecialType.UnknownType); + } else { + if (!rightType.Equals(leftType)) + return (null, SpecialType.UnknownType); + } + return (new BinaryNumericInstruction(op, left, right, isChecked == true, leftType.GetSign()), leftType); + case 3: + if (!MatchGetMethodFromHandle(invocation.Arguments[2], out method)) + return (null, SpecialType.UnknownType); + return (new Call((IMethod)method) { + Arguments = { left, right } + }, method.ReturnType); + case 4: + if (!invocation.Arguments[2].MatchLdcI4(out var isLifted)) + return (null, SpecialType.UnknownType); + if (!MatchGetMethodFromHandle(invocation.Arguments[3], out method)) + return (null, SpecialType.UnknownType); + if (isLifted != 0) + method = CSharpOperators.LiftUserDefinedOperator((IMethod)method); + return (new Call((IMethod)method) { + Arguments = { left, right } + }, method.ReturnType); + default: + return (null, SpecialType.UnknownType); + } + } + + (ILInstruction, IType) ConvertBind(CallInstruction invocation, ILVariable targetVariable) + { + if (invocation.Arguments.Count != 2) + return (null, SpecialType.UnknownType); + var (value, typeValue) = ConvertInstruction(invocation.Arguments[1]); + if (value == null) + return (null, SpecialType.UnknownType); + if (MatchGetMethodFromHandle(invocation.Arguments[0], out var member)) { + } else if (MatchGetFieldFromHandle(invocation.Arguments[0], out member)) { + } else { + return (null, SpecialType.UnknownType); + } + switch (member) { + case IMethod method: + return (new Call(method) { Arguments = { new LdLoc(targetVariable), value } }, method.ReturnType); + case IField field: + return (new StObj(new LdFlda(new LdLoc(targetVariable), (IField)member), value, member.ReturnType), field.ReturnType); + } + return (null, SpecialType.UnknownType); + } + + (ILInstruction, IType) ConvertCall(CallInstruction invocation) + { + if (invocation.Arguments.Count < 2) + return (null, SpecialType.UnknownType); + IList arguments = null; + ILInstruction target = null; + if (MatchGetMethodFromHandle(invocation.Arguments[0], out var member)) { + // static method + if (invocation.Arguments.Count != 2 || !MatchArgumentList(invocation.Arguments[1], out arguments)) { + arguments = new List(invocation.Arguments.Skip(1)); + } + } else if (MatchGetMethodFromHandle(invocation.Arguments[1], out member)) { + if (invocation.Arguments.Count != 3 || !MatchArgumentList(invocation.Arguments[2], out arguments)) { + arguments = new List(invocation.Arguments.Skip(2)); + } + if (!invocation.Arguments[0].MatchLdNull()) { + IType targetType; + (target, targetType) = ConvertInstruction(invocation.Arguments[0]); + if (target == null) + return (null, SpecialType.UnknownType); + if (targetType.IsReferenceType == false) { + target = new AddressOf(target); + } + } + } + if (arguments == null) + return (null, SpecialType.UnknownType); + // TODO : do we need the types here? + arguments = arguments.Select(i => ConvertInstruction(i).Item1).ToArray(); + if (arguments.Any(p => p == null)) + return (null, SpecialType.UnknownType); + IMethod method = (IMethod)member; + if (method.FullName == "System.Reflection.MethodInfo.CreateDelegate" && method.Parameters.Count == 2) { + if (!MatchGetMethodFromHandle(target, out var targetMethod)) + return (null, SpecialType.UnknownType); + if (!MatchGetTypeFromHandle(arguments[0], out var delegateType)) + return (null, SpecialType.UnknownType); + return (new NewObj(delegateType.GetConstructors().Single()) { + Arguments = { arguments[1], new LdFtn((IMethod)targetMethod) } + }, delegateType); + } + CallInstruction call; + if (method.IsAbstract || method.IsVirtual || method.IsOverridable) { + call = new CallVirt(method); + } else { + call = new Call(method); + } + if (target != null) + call.Arguments.Add(target); + call.Arguments.AddRange(arguments); + return (call, method.ReturnType); + } + + (ILInstruction, IType) ConvertCast(CallInstruction invocation, bool isChecked) + { + if (invocation.Arguments.Count < 2) + return (null, SpecialType.UnknownType); + if (!MatchGetTypeFromHandle(invocation.Arguments[1], out var targetType)) + return (null, SpecialType.UnknownType); + var (expr, exprType) = ConvertInstruction(invocation.Arguments[0]); + if (expr == null) + return (null, SpecialType.UnknownType); + if (exprType.IsSmallIntegerType() && targetType.IsKnownType(KnownTypeCode.Int32)) + return (expr, targetType); + return (new ExpressionTreeCast(targetType, expr, isChecked), targetType); + } + + (ILInstruction, IType) ConvertCoalesce(CallInstruction invocation) + { + if (invocation.Arguments.Count != 2) + return (null, SpecialType.UnknownType); + var (trueInst, trueInstType) = ConvertInstruction(invocation.Arguments[0]); + if (trueInst == null) + return (null, SpecialType.UnknownType); + var (fallbackInst, fallbackInstType) = ConvertInstruction(invocation.Arguments[1]); + if (fallbackInst == null) + return (null, SpecialType.UnknownType); + var kind = NullCoalescingKind.Ref; + var trueInstTypeNonNullable = NullableType.GetUnderlyingType(trueInstType); + IType targetType; + if (NullableType.IsNullable(trueInstType) && conversions.ImplicitConversion(fallbackInstType, trueInstTypeNonNullable).IsValid) { + targetType = trueInstTypeNonNullable; + kind = NullableType.IsNullable(fallbackInstType) ? NullCoalescingKind.Nullable : NullCoalescingKind.NullableWithValueFallback; + } else if (conversions.ImplicitConversion(fallbackInstType, trueInstType).IsValid) { + targetType = trueInstType; + } else { + targetType = fallbackInstType; + } + return (new NullCoalescingInstruction(kind, trueInst, fallbackInst), targetType); + } + + (ILInstruction, IType) ConvertComparison(CallInstruction invocation, ComparisonKind kind) + { + if (invocation.Arguments.Count < 2) + return (null, SpecialType.UnknownType); + var (left, leftType) = ConvertInstruction(invocation.Arguments[0]); + if (left == null) + return (null, SpecialType.UnknownType); + var (right, rightType) = ConvertInstruction(invocation.Arguments[1]); + if (right == null) + return (null, SpecialType.UnknownType); + if (invocation.Arguments.Count == 4 && invocation.Arguments[2].MatchLdcI4(out var isLifted) && MatchGetMethodFromHandle(invocation.Arguments[3], out var method)) { + if (isLifted != 0) { + method = CSharpOperators.LiftUserDefinedOperator((IMethod)method); + } + return (new Call((IMethod)method) { Arguments = { left, right } }, method.ReturnType); + } + var rr = resolver.ResolveBinaryOperator(kind.ToBinaryOperatorType(), new ResolveResult(leftType), new ResolveResult(rightType)) as OperatorResolveResult; + if (rr != null && !rr.IsError && rr.UserDefinedOperatorMethod != null) { + return (new Call(rr.UserDefinedOperatorMethod) { Arguments = { left, right } }, rr.UserDefinedOperatorMethod.ReturnType); + } + if (leftType.IsKnownType(KnownTypeCode.String) && rightType.IsKnownType(KnownTypeCode.String)) { + IMethod operatorMethod; + switch (kind) { + case ComparisonKind.Equality: + operatorMethod = leftType.GetMethods(m => m.IsOperator && m.Name == "op_Equality" && m.Parameters.Count == 2).FirstOrDefault(m => m.Parameters[0].Type.IsKnownType(KnownTypeCode.String) && m.Parameters[1].Type.IsKnownType(KnownTypeCode.String)); + if (operatorMethod == null) + return (null, SpecialType.UnknownType); + break; + case ComparisonKind.Inequality: + operatorMethod = leftType.GetMethods(m => m.IsOperator && m.Name == "op_Inequality" && m.Parameters.Count == 2).FirstOrDefault(m => m.Parameters[0].Type.IsKnownType(KnownTypeCode.String) && m.Parameters[1].Type.IsKnownType(KnownTypeCode.String)); + if (operatorMethod == null) + return (null, SpecialType.UnknownType); + break; + default: + return (null, SpecialType.UnknownType); + } + return (new Call(operatorMethod) { Arguments = { left, right } }, operatorMethod.ReturnType); + } + var resultType = context.TypeSystem.Compilation.FindType(KnownTypeCode.Boolean); + return (new Comp(kind, NullableType.IsNullable(leftType) ? ComparisonLiftingKind.CSharp : ComparisonLiftingKind.None, leftType.GetStackType(), leftType.GetSign(), left, right), resultType); + } + + (ILInstruction, IType) ConvertCondition(CallInstruction invocation) + { + if (invocation.Arguments.Count != 3) + return (null, SpecialType.UnknownType); + var (condition, conditionType) = ConvertInstruction(invocation.Arguments[0]); + if (condition == null || !conditionType.IsKnownType(KnownTypeCode.Boolean)) + return (null, SpecialType.UnknownType); + var (trueInst, trueInstType) = ConvertInstruction(invocation.Arguments[1]); + if (trueInst == null) + return (null, SpecialType.UnknownType); + var (falseInst, falseInstType) = ConvertInstruction(invocation.Arguments[2]); + if (falseInst == null) + return (null, SpecialType.UnknownType); + if (!trueInstType.Equals(falseInstType)) + return (null, SpecialType.UnknownType); + return (new IfInstruction(condition, trueInst, falseInst), trueInstType); + } + + (ILInstruction, IType) ConvertConstant(CallInstruction invocation) + { + if (!MatchConstantCall(invocation, out var value, out var type)) + return (null, SpecialType.UnknownType); + if (value.MatchBox(out var arg, out var boxType)) { + if (boxType.Kind == TypeKind.Enum || boxType.IsKnownType(KnownTypeCode.Boolean)) + return (new ExpressionTreeCast(boxType, ConvertValue(arg, invocation), false), boxType); + value = ConvertValue(arg, invocation); + return (value, type); + } + return (ConvertValue(value, invocation), type); + } + + (ILInstruction, IType) ConvertElementInit(CallInstruction invocation) + { + if (invocation.Arguments.Count != 2) + return (null, SpecialType.UnknownType); + if (!MatchGetMethodFromHandle(invocation.Arguments[0], out var member)) + return (null, SpecialType.UnknownType); + if (!MatchArgumentList(invocation.Arguments[1], out var arguments)) + return (null, SpecialType.UnknownType); + CallInstruction call = new Call((IMethod)member); + for (int i = 0; i < arguments.Count; i++) { + ILInstruction arg = ConvertInstruction(arguments[i]).Item1; + if (arg == null) + return (null, SpecialType.UnknownType); + arguments[i] = arg; + } + call.Arguments.AddRange(arguments); + return (call, member.ReturnType); + } + + (ILInstruction, IType) ConvertField(CallInstruction invocation) + { + if (invocation.Arguments.Count != 2) + return (null, SpecialType.UnknownType); + ILInstruction target = null; + if (!invocation.Arguments[0].MatchLdNull()) { + target = ConvertInstruction(invocation.Arguments[0]).Item1; + if (target == null) + return (null, SpecialType.UnknownType); + } + if (!MatchGetFieldFromHandle(invocation.Arguments[1], out var member)) + return (null, SpecialType.UnknownType); + if (target == null) { + return (new LdObj(new LdsFlda((IField)member), member.ReturnType), member.ReturnType); + } else { + return (new LdObj(new LdFlda(target, (IField)member), member.ReturnType), member.ReturnType); + } + } + + (ILInstruction, IType) ConvertInvoke(CallInstruction invocation) + { + if (invocation.Arguments.Count != 2) + return (null, SpecialType.UnknownType); + var (target, targetType) = ConvertInstruction(invocation.Arguments[0]); + if (target == null) + return (null, SpecialType.UnknownType); + var invokeMethod = targetType.GetDelegateInvokeMethod(); + if (invokeMethod == null) + return (null, SpecialType.UnknownType); + if (!MatchArgumentList(invocation.Arguments[1], out var arguments)) + return (null, SpecialType.UnknownType); + for (int i = 0; i < arguments.Count; i++) { + var arg = ConvertInstruction(arguments[i]).Item1; + if (arg == null) + return (null, SpecialType.UnknownType); + arguments[i] = arg; + } + var call = new Call(invokeMethod); + call.Arguments.Add(target); + call.Arguments.AddRange(arguments); + return (call, invokeMethod.ReturnType); + } + + (ILInstruction, IType) ConvertListInit(CallInstruction invocation) + { + if (invocation.Arguments.Count < 2) + return (null, SpecialType.UnknownType); + var newObj = ConvertInstruction(invocation.Arguments[0]).Item1 as NewObj; + if (newObj == null) + return (null, SpecialType.UnknownType); + IList arguments = null; + ILFunction function = lambdaStack.Peek(); + if (!MatchGetMethodFromHandle(invocation.Arguments[1], out var member)) { + if (!MatchArgumentList(invocation.Arguments[1], out arguments)) + return (null, SpecialType.UnknownType); + } else { + if (invocation.Arguments.Count != 3 || !MatchArgumentList(invocation.Arguments[2], out arguments)) + return (null, SpecialType.UnknownType); + } + if (arguments == null || arguments.Count == 0) + return (null, SpecialType.UnknownType); + var initializer = function.RegisterVariable(VariableKind.InitializerTarget, newObj.Method.DeclaringType); + for (int i = 0; i < arguments.Count; i++) { + ILInstruction arg; + if (arguments[i] is CallInstruction elementInit && elementInit.Method.FullName == "System.Linq.Expressions.Expression.ElementInit") { + arg = ConvertElementInit(elementInit).Item1; + if (arg == null) + return (null, SpecialType.UnknownType); + ((CallInstruction)arg).Arguments.Insert(0, new LdLoc(initializer)); + } else { + arg = ConvertInstruction(arguments[i]).Item1; + if (arg == null) + return (null, SpecialType.UnknownType); + } + arguments[i] = arg; + } + var initializerBlock = new Block(BlockKind.CollectionInitializer); + initializerBlock.FinalInstruction = new LdLoc(initializer); + initializerBlock.Instructions.Add(new StLoc(initializer, newObj)); + initializerBlock.Instructions.AddRange(arguments); + return (initializerBlock, initializer.Type); + } + + (ILInstruction, IType) ConvertLogicOperator(CallInstruction invocation, bool and) + { + if (invocation.Arguments.Count < 2) + return (null, SpecialType.UnknownType); + var (left, leftType) = ConvertInstruction(invocation.Arguments[0]); + if (left == null) + return (null, SpecialType.UnknownType); + var (right, rightType) = ConvertInstruction(invocation.Arguments[1]); + if (right == null) + return (null, SpecialType.UnknownType); + IMember method; + switch (invocation.Arguments.Count) { + case 2: + var resultType = context.TypeSystem.Compilation.FindType(KnownTypeCode.Boolean); + return (and ? IfInstruction.LogicAnd(left, right) : IfInstruction.LogicOr(left, right), resultType); + case 3: + if (!MatchGetMethodFromHandle(invocation.Arguments[2], out method)) + return (null, SpecialType.UnknownType); + return (new Call((IMethod)method) { + Arguments = { left, right } + }, method.ReturnType); + case 4: + if (!invocation.Arguments[2].MatchLdcI4(out var isLifted)) + return (null, SpecialType.UnknownType); + if (!MatchGetMethodFromHandle(invocation.Arguments[3], out method)) + return (null, SpecialType.UnknownType); + if (isLifted != 0) + method = CSharpOperators.LiftUserDefinedOperator((IMethod)method); + return (new Call((IMethod)method) { + Arguments = { left, right } + }, method.ReturnType); + default: + return (null, SpecialType.UnknownType); + } + } + + (ILInstruction, IType) ConvertMemberInit(CallInstruction invocation) + { + if (invocation.Arguments.Count != 2) + return (null, SpecialType.UnknownType); + var newObj = ConvertInstruction(invocation.Arguments[0]).Item1 as NewObj; + if (newObj == null) + return (null, SpecialType.UnknownType); + if (!MatchArgumentList(invocation.Arguments[1], out var arguments)) + return (null, SpecialType.UnknownType); + if (arguments == null || arguments.Count == 0) + return (null, SpecialType.UnknownType); + var function = lambdaStack.Peek(); + var initializer = function.RegisterVariable(VariableKind.InitializerTarget, newObj.Method.DeclaringType); + for (int i = 0; i < arguments.Count; i++) { + ILInstruction arg; + if (arguments[i] is CallInstruction bind && bind.Method.FullName == "System.Linq.Expressions.Expression.Bind") { + arg = ConvertBind(bind, initializer).Item1; + if (arg == null) + return (null, SpecialType.UnknownType); + } else { + return (null, SpecialType.UnknownType); + } + arguments[i] = arg; + } + var initializerBlock = new Block(BlockKind.CollectionInitializer); + initializerBlock.FinalInstruction = new LdLoc(initializer); + initializerBlock.Instructions.Add(new StLoc(initializer, newObj)); + initializerBlock.Instructions.AddRange(arguments); + return (initializerBlock, initializer.Type); + } + + (ILInstruction, IType) ConvertNewArrayBounds(CallInstruction invocation) + { + if (invocation.Arguments.Count != 2) + return (null, SpecialType.UnknownType); + if (!MatchGetTypeFromHandle(invocation.Arguments[0], out var type)) + return (null, SpecialType.UnknownType); + if (!MatchArgumentList(invocation.Arguments[1], out var arguments)) + return (null, SpecialType.UnknownType); + if (arguments.Count == 0) + return (null, SpecialType.UnknownType); + var indices = new ILInstruction[arguments.Count]; + for (int i = 0; i < arguments.Count; i++) { + var index = ConvertInstruction(arguments[i]).Item1; + if (index == null) + return (null, SpecialType.UnknownType); + indices[i] = index; + } + return (new NewArr(type, indices), new ArrayType(context.TypeSystem.Compilation, type, arguments.Count)); + } + + (ILInstruction, IType) ConvertNewArrayInit(CallInstruction invocation) + { + if (invocation.Arguments.Count != 2) + return (null, SpecialType.UnknownType); + if (!MatchGetTypeFromHandle(invocation.Arguments[0], out var type)) + return (null, SpecialType.UnknownType); + if (!MatchArgumentList(invocation.Arguments[1], out var arguments)) + return (null, SpecialType.UnknownType); + if (arguments.Count == 0) + return (null, SpecialType.UnknownType); + var block = (Block)invocation.Arguments[1]; + var function = lambdaStack.Peek(); + var variable = function.RegisterVariable(VariableKind.InitializerTarget, new ArrayType(context.BlockContext.TypeSystem.Compilation, type)); + Block initializer = new Block(BlockKind.ArrayInitializer); + int i = 0; + initializer.Instructions.Add(new StLoc(variable, new NewArr(type, new LdcI4(arguments.Count)))); + foreach (var item in arguments) { + var value = ConvertInstruction(item).Item1; + if (value == null) + return (null, SpecialType.UnknownType); + initializer.Instructions.Add(new StObj(new LdElema(type, new LdLoc(variable), new LdcI4(i)), value, type)); + } + initializer.FinalInstruction = new LdLoc(variable); + return (initializer, variable.Type); + } + + (ILInstruction, IType) ConvertNewObject(CallInstruction invocation) + { + IMember member; + IList arguments; + NewObj newObj; + switch (invocation.Arguments.Count) { + case 1: + if (MatchGetTypeFromHandle(invocation.Arguments[0], out var type)) { + var ctor = type.GetConstructors(c => c.Parameters.Count == 0).FirstOrDefault(); + if (ctor == null) + return (null, SpecialType.UnknownType); + return (new NewObj(ctor), type); + } + if (MatchGetConstructorFromHandle(invocation.Arguments[0], out member)) { + return (new NewObj((IMethod)member), member.DeclaringType); + } + return (null, SpecialType.UnknownType); + case 2: + if (!MatchGetConstructorFromHandle(invocation.Arguments[0], out member)) + return (null, SpecialType.UnknownType); + if (!MatchArgumentList(invocation.Arguments[1], out arguments)) + return (null, SpecialType.UnknownType); + var args = arguments.SelectArray(arg => ConvertInstruction(arg).Item1); + if (args.Any(a => a == null)) + return (null, SpecialType.UnknownType); + newObj = new NewObj((IMethod)member); + newObj.Arguments.AddRange(args); + return (newObj, member.DeclaringType); + case 3: + if (!MatchGetConstructorFromHandle(invocation.Arguments[0], out member)) + return (null, SpecialType.UnknownType); + if (!MatchArgumentList(invocation.Arguments[1], out arguments)) + return (null, SpecialType.UnknownType); + var args2 = arguments.SelectArray(arg => ConvertInstruction(arg).Item1); + if (args2.Any(a => a == null)) + return (null, SpecialType.UnknownType); + newObj = new NewObj((IMethod)member); + newObj.Arguments.AddRange(args2); + return (newObj, member.DeclaringType); + } + return (null, SpecialType.UnknownType); + } + + (ILInstruction, IType) ConvertNotOperator(CallInstruction invocation) + { + if (invocation.Arguments.Count < 1) + return (null, SpecialType.UnknownType); + var (argument, argumentType) = ConvertInstruction(invocation.Arguments[0]); + if (argument == null) + return (null, SpecialType.UnknownType); + switch (invocation.Arguments.Count) { + case 1: + return (argumentType.IsKnownType(KnownTypeCode.Boolean) ? Comp.LogicNot(argument) : (ILInstruction)new BitNot(argument), argumentType); + case 2: + if (!MatchGetMethodFromHandle(invocation.Arguments[1], out var method)) + return (null, SpecialType.UnknownType); + return (new Call((IMethod)method) { + Arguments = { argument } + }, method.ReturnType); + default: + return (null, SpecialType.UnknownType); + } + } + + (ILInstruction, IType) ConvertProperty(CallInstruction invocation) + { + if (invocation.Arguments.Count < 2) + return (null, SpecialType.UnknownType); + ILInstruction target = null; + if (!invocation.Arguments[0].MatchLdNull()) { + target = ConvertInstruction(invocation.Arguments[0]).Item1; + if (target == null) + return (null, SpecialType.UnknownType); + } + if (!MatchGetMethodFromHandle(invocation.Arguments[1], out var member)) + return (null, SpecialType.UnknownType); + IList arguments; + if (invocation.Arguments.Count != 3 || !MatchArgumentList(invocation.Arguments[2], out arguments)) { + arguments = new List(); + } else { + for (int i = 0; i < arguments.Count; i++) { + arguments[i] = ConvertInstruction(arguments[i]).Item1; + if (arguments[i] == null) + return (null, SpecialType.UnknownType); + } + } + if (target != null) { + arguments.Insert(0, target); + } + CallInstruction call; + if (member.IsAbstract || member.IsVirtual || member.IsOverridable) { + call = new CallVirt((IMethod)member); + } else { + call = new Call((IMethod)member); + } + call.Arguments.AddRange(arguments); + return (call, member.ReturnType); + } + + (ILInstruction, IType) ConvertTypeAs(CallInstruction invocation) + { + if (invocation.Arguments.Count != 2) + return (null, SpecialType.UnknownType); + var converted = ConvertInstruction(invocation.Arguments[0]).Item1; + if (!MatchGetTypeFromHandle(invocation.Arguments[1], out var type)) + return (null, SpecialType.UnknownType); + if (converted != null) + return (new IsInst(converted, type), type); + return (null, SpecialType.UnknownType); + } + + (ILInstruction, IType) ConvertTypeIs(CallInstruction invocation) + { + if (invocation.Arguments.Count != 2) + return (null, SpecialType.UnknownType); + var converted = ConvertInstruction(invocation.Arguments[0]).Item1; + if (!MatchGetTypeFromHandle(invocation.Arguments[1], out var type)) + return (null, SpecialType.UnknownType); + var resultType = context.TypeSystem.Compilation.FindType(KnownTypeCode.Boolean); + if (converted != null) + return (new Comp(ComparisonKind.Inequality, Sign.None, new IsInst(converted, type), new LdNull()), resultType); + return (null, SpecialType.UnknownType); + } + + (ILInstruction, IType) ConvertUnaryNumericOperator(CallInstruction invocation, BinaryNumericOperator op, bool? isChecked = null) + { + if (invocation.Arguments.Count < 1) + return (null, SpecialType.UnknownType); + var (argument, argumentType) = ConvertInstruction(invocation.Arguments[0]); + if (argument == null) + return (null, SpecialType.UnknownType); + switch (invocation.Arguments.Count) { + case 1: + ILInstruction left; + switch (argument.ResultType) { + case StackType.I4: + left = new LdcI4(0); + break; + case StackType.I8: + left = new LdcI8(0); + break; + case StackType.I: + left = new Conv(new LdcI4(0), PrimitiveType.I, false, Sign.None); + break; + case StackType.F: + left = new LdcF(0); + break; + default: + return (null, SpecialType.UnknownType); + } + return (new BinaryNumericInstruction(op, left, argument, isChecked == true, argumentType.GetSign()), argumentType); + case 2: + if (!MatchGetMethodFromHandle(invocation.Arguments[1], out var method)) + return (null, SpecialType.UnknownType); + return (new Call((IMethod)method) { + Arguments = { argument } + }, method.ReturnType); + } + return (null, SpecialType.UnknownType); + } + + ILInstruction ConvertValue(ILInstruction value, ILInstruction context) + { + switch (value) { + case LdLoc ldloc: + if (IsExpressionTreeParameter(ldloc.Variable)) { + if (!parameterMapping.TryGetValue(ldloc.Variable, out var v)) + return null; + if (context is CallInstruction parentCall + && parentCall.Method.FullName == "System.Linq.Expressions.Expression.Call" + && v.StackType.IsIntegerType()) + return new LdLoca(v); + return null; + } else { + if (ldloc.Variable.Kind != VariableKind.StackSlot) + return new LdLoc(ldloc.Variable); + return null; + } + default: + return value.Clone(); + } + } + + bool IsExpressionTreeParameter(ILVariable variable) + { + return variable.Type.FullName == "System.Linq.Expressions.ParameterExpression"; + } + + bool MatchConstantCall(ILInstruction inst, out ILInstruction value, out IType type) + { + value = null; + type = null; + if (inst is CallInstruction call && call.Method.FullName == "System.Linq.Expressions.Expression.Constant") { + value = call.Arguments[0]; + if (call.Arguments.Count == 2) + return MatchGetTypeFromHandle(call.Arguments[1], out type); + type = value.InferType(); + return true; + } + return false; + } + + bool MatchGetTypeFromHandle(ILInstruction inst, out IType type) + { + type = null; + return inst is CallInstruction getTypeCall + && getTypeCall.Method.FullName == "System.Type.GetTypeFromHandle" + && getTypeCall.Arguments.Count == 1 + && getTypeCall.Arguments[0].MatchLdTypeToken(out type); + } + + bool MatchGetMethodFromHandle(ILInstruction inst, out IMember member) + { + member = null; + //castclass System.Reflection.MethodInfo(call GetMethodFromHandle(ldmembertoken op_Addition)) + if (!inst.MatchCastClass(out var arg, out var type)) + return false; + if (!type.Equals(context.TypeSystem.Compilation.FindType(new FullTypeName("System.Reflection.MethodInfo")))) + return false; + if (!(arg is CallInstruction call && call.Method.FullName == "System.Reflection.MethodBase.GetMethodFromHandle")) + return false; + switch (call.Arguments.Count) { + case 1: + if (!call.Arguments[0].MatchLdMemberToken(out member)) + return false; + break; + case 2: + if (!call.Arguments[0].MatchLdMemberToken(out member)) + return false; + if (!call.Arguments[1].MatchLdTypeToken(out var genericType)) + return false; + break; + } + return true; + } + + bool MatchGetConstructorFromHandle(ILInstruction inst, out IMember member) + { + member = null; + //castclass System.Reflection.ConstructorInfo(call GetMethodFromHandle(ldmembertoken op_Addition)) + if (!inst.MatchCastClass(out var arg, out var type)) + return false; + if (!type.Equals(context.TypeSystem.Compilation.FindType(new FullTypeName("System.Reflection.ConstructorInfo")))) + return false; + if (!(arg is CallInstruction call && call.Method.FullName == "System.Reflection.MethodBase.GetMethodFromHandle")) + return false; + switch (call.Arguments.Count) { + case 1: + if (!call.Arguments[0].MatchLdMemberToken(out member)) + return false; + break; + case 2: + if (!call.Arguments[0].MatchLdMemberToken(out member)) + return false; + if (!call.Arguments[1].MatchLdTypeToken(out var genericType)) + return false; + break; + } + return true; + } + + bool MatchGetFieldFromHandle(ILInstruction inst, out IMember member) + { + member = null; + if (!(inst is CallInstruction call && call.Method.FullName == "System.Reflection.FieldInfo.GetFieldFromHandle")) + return false; + switch (call.Arguments.Count) { + case 1: + if (!call.Arguments[0].MatchLdMemberToken(out member)) + return false; + break; + case 2: + if (!call.Arguments[0].MatchLdMemberToken(out member)) + return false; + if (!call.Arguments[1].MatchLdTypeToken(out var genericType)) + return false; + break; + } + return true; + } + + bool MatchArgumentList(ILInstruction inst, out IList arguments) + { + arguments = null; + if (!(inst is Block block && block.Kind == BlockKind.ArrayInitializer)) { + if (IsEmptyParameterList(inst)) { + arguments = new List(); + return true; + } + return false; + } + int i = 0; + arguments = new List(); + foreach (var item in block.Instructions.OfType()) { + if (!(item.Target is LdElema ldelem && ldelem.Indices.Single().MatchLdcI4(i))) + return false; + arguments.Add(item.Value); + i++; + } + return true; + } + } +}