From 29a2d3ec340341d0706104a2a07319b237d57510 Mon Sep 17 00:00:00 2001 From: Siegfried Pammer Date: Tue, 21 Nov 2017 15:54:56 +0100 Subject: [PATCH 01/17] Refactoring of ILFunction: allow Method and CecilMethod to be null for expression trees. --- .../CSharp/ExpressionBuilder.cs | 14 +++++++------- .../CSharp/StatementBuilder.cs | 12 ++++++------ .../IL/Instructions/ILFunction.cs | 16 ++++++++++++++++ .../IL/Transforms/AssignVariableNames.cs | 2 +- 4 files changed, 30 insertions(+), 14 deletions(-) diff --git a/ICSharpCode.Decompiler/CSharp/ExpressionBuilder.cs b/ICSharpCode.Decompiler/CSharp/ExpressionBuilder.cs index 52d4dc0ea..dc7dbb8b4 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; @@ -1459,17 +1459,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++; } 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/IL/Instructions/ILFunction.cs b/ICSharpCode.Decompiler/IL/Instructions/ILFunction.cs index 4424ba4f5..05797f4c2 100644 --- a/ICSharpCode.Decompiler/IL/Instructions/ILFunction.cs +++ b/ICSharpCode.Decompiler/IL/Instructions/ILFunction.cs @@ -61,11 +61,27 @@ namespace ICSharpCode.Decompiler.IL /// public IType AsyncReturnType; + public bool IsExpressionTree; + + 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); } diff --git a/ICSharpCode.Decompiler/IL/Transforms/AssignVariableNames.cs b/ICSharpCode.Decompiler/IL/Transforms/AssignVariableNames.cs index bfe03f90f..2c149eabe 100644 --- a/ICSharpCode.Decompiler/IL/Transforms/AssignVariableNames.cs +++ b/ICSharpCode.Decompiler/IL/Transforms/AssignVariableNames.cs @@ -61,7 +61,7 @@ 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)) + foreach (var p in function.Descendants.OfType().SelectMany(f => f.Variables).Where(v => v.Kind == VariableKind.Parameter)) AddExistingName(reservedVariableNames, p.Name); foreach (ILFunction f in function.Descendants.OfType().Reverse()) { PerformAssignment(f); From 648e4ec42a76765fc37ed555aa59ed228b8b7276 Mon Sep 17 00:00:00 2001 From: Siegfried Pammer Date: Tue, 21 Nov 2017 15:55:12 +0100 Subject: [PATCH 02/17] First implementation of TransformExpressionTrees --- ICSharpCode.Decompiler.Tests/DataFlowTest.cs | 2 +- .../TestCases/Correctness/ExpressionTrees.cs | 35 + .../CSharp/CSharpDecompiler.cs | 5 +- .../ICSharpCode.Decompiler.csproj | 1 + .../IL/Transforms/TransformExpressionTrees.cs | 759 ++++++++++++++++++ 5 files changed, 799 insertions(+), 3 deletions(-) create mode 100644 ICSharpCode.Decompiler.Tests/TestCases/Correctness/ExpressionTrees.cs create mode 100644 ICSharpCode.Decompiler/IL/Transforms/TransformExpressionTrees.cs 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/TestCases/Correctness/ExpressionTrees.cs b/ICSharpCode.Decompiler.Tests/TestCases/Correctness/ExpressionTrees.cs new file mode 100644 index 000000000..94fc3ab38 --- /dev/null +++ b/ICSharpCode.Decompiler.Tests/TestCases/Correctness/ExpressionTrees.cs @@ -0,0 +1,35 @@ +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(); + } + + public Expression> GetExpression(int i) + { + return a => a + i; + } + + public Expression>> GetExpression2() + { + return a => b => a + b; + } + + public static void Test() + { + int i = 0; + Expression> expression = () => i; + i = 1; + Console.WriteLine(expression.Compile()()); + } + } +} 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/ICSharpCode.Decompiler.csproj b/ICSharpCode.Decompiler/ICSharpCode.Decompiler.csproj index 6609a7a4c..5d4782630 100644 --- a/ICSharpCode.Decompiler/ICSharpCode.Decompiler.csproj +++ b/ICSharpCode.Decompiler/ICSharpCode.Decompiler.csproj @@ -290,6 +290,7 @@ + diff --git a/ICSharpCode.Decompiler/IL/Transforms/TransformExpressionTrees.cs b/ICSharpCode.Decompiler/IL/Transforms/TransformExpressionTrees.cs new file mode 100644 index 000000000..7335d006e --- /dev/null +++ b/ICSharpCode.Decompiler/IL/Transforms/TransformExpressionTrees.cs @@ -0,0 +1,759 @@ +// 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.Linq; +using ICSharpCode.Decompiler.CSharp; +using ICSharpCode.Decompiler.CSharp.Syntax; +using ICSharpCode.Decompiler.TypeSystem; +using ICSharpCode.Decompiler.TypeSystem.Implementation; +using ICSharpCode.Decompiler.Util; + +namespace ICSharpCode.Decompiler.IL.Transforms +{ + public class TransformExpressionTrees : IStatementTransform + { + static bool MightBeExpressionTree(ILInstruction inst, ILInstruction stmt) + { + if (!(inst is CallInstruction call && call.Method.FullName == "System.Linq.Expressions.Expression.Lambda")) + return false; + if (!ILInlining.CanUninline(call, stmt) || call.Arguments.Count != 2) + return false; + if (!((call.Arguments[1] is CallInstruction emptyCall && emptyCall.Method.FullName == "System.Array.Empty" && emptyCall.Arguments.Count == 0) + || (call.Arguments[1] is Block block && block.Kind == BlockKind.ArrayInitializer))) + return false; + return true; + } + + 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; + + public void Run(Block block, int pos, StatementTransformContext context) + { + this.context = context; + this.parameters = new Dictionary(); + this.parameterMapping = new Dictionary(); + this.instructionsToRemove = new List(); + 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(); + continue; + } + } + } + + bool TryConvertExpressionTree(ILInstruction instruction, ILInstruction statement) + { + if (MightBeExpressionTree(instruction, statement)) { + var lambda = ConvertLambda((CallInstruction)instruction); + if (lambda != null) { + instruction.ReplaceWith(lambda); + return true; + } + return false; + } + foreach (var child in instruction.Children) { + if (TryConvertExpressionTree(child, statement)) + return true; + } + return false; + } + + NewObj 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; + var parameterList = new List(); + var parameterVariablesList = new List(); + if (!ReadParameters(instruction.Arguments[1], parameterList, parameterVariablesList, new SimpleTypeResolveContext(context.Function.Method))) + return null; + var bodyInstruction = ConvertInstruction(instruction.Arguments[0]); + if (bodyInstruction == null) + return null; + var container = new BlockContainer(expectedResultType: bodyInstruction.ResultType); + container.Blocks.Add(new Block() { Instructions = { new Leave(container, bodyInstruction) } }); + var function = new ILFunction(instruction.Method.ReturnType.TypeArguments[0].TypeArguments.LastOrDefault() ?? context.TypeSystem.Compilation.FindType(KnownTypeCode.Void), parameterList, container); + function.IsExpressionTree = true; + function.Variables.AddRange(parameterVariablesList); + return new NewObj(instruction.Method.ReturnType.TypeArguments[0].GetConstructors().First()) { + Arguments = { + new LdNull(), + function + } + }; + } + + 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; + case CallInstruction emptyCall: + return emptyCall.Method.FullName == "System.Array.Empty" && emptyCall.Arguments.Count == 0; + default: + return false; + } + } + + ILInstruction ConvertInstruction(ILInstruction instruction) + { + switch (instruction) { + case CallInstruction invocation: + if (invocation.Method.DeclaringType.FullName != "System.Linq.Expressions.Expression") + return null; + + 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 Convert(invocation.Arguments.Single()); + else + return null;*/ + 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; + default: + return ConvertValue(instruction); + } + } + + ILInstruction ConvertArrayIndex(CallInstruction invocation) + { + if (invocation.Arguments.Count != 2) + return null; + var array = ConvertInstruction(invocation.Arguments[0]); + if (array == null) + return null; + var type = ((ArrayType)array.InferType()).ElementType; + if (!MatchArgumentList(invocation.Arguments[1], out var arguments)) + arguments = new[] { invocation.Arguments[1] }; + arguments = arguments.Select(ConvertInstruction).ToArray(); + if (arguments.Any(p => p == null)) + return null; + return new LdObj(new LdElema(type, array, arguments.ToArray()), type); + } + + ILInstruction ConvertArrayLength(CallInstruction invocation) + { + if (invocation.Arguments.Count != 1) + return null; + var converted = ConvertInstruction(invocation.Arguments[0]); + if (converted == null) + return null; + return new LdLen(StackType.I4, converted); + } + + ILInstruction ConvertBinaryNumericOperator(CallInstruction invocation, BinaryNumericOperator op, bool? isChecked = null) + { + if (invocation.Arguments.Count < 2) + return null; + var left = ConvertInstruction(invocation.Arguments.ElementAt(0)); + if (left == null) + return null; + var right = ConvertInstruction(invocation.Arguments.ElementAt(1)); + if (right == null) + return null; + IMember method; + switch (invocation.Arguments.Count) { + case 2: + return new BinaryNumericInstruction(op, left, right, isChecked == true, Sign.None); + case 3: + if (!MatchGetMethodFromHandle(invocation.Arguments[2], out method)) + return null; + return new Call((IMethod)method) { + Arguments = { left, right } + }; + case 4: + //if (!trueOrFalse.IsMatch(invocation.Arguments.ElementAt(2))) + // return null; + if (!MatchGetMethodFromHandle(invocation.Arguments[3], out method)) + return null; + return new Call((IMethod)method) { + Arguments = { left, right } + }; + default: + return null; + } + } + + ILInstruction ConvertNotOperator(CallInstruction invocation) + { + if (invocation.Arguments.Count < 1) + return null; + var argument = ConvertInstruction(invocation.Arguments.ElementAt(0)); + if (argument == null) + return null; + switch (invocation.Arguments.Count) { + case 1: + return argument.InferType().IsKnownType(KnownTypeCode.Boolean) ? Comp.LogicNot(argument) : (ILInstruction)new BitNot(argument); + case 2: + if (!MatchGetMethodFromHandle(invocation.Arguments[1], out var method)) + return null; + return new Call((IMethod)method) { + Arguments = { argument } + }; + default: + return null; + } + } + + ILInstruction ConvertCall(CallInstruction invocation) + { + if (invocation.Arguments.Count < 2) + return null; + IList arguments = 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()) + arguments.Insert(0, invocation.Arguments[0]); + } + if (arguments == null) + return null; + arguments = arguments.Select(ConvertInstruction).ToArray(); + if (arguments.Any(p => p == null)) + return null; + 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; + } + + ILInstruction ConvertCast(CallInstruction invocation, bool isChecked) + { + if (invocation.Arguments.Count < 2) + return null; + if (!MatchTypeOfCall(invocation.Arguments[1], out var targetType)) + return null; + var expr = ConvertInstruction(invocation.Arguments[0]); + if (expr == null) + return null; + var sourceType = expr.InferType(); + if (sourceType.Equals(SpecialType.UnknownType)) + return null; + if (sourceType.IsReferenceType != true) { + if (targetType.IsKnownType(KnownTypeCode.Object)) + return new Box(expr, sourceType); + } + return null; + } + + ILInstruction ConvertCoalesce(CallInstruction invocation) + { + if (invocation.Arguments.Count != 2) + return null; + var trueInst = ConvertInstruction(invocation.Arguments[0]); + if (trueInst == null) + return null; + var fallbackInst = ConvertInstruction(invocation.Arguments[1]); + if (fallbackInst == null) + return null; + // TODO : nullable types? + return new NullCoalescingInstruction(NullCoalescingKind.Ref, trueInst, fallbackInst); + } + + ILInstruction ConvertComparison(CallInstruction invocation, ComparisonKind kind) + { + if (invocation.Arguments.Count < 2) + return null; + var left = ConvertInstruction(invocation.Arguments[0]); + if (left == null) + return null; + var right = ConvertInstruction(invocation.Arguments[1]); + if (right == null) + return null; + if (invocation.Arguments.Count == 3 && MatchGetMethodFromHandle(invocation.Arguments[2], out var method)) { + return new Call((IMethod)method) { Arguments = { left, right } }; + } + // TODO: Sign?? + return new Comp(kind, Sign.None, left, right); + } + + ILInstruction ConvertCondition(CallInstruction invocation) + { + if (invocation.Arguments.Count != 3) + return null; + var condition = ConvertInstruction(invocation.Arguments[0]); + if (condition == null) + return null; + var trueInst = ConvertInstruction(invocation.Arguments[1]); + if (trueInst == null) + return null; + var falseInst = ConvertInstruction(invocation.Arguments[2]); + if (falseInst == null) + return null; + return new IfInstruction(condition, trueInst, falseInst); + } + + ILInstruction ConvertConstant(CallInstruction invocation) + { + if (!MatchConstantCall(invocation, out var value, out var type)) + return null; + if (value.MatchBox(out var arg, out _)) { + value = arg; + } + return ConvertValue(value); + } + + ILInstruction ConvertField(CallInstruction invocation) + { + if (invocation.Arguments.Count != 2) + return null; + ILInstruction target = null; + if (!invocation.Arguments[0].MatchLdNull()) { + target = ConvertInstruction(invocation.Arguments[0]); + if (target == null) + return null; + } + if (!MatchGetFieldFromHandle(invocation.Arguments[1], out var member)) + return null; + if (target == null) { + return new LdObj(new LdsFlda((IField)member), member.ReturnType); + } else { + return new LdObj(new LdFlda(target, (IField)member), member.ReturnType); + } + } + + ILInstruction ConvertLogicOperator(CallInstruction invocation, bool and) + { + if (invocation.Arguments.Count < 2) + return null; + var left = ConvertInstruction(invocation.Arguments.ElementAt(0)); + if (left == null) + return null; + var right = ConvertInstruction(invocation.Arguments.ElementAt(1)); + if (right == null) + return null; + IMember method; + switch (invocation.Arguments.Count) { + case 2: + return and ? IfInstruction.LogicAnd(left, right) : IfInstruction.LogicOr(left, right); + case 3: + if (!MatchGetMethodFromHandle(invocation.Arguments[2], out method)) + return null; + return new Call((IMethod)method) { + Arguments = { left, right } + }; + case 4: + //if (!trueOrFalse.IsMatch(invocation.Arguments.ElementAt(2))) + // return null; + if (!MatchGetMethodFromHandle(invocation.Arguments[3], out method)) + return null; + return new Call((IMethod)method) { + Arguments = { left, right } + }; + default: + return null; + } + } + + ILInstruction ConvertNewObject(CallInstruction invocation) + { + IMember member; + switch (invocation.Arguments.Count) { + case 1: + if (MatchTypeOfCall(invocation.Arguments[0], out var type)) { + var ctors = type.GetConstructors().ToArray(); + if (ctors.Length != 1 || ctors[0].Parameters.Count > 0) + return null; + return new NewObj(ctors[0]); + } + if (MatchGetConstructorFromHandle(invocation.Arguments[0], out member)) { + return new NewObj((IMethod)member); + } + return null; + case 2: + if (!MatchGetConstructorFromHandle(invocation.Arguments[0], out member)) + return null; + if (!MatchArgumentList(invocation.Arguments[1], out var arguments)) + return null; + var args = arguments.SelectArray(ConvertInstruction); + if (args.Any(a => a == null)) + return null; + var newObj = new NewObj((IMethod)member); + newObj.Arguments.AddRange(args); + return newObj; + } + return null; + } + + ILInstruction ConvertProperty(CallInstruction invocation) + { + if (invocation.Arguments.Count < 2) + return null; + ILInstruction target = null; + if (!invocation.Arguments[0].MatchLdNull()) { + target = ConvertInstruction(invocation.Arguments[0]); + if (target == null) + return null; + } + if (!MatchGetMethodFromHandle(invocation.Arguments[1], out var member)) + return null; + 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]); + if (arguments[i] == null) + return null; + } + } + 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; + } + + ILInstruction ConvertTypeAs(CallInstruction invocation) + { + if (invocation.Arguments.Count != 2) + return null; + var converted = ConvertInstruction(invocation.Arguments[0]); + if (!MatchTypeOfCall(invocation.Arguments[1], out var type)) + return null; + if (converted != null) + return new IsInst(converted, type); + return null; + } + + ILInstruction ConvertTypeIs(CallInstruction invocation) + { + if (invocation.Arguments.Count != 2) + return null; + var converted = ConvertInstruction(invocation.Arguments[0]); + if (!MatchTypeOfCall(invocation.Arguments[1], out var type)) + return null; + if (converted != null) + return new Comp(ComparisonKind.Inequality, Sign.None, new IsInst(converted, type), new LdNull()); + return null; + } + + ILInstruction ConvertUnaryNumericOperator(CallInstruction invocation, BinaryNumericOperator op, bool? isChecked = null) + { + if (invocation.Arguments.Count < 1) + return null; + var argument = ConvertInstruction(invocation.Arguments.ElementAt(0)); + if (argument == null) + return null; + switch (invocation.Arguments.Count) { + case 1: + return new BinaryNumericInstruction(op, new LdcI4(0), argument, isChecked == true, Sign.None); + case 2: + if (!MatchGetMethodFromHandle(invocation.Arguments[1], out var method)) + return null; + return new Call((IMethod)method) { + Arguments = { argument } + }; + } + return null; + } + + ILInstruction ConvertValue(ILInstruction value) + { + switch (value) { + case LdLoc ldloc: + if (IsExpressionTreeParameter(ldloc.Variable)) { + if (!parameterMapping.TryGetValue(ldloc.Variable, out var v)) + return null; + return new LdLoc(v); + } else { + return ldloc; + } + default: + return value; + } + } + + 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.Arguments.Count == 2 && call.Method.FullName == "System.Linq.Expressions.Expression.Constant") { + value = call.Arguments[0]; + return MatchTypeOfCall(call.Arguments[1], out type); + } + return false; + } + + bool MatchTypeOfCall(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 (inst is CallInstruction emptyCall && emptyCall.Method.FullName == "System.Array.Empty" && emptyCall.Arguments.Count == 0) { + 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; + } + } +} From 2759b27a0f436470a644381827fa9151ab03f010 Mon Sep 17 00:00:00 2001 From: Siegfried Pammer Date: Thu, 23 Nov 2017 10:23:03 +0100 Subject: [PATCH 03/17] Add System.Xml.dll to unit test references --- ICSharpCode.Decompiler.Tests/Helpers/Tester.cs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) 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:"); From 21dfa43dab1edba060f14ba44ff35e149c57b694 Mon Sep 17 00:00:00 2001 From: Siegfried Pammer Date: Thu, 23 Nov 2017 10:24:03 +0100 Subject: [PATCH 04/17] Add ExpressionTreeCast instruction --- .../CSharp/ExpressionBuilder.cs | 7 ++- .../ICSharpCode.Decompiler.csproj | 1 + ICSharpCode.Decompiler/IL/Instructions.cs | 55 +++++++++++++++++++ ICSharpCode.Decompiler/IL/Instructions.tt | 4 ++ .../IL/Transforms/ExpressionTreeCast.cs | 31 +++++++++++ 5 files changed, 97 insertions(+), 1 deletion(-) create mode 100644 ICSharpCode.Decompiler/IL/Transforms/ExpressionTreeCast.cs diff --git a/ICSharpCode.Decompiler/CSharp/ExpressionBuilder.cs b/ICSharpCode.Decompiler/CSharp/ExpressionBuilder.cs index dc7dbb8b4..a46e34568 100644 --- a/ICSharpCode.Decompiler/CSharp/ExpressionBuilder.cs +++ b/ICSharpCode.Decompiler/CSharp/ExpressionBuilder.cs @@ -1701,7 +1701,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/ICSharpCode.Decompiler.csproj b/ICSharpCode.Decompiler/ICSharpCode.Decompiler.csproj index 5d4782630..3283989fa 100644 --- a/ICSharpCode.Decompiler/ICSharpCode.Decompiler.csproj +++ b/ICSharpCode.Decompiler/ICSharpCode.Decompiler.csproj @@ -283,6 +283,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/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(')'); + } + } +} From a5e5cf166b12501858975f650cb332f3e11b1b52 Mon Sep 17 00:00:00 2001 From: Siegfried Pammer Date: Thu, 23 Nov 2017 10:27:54 +0100 Subject: [PATCH 05/17] Add support for missing expressions: Invoke, Quote, ListInit, NewArrayBounds, NewArrayInit, ExpressionTreeCast --- .../IL/Transforms/TransformExpressionTrees.cs | 342 ++++++++++++++---- 1 file changed, 267 insertions(+), 75 deletions(-) diff --git a/ICSharpCode.Decompiler/IL/Transforms/TransformExpressionTrees.cs b/ICSharpCode.Decompiler/IL/Transforms/TransformExpressionTrees.cs index 7335d006e..8cfc236c5 100644 --- a/ICSharpCode.Decompiler/IL/Transforms/TransformExpressionTrees.cs +++ b/ICSharpCode.Decompiler/IL/Transforms/TransformExpressionTrees.cs @@ -31,16 +31,30 @@ namespace ICSharpCode.Decompiler.IL.Transforms { static bool MightBeExpressionTree(ILInstruction inst, ILInstruction stmt) { - if (!(inst is CallInstruction call && call.Method.FullName == "System.Linq.Expressions.Expression.Lambda")) + if (!(inst is CallInstruction call + && call.Method.FullName == "System.Linq.Expressions.Expression.Lambda" + && call.Arguments.Count == 2)) return false; - if (!ILInlining.CanUninline(call, stmt) || call.Arguments.Count != 2) + if (call.Parent is CallInstruction parentCall && parentCall.Method.FullName == "System.Linq.Expressions.Expression.Quote") return false; - if (!((call.Arguments[1] is CallInstruction emptyCall && emptyCall.Method.FullName == "System.Array.Empty" && emptyCall.Arguments.Count == 0) - || (call.Arguments[1] is Block block && block.Kind == BlockKind.ArrayInitializer))) + 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(...))) @@ -97,6 +111,7 @@ namespace ICSharpCode.Decompiler.IL.Transforms if (MightBeExpressionTree(instruction, statement)) { var lambda = ConvertLambda((CallInstruction)instruction); if (lambda != null) { + context.Step("Convert Expression Tree", instruction); instruction.ReplaceWith(lambda); return true; } @@ -159,10 +174,8 @@ namespace ICSharpCode.Decompiler.IL.Transforms i++; } return true; - case CallInstruction emptyCall: - return emptyCall.Method.FullName == "System.Array.Empty" && emptyCall.Arguments.Count == 0; default: - return false; + return IsEmptyParameterList(initializer); } } @@ -211,8 +224,8 @@ namespace ICSharpCode.Decompiler.IL.Transforms return ConvertComparison(invocation, ComparisonKind.GreaterThan); case "GreaterThanOrEqual": return ConvertComparison(invocation, ComparisonKind.GreaterThanOrEqual); - /*case "Invoke": - return ConvertInvoke(invocation);*/ + case "Invoke": + return ConvertInvoke(invocation); case "Lambda": return ConvertLambda(invocation); case "LeftShift": @@ -221,10 +234,10 @@ namespace ICSharpCode.Decompiler.IL.Transforms return ConvertComparison(invocation, ComparisonKind.LessThan); case "LessThanOrEqual": return ConvertComparison(invocation, ComparisonKind.LessThanOrEqual); - /*case "ListInit": + case "ListInit": return ConvertListInit(invocation); case "MemberInit": - return ConvertMemberInit(invocation);*/ + return ConvertMemberInit(invocation); case "Modulo": return ConvertBinaryNumericOperator(invocation, BinaryNumericOperator.Rem); case "Multiply": @@ -237,10 +250,10 @@ namespace ICSharpCode.Decompiler.IL.Transforms return ConvertUnaryNumericOperator(invocation, BinaryNumericOperator.Sub, true); case "New": return ConvertNewObject(invocation); - /*case "NewArrayBounds": + case "NewArrayBounds": return ConvertNewArrayBounds(invocation); case "NewArrayInit": - return ConvertNewArrayInit(invocation);*/ + return ConvertNewArrayInit(invocation); case "Not": return ConvertNotOperator(invocation); case "NotEqual": @@ -253,11 +266,11 @@ namespace ICSharpCode.Decompiler.IL.Transforms return ConvertLogicOperator(invocation, false); case "Property": return ConvertProperty(invocation); - /*case "Quote": + case "Quote": if (invocation.Arguments.Count == 1) - return Convert(invocation.Arguments.Single()); + return ConvertInstruction(invocation.Arguments.Single()); else - return null;*/ + return null; case "RightShift": return ConvertBinaryNumericOperator(invocation, BinaryNumericOperator.ShiftRight); case "Subtract": @@ -271,7 +284,7 @@ namespace ICSharpCode.Decompiler.IL.Transforms } return null; default: - return ConvertValue(instruction); + return ConvertValue(instruction, instruction.Parent); } } @@ -282,13 +295,18 @@ namespace ICSharpCode.Decompiler.IL.Transforms var array = ConvertInstruction(invocation.Arguments[0]); if (array == null) return null; - var type = ((ArrayType)array.InferType()).ElementType; + var arrayType = InferType(array); + if (!(arrayType is ArrayType type)) + return null; if (!MatchArgumentList(invocation.Arguments[1], out var arguments)) arguments = new[] { invocation.Arguments[1] }; - arguments = arguments.Select(ConvertInstruction).ToArray(); - if (arguments.Any(p => p == null)) - return null; - return new LdObj(new LdElema(type, array, arguments.ToArray()), type); + for (int i = 0; i < arguments.Count; i++) { + var converted = ConvertInstruction(arguments[i]); + if (converted == null) + return null; + arguments[i] = converted; + } + return new LdObj(new LdElema(type.ElementType, array, arguments.ToArray()), type.ElementType); } ILInstruction ConvertArrayLength(CallInstruction invocation) @@ -305,10 +323,10 @@ namespace ICSharpCode.Decompiler.IL.Transforms { if (invocation.Arguments.Count < 2) return null; - var left = ConvertInstruction(invocation.Arguments.ElementAt(0)); + var left = ConvertInstruction(invocation.Arguments[0]); if (left == null) return null; - var right = ConvertInstruction(invocation.Arguments.ElementAt(1)); + var right = ConvertInstruction(invocation.Arguments[1]); if (right == null) return null; IMember method; @@ -322,7 +340,7 @@ namespace ICSharpCode.Decompiler.IL.Transforms Arguments = { left, right } }; case 4: - //if (!trueOrFalse.IsMatch(invocation.Arguments.ElementAt(2))) + //if (!trueOrFalse.IsMatch(invocation.Arguments[2])) // return null; if (!MatchGetMethodFromHandle(invocation.Arguments[3], out method)) return null; @@ -334,27 +352,6 @@ namespace ICSharpCode.Decompiler.IL.Transforms } } - ILInstruction ConvertNotOperator(CallInstruction invocation) - { - if (invocation.Arguments.Count < 1) - return null; - var argument = ConvertInstruction(invocation.Arguments.ElementAt(0)); - if (argument == null) - return null; - switch (invocation.Arguments.Count) { - case 1: - return argument.InferType().IsKnownType(KnownTypeCode.Boolean) ? Comp.LogicNot(argument) : (ILInstruction)new BitNot(argument); - case 2: - if (!MatchGetMethodFromHandle(invocation.Arguments[1], out var method)) - return null; - return new Call((IMethod)method) { - Arguments = { argument } - }; - default: - return null; - } - } - ILInstruction ConvertCall(CallInstruction invocation) { if (invocation.Arguments.Count < 2) @@ -377,11 +374,21 @@ namespace ICSharpCode.Decompiler.IL.Transforms arguments = arguments.Select(ConvertInstruction).ToArray(); if (arguments.Any(p => p == null)) return null; + IMethod method = (IMethod)member; + if (method.FullName == "System.Reflection.MethodInfo.CreateDelegate" && method.Parameters.Count == 2) { + if (!MatchGetMethodFromHandle(arguments[0], out var targetMethod)) + return null; + if (!MatchGetTypeFromHandle(arguments[1], out var delegateType)) + return null; + return new NewObj(delegateType.GetConstructors().Single()) { + Arguments = { arguments[2], new LdFtn((IMethod)targetMethod) } + }; + } CallInstruction call; - if (member.IsAbstract || member.IsVirtual || member.IsOverridable) { - call = new CallVirt((IMethod)member); + if (method.IsAbstract || method.IsVirtual || method.IsOverridable) { + call = new CallVirt(method); } else { - call = new Call((IMethod)member); + call = new Call(method); } call.Arguments.AddRange(arguments); return call; @@ -391,19 +398,12 @@ namespace ICSharpCode.Decompiler.IL.Transforms { if (invocation.Arguments.Count < 2) return null; - if (!MatchTypeOfCall(invocation.Arguments[1], out var targetType)) + if (!MatchGetTypeFromHandle(invocation.Arguments[1], out var targetType)) return null; var expr = ConvertInstruction(invocation.Arguments[0]); if (expr == null) return null; - var sourceType = expr.InferType(); - if (sourceType.Equals(SpecialType.UnknownType)) - return null; - if (sourceType.IsReferenceType != true) { - if (targetType.IsKnownType(KnownTypeCode.Object)) - return new Box(expr, sourceType); - } - return null; + return new ExpressionTreeCast(targetType, expr, isChecked); } ILInstruction ConvertCoalesce(CallInstruction invocation) @@ -457,10 +457,31 @@ namespace ICSharpCode.Decompiler.IL.Transforms { if (!MatchConstantCall(invocation, out var value, out var type)) return null; - if (value.MatchBox(out var arg, out _)) { + if (value.MatchBox(out var arg, out var boxType)) { + if (boxType.Kind == TypeKind.Enum) + return new ExpressionTreeCast(boxType, ConvertValue(arg, invocation), false); value = arg; } - return ConvertValue(value); + return ConvertValue(value, invocation); + } + + ILInstruction ConvertElementInit(CallInstruction invocation) + { + if (invocation.Arguments.Count != 2) + return null; + if (!MatchGetMethodFromHandle(invocation.Arguments[0], out var member)) + return null; + if (!MatchArgumentList(invocation.Arguments[1], out var arguments)) + return null; + CallInstruction call = new Call((IMethod)member); + for (int i = 0; i < arguments.Count; i++) { + ILInstruction arg = ConvertInstruction(arguments[i]); + if (arg == null) + return null; + arguments[i] = arg; + } + call.Arguments.AddRange(arguments); + return call; } ILInstruction ConvertField(CallInstruction invocation) @@ -482,14 +503,80 @@ namespace ICSharpCode.Decompiler.IL.Transforms } } + ILInstruction ConvertInvoke(CallInstruction invocation) + { + if (invocation.Arguments.Count != 2) + return null; + var target = ConvertInstruction(invocation.Arguments[0]); + if (target == null) + return null; + var invokeMethod = InferType(target).GetDelegateInvokeMethod(); + if (invokeMethod == null) + return null; + if (!MatchArgumentList(invocation.Arguments[1], out var arguments)) + return null; + for (int i = 0; i < arguments.Count; i++) { + var arg = ConvertInstruction(arguments[i]); + if (arg == null) + return null; + arguments[i] = arg; + } + var call = new Call(invokeMethod); + call.Arguments.Add(target); + call.Arguments.AddRange(arguments); + return call; + } + + ILInstruction ConvertListInit(CallInstruction invocation) + { + if (invocation.Arguments.Count < 2) + return null; + var newObj = ConvertInstruction(invocation.Arguments[0]) as NewObj; + if (newObj == null) + return null; + IList arguments = null; + ILFunction function; + if (!MatchGetMethodFromHandle(invocation.Arguments[1], out var member)) { + if (!MatchArgumentList(invocation.Arguments[1], out arguments)) + return null; + function = ((LdLoc)((Block)invocation.Arguments[1]).FinalInstruction).Variable.Function; + } else { + if (invocation.Arguments.Count != 3 || !MatchArgumentList(invocation.Arguments[2], out arguments)) + return null; + function = ((LdLoc)((Block)invocation.Arguments[2]).FinalInstruction).Variable.Function; + } + if (arguments == null || arguments.Count == 0) + return null; + 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); + if (arg == null) + return null; + ((CallInstruction)arg).Arguments.Insert(0, new LdLoc(initializer)); + } else { + arg = ConvertInstruction(arguments[i]); + if (arg == null) + return null; + } + 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; + } + ILInstruction ConvertLogicOperator(CallInstruction invocation, bool and) { if (invocation.Arguments.Count < 2) return null; - var left = ConvertInstruction(invocation.Arguments.ElementAt(0)); + var left = ConvertInstruction(invocation.Arguments[0]); if (left == null) return null; - var right = ConvertInstruction(invocation.Arguments.ElementAt(1)); + var right = ConvertInstruction(invocation.Arguments[1]); if (right == null) return null; IMember method; @@ -503,7 +590,7 @@ namespace ICSharpCode.Decompiler.IL.Transforms Arguments = { left, right } }; case 4: - //if (!trueOrFalse.IsMatch(invocation.Arguments.ElementAt(2))) + //if (!trueOrFalse.IsMatch(invocation.Arguments[2])) // return null; if (!MatchGetMethodFromHandle(invocation.Arguments[3], out method)) return null; @@ -515,12 +602,65 @@ namespace ICSharpCode.Decompiler.IL.Transforms } } + ILInstruction ConvertMemberInit(CallInstruction invocation) + { + return null; + } + + ILInstruction ConvertNewArrayBounds(CallInstruction invocation) + { + if (invocation.Arguments.Count != 2) + return null; + if (!MatchGetTypeFromHandle(invocation.Arguments[0], out var type)) + return null; + if (!MatchArgumentList(invocation.Arguments[1], out var arguments)) + return null; + if (arguments.Count == 0) + return null; + var indices = new ILInstruction[arguments.Count]; + for (int i = 0; i < arguments.Count; i++) { + var index = ConvertInstruction(arguments[i]); + if (index == null) + return null; + indices[i] = index; + } + return new NewArr(type, indices); + } + + ILInstruction ConvertNewArrayInit(CallInstruction invocation) + { + if (invocation.Arguments.Count != 2) + return null; + if (!MatchGetTypeFromHandle(invocation.Arguments[0], out var type)) + return null; + if (!MatchArgumentList(invocation.Arguments[1], out var arguments)) + return null; + if (arguments.Count == 0) + return null; + var block = (Block)invocation.Arguments[1]; + var function = ((LdLoc)block.FinalInstruction).Variable.Function; + 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); + if (value == null) + return null; + initializer.Instructions.Add(new StObj(new LdElema(type, new LdLoc(variable), new LdcI4(i)), value, type)); + } + initializer.FinalInstruction = new LdLoc(variable); + return initializer; + } + ILInstruction ConvertNewObject(CallInstruction invocation) { IMember member; + IList arguments; + NewObj newObj; switch (invocation.Arguments.Count) { case 1: - if (MatchTypeOfCall(invocation.Arguments[0], out var type)) { + if (MatchGetTypeFromHandle(invocation.Arguments[0], out var type)) { var ctors = type.GetConstructors().ToArray(); if (ctors.Length != 1 || ctors[0].Parameters.Count > 0) return null; @@ -533,18 +673,50 @@ namespace ICSharpCode.Decompiler.IL.Transforms case 2: if (!MatchGetConstructorFromHandle(invocation.Arguments[0], out member)) return null; - if (!MatchArgumentList(invocation.Arguments[1], out var arguments)) + if (!MatchArgumentList(invocation.Arguments[1], out arguments)) return null; var args = arguments.SelectArray(ConvertInstruction); if (args.Any(a => a == null)) return null; - var newObj = new NewObj((IMethod)member); + newObj = new NewObj((IMethod)member); newObj.Arguments.AddRange(args); return newObj; + case 3: + if (!MatchGetConstructorFromHandle(invocation.Arguments[0], out member)) + return null; + if (!MatchArgumentList(invocation.Arguments[1], out arguments)) + return null; + var args2 = arguments.SelectArray(ConvertInstruction); + if (args2.Any(a => a == null)) + return null; + newObj = new NewObj((IMethod)member); + newObj.Arguments.AddRange(args2); + return newObj; } return null; } + ILInstruction ConvertNotOperator(CallInstruction invocation) + { + if (invocation.Arguments.Count < 1) + return null; + var argument = ConvertInstruction(invocation.Arguments[0]); + if (argument == null) + return null; + switch (invocation.Arguments.Count) { + case 1: + return InferType(argument).IsKnownType(KnownTypeCode.Boolean) ? Comp.LogicNot(argument) : (ILInstruction)new BitNot(argument); + case 2: + if (!MatchGetMethodFromHandle(invocation.Arguments[1], out var method)) + return null; + return new Call((IMethod)method) { + Arguments = { argument } + }; + default: + return null; + } + } + ILInstruction ConvertProperty(CallInstruction invocation) { if (invocation.Arguments.Count < 2) @@ -585,7 +757,7 @@ namespace ICSharpCode.Decompiler.IL.Transforms if (invocation.Arguments.Count != 2) return null; var converted = ConvertInstruction(invocation.Arguments[0]); - if (!MatchTypeOfCall(invocation.Arguments[1], out var type)) + if (!MatchGetTypeFromHandle(invocation.Arguments[1], out var type)) return null; if (converted != null) return new IsInst(converted, type); @@ -597,7 +769,7 @@ namespace ICSharpCode.Decompiler.IL.Transforms if (invocation.Arguments.Count != 2) return null; var converted = ConvertInstruction(invocation.Arguments[0]); - if (!MatchTypeOfCall(invocation.Arguments[1], out var type)) + if (!MatchGetTypeFromHandle(invocation.Arguments[1], out var type)) return null; if (converted != null) return new Comp(ComparisonKind.Inequality, Sign.None, new IsInst(converted, type), new LdNull()); @@ -608,7 +780,7 @@ namespace ICSharpCode.Decompiler.IL.Transforms { if (invocation.Arguments.Count < 1) return null; - var argument = ConvertInstruction(invocation.Arguments.ElementAt(0)); + var argument = ConvertInstruction(invocation.Arguments[0]); if (argument == null) return null; switch (invocation.Arguments.Count) { @@ -624,18 +796,26 @@ namespace ICSharpCode.Decompiler.IL.Transforms return null; } - ILInstruction ConvertValue(ILInstruction value) + 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 new LdLoc(v); } else { - return ldloc; + if (ldloc.Variable.Kind != VariableKind.StackSlot) + return new LdLoc(ldloc.Variable); + return null; } default: + if (SemanticHelper.IsPure(value.Flags)) + return value.Clone(); return value; } } @@ -649,14 +829,17 @@ namespace ICSharpCode.Decompiler.IL.Transforms { value = null; type = null; - if (inst is CallInstruction call && call.Arguments.Count == 2 && call.Method.FullName == "System.Linq.Expressions.Expression.Constant") { + if (inst is CallInstruction call && call.Method.FullName == "System.Linq.Expressions.Expression.Constant") { value = call.Arguments[0]; - return MatchTypeOfCall(call.Arguments[1], out type); + if (call.Arguments.Count == 2) + return MatchGetTypeFromHandle(call.Arguments[1], out type); + type = InferType(value); + return true; } return false; } - bool MatchTypeOfCall(ILInstruction inst, out IType type) + bool MatchGetTypeFromHandle(ILInstruction inst, out IType type) { type = null; return inst is CallInstruction getTypeCall @@ -739,7 +922,7 @@ namespace ICSharpCode.Decompiler.IL.Transforms { arguments = null; if (!(inst is Block block && block.Kind == BlockKind.ArrayInitializer)) { - if (inst is CallInstruction emptyCall && emptyCall.Method.FullName == "System.Array.Empty" && emptyCall.Arguments.Count == 0) { + if (IsEmptyParameterList(inst)) { arguments = new List(); return true; } @@ -755,5 +938,14 @@ namespace ICSharpCode.Decompiler.IL.Transforms } return true; } + + IType InferType(ILInstruction inst) + { + if (inst is Block b && b.Kind == BlockKind.ArrayInitializer) + return b.FinalInstruction.InferType(); + if (inst is ExpressionTreeCast cast) + return cast.Type; + return inst.InferType(); + } } } From d3a623bd26381b4a2641c3b1f240ab4d06ba0356 Mon Sep 17 00:00:00 2001 From: Siegfried Pammer Date: Thu, 23 Nov 2017 11:41:13 +0100 Subject: [PATCH 06/17] Implement MemberInit, Bind --- .../IL/Transforms/TransformExpressionTrees.cs | 49 ++++++++++++++++++- 1 file changed, 48 insertions(+), 1 deletion(-) diff --git a/ICSharpCode.Decompiler/IL/Transforms/TransformExpressionTrees.cs b/ICSharpCode.Decompiler/IL/Transforms/TransformExpressionTrees.cs index 8cfc236c5..2014caf8b 100644 --- a/ICSharpCode.Decompiler/IL/Transforms/TransformExpressionTrees.cs +++ b/ICSharpCode.Decompiler/IL/Transforms/TransformExpressionTrees.cs @@ -352,6 +352,27 @@ namespace ICSharpCode.Decompiler.IL.Transforms } } + ILInstruction ConvertBind(CallInstruction invocation, ILVariable targetVariable) + { + if (invocation.Arguments.Count != 2) + return null; + var value = ConvertInstruction(invocation.Arguments[1]); + if (value == null) + return null; + if (MatchGetMethodFromHandle(invocation.Arguments[0], out var member)) { + } else if (MatchGetFieldFromHandle(invocation.Arguments[0], out member)) { + } else { + return null; + } + switch (member) { + case IMethod method: + return new Call(method) { Arguments = { new LdLoc(targetVariable), value } }; + case IField field: + return new StObj(new LdFlda(new LdLoc(targetVariable), (IField)member), value, member.ReturnType); + } + return null; + } + ILInstruction ConvertCall(CallInstruction invocation) { if (invocation.Arguments.Count < 2) @@ -604,7 +625,33 @@ namespace ICSharpCode.Decompiler.IL.Transforms ILInstruction ConvertMemberInit(CallInstruction invocation) { - return null; + if (invocation.Arguments.Count != 2) + return null; + var newObj = ConvertInstruction(invocation.Arguments[0]) as NewObj; + if (newObj == null) + return null; + if (!MatchArgumentList(invocation.Arguments[1], out var arguments)) + return null; + if (arguments == null || arguments.Count == 0) + return null; + var function = ((LdLoc)((Block)invocation.Arguments[1]).FinalInstruction).Variable.Function; + 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); + if (arg == null) + return null; + } else { + return null; + } + 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; } ILInstruction ConvertNewArrayBounds(CallInstruction invocation) From 049cff2324b0b85f7496cd862fdec44d115f0621 Mon Sep 17 00:00:00 2001 From: Siegfried Pammer Date: Thu, 23 Nov 2017 23:50:12 +0100 Subject: [PATCH 07/17] Add unit tests, directly use ILFunction instead of NewObj(ILFunction) for expression trees. --- .../ExpressionTrees.cs | 370 -- .../ICSharpCode.Decompiler.Tests.csproj | 2 + .../PrettyTestRunner.cs | 6 + .../TestCases/Pretty/ExpressionTrees.cs | 428 ++ .../TestCases/Pretty/ExpressionTrees.il | 5185 +++++++++++++++++ .../TestCases/Pretty/ExpressionTrees.opt.il | 5020 ++++++++++++++++ .../Pretty/ExpressionTrees.opt.roslyn.il | 4804 +++++++++++++++ .../Pretty/ExpressionTrees.roslyn.il | 4933 ++++++++++++++++ .../CSharp/ExpressionBuilder.cs | 6 + .../CSharp/Resolver/LambdaResolveResult.cs | 4 +- .../CSharp/TranslatedExpression.cs | 2 +- .../IL/Instructions/ILFunction.cs | 8 +- .../IL/Transforms/TransformExpressionTrees.cs | 42 +- 13 files changed, 20418 insertions(+), 392 deletions(-) delete mode 100644 ICSharpCode.Decompiler.Tests/ExpressionTrees.cs create mode 100644 ICSharpCode.Decompiler.Tests/TestCases/Pretty/ExpressionTrees.cs create mode 100644 ICSharpCode.Decompiler.Tests/TestCases/Pretty/ExpressionTrees.il create mode 100644 ICSharpCode.Decompiler.Tests/TestCases/Pretty/ExpressionTrees.opt.il create mode 100644 ICSharpCode.Decompiler.Tests/TestCases/Pretty/ExpressionTrees.opt.roslyn.il create mode 100644 ICSharpCode.Decompiler.Tests/TestCases/Pretty/ExpressionTrees.roslyn.il 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/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/Pretty/ExpressionTrees.cs b/ICSharpCode.Decompiler.Tests/TestCases/Pretty/ExpressionTrees.cs new file mode 100644 index 000000000..96960e045 --- /dev/null +++ b/ICSharpCode.Decompiler.Tests/TestCases/Pretty/ExpressionTrees.cs @@ -0,0 +1,428 @@ +// 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 +{ + 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 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[] { + 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)(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() + { + var dict = Enumerable.Range(1, 20).ToDictionary(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 + -i > 0 || 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(), () => default(int[]).Length == 0); + ExpressionTrees.ToCode(ExpressionTrees.X(), () => default(Type).IsLayoutSequential); + ExpressionTrees.ToCode(ExpressionTrees.X(), () => default(List).Count); + ExpressionTrees.ToCode(ExpressionTrees.X(), () => default(int[]).Clone() == null); + ExpressionTrees.ToCode(ExpressionTrees.X(), () => default(Type).IsInstanceOfType(new object())); + ExpressionTrees.ToCode(ExpressionTrees.X(), () => default(List).AsReadOnly()); + } + + public void DoAssert() + { + field = 37; + ExpressionTrees.ToCode(ExpressionTrees.X(), () => field != C()); + ExpressionTrees.ToCode(ExpressionTrees.X(), () => !ReferenceEquals(this, new ExpressionTrees())); + ExpressionTrees.ToCode(ExpressionTrees.X(), () => MyEquals(this) && !MyEquals(default(ExpressionTrees))); + } + + int C() + { + return field + 5; + } + + bool MyEquals(ExpressionTrees other) + { + return other != null && field == other.field; + } + + public void MethodGroupAsExtensionMethod() + { + ExpressionTrees.ToCode(ExpressionTrees.X(), () => (Func)new[] { + 2000, + 2004, + 2008, + 2012 + }.Any); + } + + public void MethodGroupConstant() + { + ExpressionTrees.ToCode(ExpressionTrees.X(), () => Array.TrueForAll(new[] { + 2000, + 2004, + 2008, + 2012 + }, DateTime.IsLeapYear)); + + HashSet set = new HashSet(); + ExpressionTrees.ToCode(ExpressionTrees.X(), () => new[] { + 2000, + 2004, + 2008, + 2012 + }.All(set.Add)); + + Func, bool> sink = f => f(null, null); + ExpressionTrees.ToCode(ExpressionTrees.X(), () => sink(int.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 = f => f(); + //no params + ExpressionTrees.ToCode(ExpressionTrees.X(), () => call(() => 42)); + //one param + ExpressionTrees.ToCode(ExpressionTrees.X(), () => new[] { 37, 42 }.Select(x => x * 2)); + //two params + ExpressionTrees.ToCode(ExpressionTrees.X(), () => new[] { 37, 42 }.Select((x, i) => x * 2)); + } + + public void CurriedLambda() + { + ExpressionTrees.ToCode>>(ExpressionTrees.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() + { + ExpressionTrees.ToCode(ExpressionTrees.X(), () => Fizz(x => x == "a")); + ExpressionTrees.ToCode(ExpressionTrees.X(), () => Fizz(x => x == 37)); + + ExpressionTrees.ToCode(ExpressionTrees.X(), () => Fizz((int x) => true)); + ExpressionTrees.ToCode(ExpressionTrees.X(), () => Buzz(x => true)); + } + + public void NewArrayAndExtensionMethod() + { + ExpressionTrees.ToCode(ExpressionTrees.X(), () => new[] { 1.0, 2.01, 3.5 }.SequenceEqual(new[] { 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(), () => ~(int)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>)((n, 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(), () => new[] { new { X = "a", Y = "b" } }.Select(o => o.X + o.Y).Single()); + } + + public void StaticCall() + { + ExpressionTrees.ToCode(ExpressionTrees.X(), () => Equals(3, 0)); + } + + public void ThisCall() + { + ExpressionTrees.ToCode(ExpressionTrees.X(), () => !Equals(3)); + } + + public void ThisExplicit() + { + ExpressionTrees.ToCode(ExpressionTrees.X(), () => object.Equals(this, 3)); + } + + public void TypedConstant() + { + ExpressionTrees.ToCode(ExpressionTrees.X(), () => new[] { typeof(int), typeof(string) }); + } + + public void StaticCallImplicitCast() + { + ExpressionTrees.ToCode(ExpressionTrees.X(), () => 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 StringAccessor() + { + ExpressionTrees.ToCode(ExpressionTrees.X(), () => (int)"abc"[1] == 98); + } + + public void GenericClassInstance() + { + ExpressionTrees.ToCode(ExpressionTrees.X(), () => new GenericClass().InstanceField + new GenericClass().InstanceProperty); + } + + public void GenericClassStatic() + { + ExpressionTrees.ToCode(ExpressionTrees.X(), () => GenericClass.StaticField + GenericClass.StaticProperty); + } + + public void InvokeGenericMethod() + { + ExpressionTrees.ToCode(ExpressionTrees.X(), () => GenericClass.GenericMethod()); + } +} diff --git a/ICSharpCode.Decompiler.Tests/TestCases/Pretty/ExpressionTrees.il b/ICSharpCode.Decompiler.Tests/TestCases/Pretty/ExpressionTrees.il new file mode 100644 index 000000000..4d3dfc227 --- /dev/null +++ b/ICSharpCode.Decompiler.Tests/TestCases/Pretty/ExpressionTrees.il @@ -0,0 +1,5185 @@ + +// 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 bkuaf15t +{ + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilationRelaxationsAttribute::.ctor(int32) = ( 01 00 08 00 00 00 00 00 ) + .custom instance void [mscorlib]System.Runtime.CompilerServices.RuntimeCompatibilityAttribute::.ctor() = ( 01 00 01 00 54 02 16 57 72 61 70 4E 6F 6E 45 78 // ....T..WrapNonEx + 63 65 70 74 69 6F 6E 54 68 72 6F 77 73 01 ) // ceptionThrows. + .permissionset reqmin + = {[mscorlib]System.Security.Permissions.SecurityPermissionAttribute = {property bool 'SkipVerification' = bool(true)}} + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.module bkuaf15t.dll +// MVID: {E4EF857C-F542-4940-9C71-2C5B582D4409} +.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: 0x00E00000 + + +// =============== CLASS MEMBERS DECLARATION =================== + +.class public auto ansi beforefieldinit 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 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 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 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 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 ExpressionTrees/GenericClass`1::get_StaticProperty() + .set void ExpressionTrees/GenericClass`1::set_StaticProperty(!X) + } // end of property GenericClass`1::StaticProperty + .property instance !X InstanceProperty() + { + .set instance void ExpressionTrees/GenericClass`1::set_InstanceProperty(!X) + .get instance !X 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' + + .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 ) + .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 ExpressionTrees/'<>c__DisplayClass0' V_0) + IL_0000: newobj instance void ExpressionTrees/'<>c__DisplayClass0'::.ctor() + IL_0005: stloc.0 + IL_0006: ldloc.0 + IL_0007: ldarg.1 + IL_0008: stfld bool ExpressionTrees/'<>c__DisplayClass0'::a + IL_000d: nop + IL_000e: call object 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 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 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 ExpressionTrees/'<>c__DisplayClass2' V_0) + IL_0000: newobj instance void ExpressionTrees/'<>c__DisplayClass2'::.ctor() + IL_0005: stloc.0 + IL_0006: nop + IL_0007: ldloc.0 + IL_0008: ldc.i4.1 + IL_0009: stfld bool ExpressionTrees/'<>c__DisplayClass2'::a + IL_000e: call object 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 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 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 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 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 ExpressionTrees/'<>c__DisplayClass4' V_0) + IL_0000: newobj instance void ExpressionTrees/'<>c__DisplayClass4'::.ctor() + IL_0005: stloc.0 + IL_0006: ldloc.0 + IL_0007: ldarg.1 + IL_0008: stfld int32 ExpressionTrees/'<>c__DisplayClass4'::x + IL_000d: nop + IL_000e: call object 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 ExpressionTrees/'<>c__DisplayClass8' V_0, + class [System.Core]System.Linq.Expressions.Expression[] V_1) + IL_0000: newobj instance void 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 ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate7' + IL_0015: brtrue.s IL_002a + + IL_0017: ldnull + IL_0018: ldftn string 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 ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate7' + IL_0028: br.s IL_002a + + IL_002a: ldsfld class [mscorlib]System.Func`2 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 ExpressionTrees/'<>c__DisplayClass8'::dict + IL_0039: call object 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 ExpressionTrees/'<>c__DisplayClassa' V_0) + IL_0000: newobj instance void ExpressionTrees/'<>c__DisplayClassa'::.ctor() + IL_0005: stloc.0 + IL_0006: nop + IL_0007: ldloc.0 + IL_0008: ldc.i4.1 + IL_0009: stfld int32 ExpressionTrees/'<>c__DisplayClassa'::i + IL_000e: ldloc.0 + IL_000f: ldstr "X" + IL_0014: stfld string ExpressionTrees/'<>c__DisplayClassa'::x + IL_0019: call object 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 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 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 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 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 ExpressionTrees/'<>c__DisplayClassc' V_0) + IL_0000: newobj instance void 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 ExpressionTrees/'<>c__DisplayClassc'::z + IL_000f: call object 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 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 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 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 ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_004f: pop + IL_0050: call object 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 ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_00c1: pop + IL_00c2: call object 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 ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0119: pop + IL_011a: call object 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 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 574 (0x23e) + .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 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 ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0062: pop + IL_0063: call object ExpressionTrees::X() + IL_0068: ldnull + IL_0069: box int32[] + IL_006e: ldtoken int32[] + 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: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::ArrayLength(class [System.Core]System.Linq.Expressions.Expression) + IL_0082: ldc.i4.0 + 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: 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_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 ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_00ac: pop + IL_00ad: call object ExpressionTrees::X() + IL_00b2: ldnull + IL_00b3: box [mscorlib]System.Type + IL_00b8: ldtoken [mscorlib]System.Type + IL_00bd: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00c2: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_00c7: ldtoken method instance bool [mscorlib]System.Type::get_IsLayoutSequential() + IL_00cc: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_00d1: castclass [mscorlib]System.Reflection.MethodInfo + IL_00d6: 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_00db: ldc.i4.0 + IL_00dc: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_00e1: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_00e6: call object ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_00eb: pop + IL_00ec: call object ExpressionTrees::X() + IL_00f1: ldnull + IL_00f2: box class [mscorlib]System.Collections.Generic.List`1 + 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 ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_012f: pop + IL_0130: call object ExpressionTrees::X() + IL_0135: ldnull + IL_0136: box int32[] + IL_013b: ldtoken int32[] + IL_0140: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0145: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_014a: ldtoken method instance object [mscorlib]System.Array::Clone() + 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.0 + IL_015a: newarr [System.Core]System.Linq.Expressions.Expression + IL_015f: 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_0164: ldnull + IL_0165: box [mscorlib]System.Object + IL_016a: ldtoken [mscorlib]System.Object + 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::Equal(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.Expression) + IL_017e: ldc.i4.0 + IL_017f: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0184: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0189: call object ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_018e: pop + IL_018f: call object ExpressionTrees::X() + IL_0194: ldnull + IL_0195: box [mscorlib]System.Type + IL_019a: ldtoken [mscorlib]System.Type + 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 bool [mscorlib]System.Type::IsInstanceOfType(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.1 + IL_01b9: newarr [System.Core]System.Linq.Expressions.Expression + IL_01be: stloc.1 + IL_01bf: ldloc.1 + IL_01c0: ldc.i4.0 + IL_01c1: ldtoken method instance void [mscorlib]System.Object::.ctor() + IL_01c6: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_01cb: castclass [mscorlib]System.Reflection.ConstructorInfo + IL_01d0: ldc.i4.0 + IL_01d1: newarr [System.Core]System.Linq.Expressions.Expression + IL_01d6: 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_01db: stelem.ref + IL_01dc: ldloc.1 + IL_01dd: 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_01e2: ldc.i4.0 + IL_01e3: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_01e8: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_01ed: call object ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_01f2: pop + IL_01f3: call object ExpressionTrees::X() + IL_01f8: ldnull + IL_01f9: box class [mscorlib]System.Collections.Generic.List`1 + IL_01fe: ldtoken class [mscorlib]System.Collections.Generic.List`1 + IL_0203: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0208: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_020d: ldtoken method instance class [mscorlib]System.Collections.ObjectModel.ReadOnlyCollection`1 class [mscorlib]System.Collections.Generic.List`1::AsReadOnly() + IL_0212: ldtoken class [mscorlib]System.Collections.Generic.List`1 + IL_0217: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle, + valuetype [mscorlib]System.RuntimeTypeHandle) + IL_021c: castclass [mscorlib]System.Reflection.MethodInfo + IL_0221: ldc.i4.0 + IL_0222: newarr [System.Core]System.Linq.Expressions.Expression + IL_0227: 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_022c: ldc.i4.0 + IL_022d: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0232: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0237: call object ExpressionTrees::ToCode>(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_023c: pop + IL_023d: ret + } // end of method ExpressionTrees::MembersDefault + + .method public hidebysig instance void + DoAssert() cil managed + { + // Code size 407 (0x197) + .maxstack 8 + .locals init (class [System.Core]System.Linq.Expressions.Expression[] V_0) + IL_0000: nop + IL_0001: ldarg.0 + IL_0002: ldc.i4.s 37 + IL_0004: stfld int32 ExpressionTrees::'field' + IL_0009: call object ExpressionTrees::X() + IL_000e: ldarg.0 + IL_000f: box ExpressionTrees + IL_0014: ldtoken ExpressionTrees + 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 int32 ExpressionTrees::'field' + 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: ldarg.0 + IL_0033: box ExpressionTrees + IL_0038: ldtoken ExpressionTrees + 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 method instance int32 ExpressionTrees::C() + IL_004c: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0051: castclass [mscorlib]System.Reflection.MethodInfo + IL_0056: ldc.i4.0 + IL_0057: newarr [System.Core]System.Linq.Expressions.Expression + 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: 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_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 ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0076: pop + IL_0077: call object ExpressionTrees::X() + IL_007c: ldnull + IL_007d: ldtoken method bool [mscorlib]System.Object::ReferenceEquals(object, + object) + 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: ldc.i4.2 + IL_008d: newarr [System.Core]System.Linq.Expressions.Expression + IL_0092: stloc.0 + IL_0093: ldloc.0 + IL_0094: ldc.i4.0 + IL_0095: ldarg.0 + IL_0096: box ExpressionTrees + IL_009b: ldtoken ExpressionTrees + 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.0 + IL_00ac: ldc.i4.1 + IL_00ad: ldtoken method instance void ExpressionTrees::.ctor() + IL_00b2: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_00b7: castclass [mscorlib]System.Reflection.ConstructorInfo + IL_00bc: ldc.i4.0 + IL_00bd: newarr [System.Core]System.Linq.Expressions.Expression + IL_00c2: 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_00c7: stelem.ref + IL_00c8: ldloc.0 + IL_00c9: 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_00ce: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Not(class [System.Core]System.Linq.Expressions.Expression) + IL_00d3: ldc.i4.0 + IL_00d4: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_00d9: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_00de: call object ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_00e3: pop + IL_00e4: call object ExpressionTrees::X() + IL_00e9: ldarg.0 + IL_00ea: box ExpressionTrees + IL_00ef: ldtoken ExpressionTrees + IL_00f4: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00f9: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_00fe: ldtoken method instance bool ExpressionTrees::MyEquals(class ExpressionTrees) + IL_0103: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0108: castclass [mscorlib]System.Reflection.MethodInfo + IL_010d: ldc.i4.1 + IL_010e: newarr [System.Core]System.Linq.Expressions.Expression + IL_0113: stloc.0 + IL_0114: ldloc.0 + IL_0115: ldc.i4.0 + IL_0116: ldarg.0 + IL_0117: box ExpressionTrees + IL_011c: ldtoken ExpressionTrees + IL_0121: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0126: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_012b: stelem.ref + IL_012c: ldloc.0 + IL_012d: 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_0132: ldarg.0 + IL_0133: box ExpressionTrees + IL_0138: ldtoken ExpressionTrees + IL_013d: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0142: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0147: ldtoken method instance bool ExpressionTrees::MyEquals(class ExpressionTrees) + IL_014c: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0151: castclass [mscorlib]System.Reflection.MethodInfo + IL_0156: ldc.i4.1 + IL_0157: newarr [System.Core]System.Linq.Expressions.Expression + IL_015c: stloc.0 + IL_015d: ldloc.0 + IL_015e: ldc.i4.0 + IL_015f: ldnull + IL_0160: box ExpressionTrees + IL_0165: ldtoken ExpressionTrees + IL_016a: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_016f: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0174: stelem.ref + IL_0175: ldloc.0 + IL_0176: 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_017b: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Not(class [System.Core]System.Linq.Expressions.Expression) + IL_0180: 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_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 ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0195: pop + IL_0196: ret + } // end of method ExpressionTrees::DoAssert + + .method private hidebysig instance int32 + C() cil managed + { + // Code size 14 (0xe) + .maxstack 2 + .locals init (int32 V_0) + IL_0000: nop + IL_0001: ldarg.0 + IL_0002: ldfld int32 ExpressionTrees::'field' + IL_0007: ldc.i4.5 + IL_0008: add + IL_0009: stloc.0 + IL_000a: br.s IL_000c + + IL_000c: ldloc.0 + IL_000d: ret + } // end of method ExpressionTrees::C + + .method private hidebysig instance bool + MyEquals(class ExpressionTrees other) cil managed + { + // Code size 27 (0x1b) + .maxstack 2 + .locals init (bool V_0) + IL_0000: nop + IL_0001: ldarg.1 + IL_0002: brfalse.s IL_0014 + + IL_0004: ldarg.0 + IL_0005: ldfld int32 ExpressionTrees::'field' + IL_000a: ldarg.1 + IL_000b: ldfld int32 ExpressionTrees::'field' + IL_0010: ceq + IL_0012: br.s IL_0015 + + IL_0014: ldc.i4.0 + IL_0015: nop + IL_0016: stloc.0 + IL_0017: br.s IL_0019 + + IL_0019: ldloc.0 + IL_001a: ret + } // end of method ExpressionTrees::MyEquals + + .method public hidebysig instance void + MethodGroupAsExtensionMethod() cil managed + { + // Code size 273 (0x111) + .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 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: stelem.ref + IL_00ea: ldloc.0 + 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 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 900 (0x384) + .maxstack 11 + .locals init (class 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 ExpressionTrees/'<>c__DisplayClass10'::.ctor() + IL_0005: stloc.0 + IL_0006: nop + IL_0007: call object 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 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 ExpressionTrees/'<>c__DisplayClass10'::set + IL_0154: call object 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 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 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> ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegatef' + IL_02a6: brtrue.s IL_02bb + + IL_02a8: ldnull + IL_02a9: ldftn bool 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> ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegatef' + IL_02b9: br.s IL_02bb + + IL_02bb: ldsfld class [mscorlib]System.Func`2,bool> ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegatef' + IL_02c0: stfld class [mscorlib]System.Func`2,bool> ExpressionTrees/'<>c__DisplayClass10'::sink + IL_02c5: call object 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> 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 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 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 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 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 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 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 ExpressionTrees/'<>c__DisplayClass14'::.ctor() + IL_0005: stloc.0 + IL_0006: nop + IL_0007: ldloc.0 + IL_0008: ldsfld class [mscorlib]System.Func`2,int32> ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate13' + IL_000d: brtrue.s IL_0022 + + IL_000f: ldnull + IL_0010: ldftn int32 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> ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate13' + IL_0020: br.s IL_0022 + + IL_0022: ldsfld class [mscorlib]System.Func`2,int32> ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate13' + IL_0027: stfld class [mscorlib]System.Func`2,int32> ExpressionTrees/'<>c__DisplayClass14'::'call' + IL_002c: call object 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> 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 ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0087: pop + IL_0088: call object 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 ExpressionTrees::ToCode>(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_014d: pop + IL_014e: call object 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 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 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 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 public hidebysig instance void + NestedLambda2() cil managed + { + // Code size 562 (0x232) + .maxstack 9 + .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) + IL_0000: nop + IL_0001: call object ExpressionTrees::X() + IL_0006: ldarg.0 + IL_0007: box ExpressionTrees + IL_000c: ldtoken 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 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 ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_009a: pop + IL_009b: call object ExpressionTrees::X() + IL_00a0: ldarg.0 + IL_00a1: box ExpressionTrees + IL_00a6: ldtoken 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 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.Int32 + 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: ldc.i4.s 37 + IL_00e5: box [mscorlib]System.Int32 + IL_00ea: ldtoken [mscorlib]System.Int32 + 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: 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_00fe: ldc.i4.1 + IL_00ff: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0104: stloc.2 + IL_0105: ldloc.2 + IL_0106: ldc.i4.0 + IL_0107: ldloc.1 + IL_0108: stelem.ref + IL_0109: ldloc.2 + 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: 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 ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0126: pop + IL_0127: call object ExpressionTrees::X() + IL_012c: ldarg.0 + IL_012d: box ExpressionTrees + IL_0132: ldtoken ExpressionTrees + IL_0137: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_013c: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0141: ldtoken method instance bool ExpressionTrees::Fizz(class [mscorlib]System.Func`2) + IL_0146: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_014b: castclass [mscorlib]System.Reflection.MethodInfo + IL_0150: ldc.i4.1 + IL_0151: newarr [System.Core]System.Linq.Expressions.Expression + IL_0156: stloc.0 + IL_0157: ldloc.0 + IL_0158: ldc.i4.0 + IL_0159: ldtoken [mscorlib]System.Int32 + IL_015e: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0163: ldstr "x" + IL_0168: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_016d: stloc.1 + IL_016e: ldc.i4.1 + IL_016f: box [mscorlib]System.Boolean + IL_0174: ldtoken [mscorlib]System.Boolean + IL_0179: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_017e: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0183: ldc.i4.1 + IL_0184: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0189: stloc.2 + IL_018a: ldloc.2 + IL_018b: ldc.i4.0 + IL_018c: ldloc.1 + IL_018d: stelem.ref + IL_018e: ldloc.2 + IL_018f: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0194: stelem.ref + IL_0195: ldloc.0 + IL_0196: 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_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 object ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_01ab: pop + IL_01ac: call object ExpressionTrees::X() + IL_01b1: ldarg.0 + IL_01b2: box ExpressionTrees + IL_01b7: ldtoken ExpressionTrees + IL_01bc: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_01c1: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_01c6: ldtoken method instance bool ExpressionTrees::Buzz(class [mscorlib]System.Func`2) + IL_01cb: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_01d0: castclass [mscorlib]System.Reflection.MethodInfo + IL_01d5: ldc.i4.1 + IL_01d6: newarr [System.Core]System.Linq.Expressions.Expression + IL_01db: stloc.0 + IL_01dc: ldloc.0 + IL_01dd: ldc.i4.0 + IL_01de: ldtoken [mscorlib]System.Int32 + IL_01e3: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_01e8: ldstr "x" + IL_01ed: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_01f2: stloc.1 + IL_01f3: ldc.i4.1 + IL_01f4: box [mscorlib]System.Boolean + IL_01f9: ldtoken [mscorlib]System.Boolean + IL_01fe: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0203: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0208: ldc.i4.1 + IL_0209: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_020e: stloc.2 + IL_020f: ldloc.2 + IL_0210: ldc.i4.0 + IL_0211: ldloc.1 + IL_0212: stelem.ref + IL_0213: ldloc.2 + IL_0214: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0219: stelem.ref + IL_021a: ldloc.0 + IL_021b: 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_0220: ldc.i4.0 + IL_0221: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0226: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_022b: call object ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0230: pop + IL_0231: 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 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 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 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 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 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 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 ExpressionTrees/'<>c__DisplayClass16' V_0) + IL_0000: newobj instance void ExpressionTrees/'<>c__DisplayClass16'::.ctor() + IL_0005: stloc.0 + IL_0006: nop + IL_0007: ldloc.0 + IL_0008: ldc.i4.1 + IL_0009: stfld bool ExpressionTrees/'<>c__DisplayClass16'::x + IL_000e: ldloc.0 + IL_000f: ldc.i4.3 + IL_0010: stfld int32 ExpressionTrees/'<>c__DisplayClass16'::y + IL_0015: ldloc.0 + IL_0016: ldc.i4.s 42 + IL_0018: stfld uint8 ExpressionTrees/'<>c__DisplayClass16'::z + IL_001d: call object 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 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 ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0075: pop + IL_0076: call object 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 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 ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_00bf: pop + IL_00c0: call object 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 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 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 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 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 ExpressionTrees/'<>c__DisplayClass19'::s + IL_0024: call object 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 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 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 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 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 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 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 ExpressionTrees::X() + IL_0006: ldnull + IL_0007: ldtoken method object 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 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 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 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 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 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 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 ExpressionTrees::X() + IL_0006: ldarg.0 + IL_0007: box ExpressionTrees + IL_000c: ldtoken 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 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 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 ExpressionTrees + IL_0025: ldtoken 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 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 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 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 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 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 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 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 ExpressionTrees/'<>c__DisplayClass1b' V_0) + IL_0000: newobj instance void ExpressionTrees/'<>c__DisplayClass1b'::.ctor() + IL_0005: stloc.0 + IL_0006: nop + IL_0007: ldloc.0 + IL_0008: ldc.i4.1 + IL_0009: stfld int32 ExpressionTrees/'<>c__DisplayClass1b'::i + IL_000e: ldloc.0 + IL_000f: ldstr "X" + IL_0014: stfld string ExpressionTrees/'<>c__DisplayClass1b'::x + IL_0019: call object 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 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 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 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 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 + StringAccessor() 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 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 ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0088: pop + IL_0089: ret + } // end of method ExpressionTrees::StringAccessor + + .method public hidebysig instance void + GenericClassInstance() cil managed + { + // Code size 151 (0x97) + .maxstack 5 + IL_0000: nop + IL_0001: call object ExpressionTrees::X() + IL_0006: ldtoken method instance void class ExpressionTrees/GenericClass`1::.ctor() + IL_000b: ldtoken class 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 ExpressionTrees/GenericClass`1::InstanceField + IL_002a: ldtoken class 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 ExpressionTrees/GenericClass`1::.ctor() + IL_004d: ldtoken class 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 ExpressionTrees/GenericClass`1::get_InstanceProperty() + IL_006c: ldtoken class 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 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 ExpressionTrees::X() + IL_0006: ldnull + IL_0007: ldtoken field !0 class ExpressionTrees/GenericClass`1::StaticField + IL_000c: ldtoken class 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 ExpressionTrees/GenericClass`1::get_StaticProperty() + IL_0030: ldtoken class 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 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 ExpressionTrees::X() + IL_0006: ldnull + IL_0007: ldtoken method bool class ExpressionTrees/GenericClass`1::GenericMethod() + IL_000c: ldtoken class 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 ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0036: pop + IL_0037: ret + } // end of method ExpressionTrees::InvokeGenericMethod + + .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' + +} // end of class ExpressionTrees + +.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' + + +// ============================================================= + +// *********** 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..5da07115d --- /dev/null +++ b/ICSharpCode.Decompiler.Tests/TestCases/Pretty/ExpressionTrees.opt.il @@ -0,0 +1,5020 @@ + +// 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 zkgfee0m +{ + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilationRelaxationsAttribute::.ctor(int32) = ( 01 00 08 00 00 00 00 00 ) + .custom instance void [mscorlib]System.Runtime.CompilerServices.RuntimeCompatibilityAttribute::.ctor() = ( 01 00 01 00 54 02 16 57 72 61 70 4E 6F 6E 45 78 // ....T..WrapNonEx + 63 65 70 74 69 6F 6E 54 68 72 6F 77 73 01 ) // ceptionThrows. + .permissionset reqmin + = {[mscorlib]System.Security.Permissions.SecurityPermissionAttribute = {property bool 'SkipVerification' = bool(true)}} + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.module zkgfee0m.dll +// MVID: {CE4214BB-7BBF-471B-81A0-5ECC07FB8BB5} +.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: 0x00AF0000 + + +// =============== CLASS MEMBERS DECLARATION =================== + +.class public auto ansi beforefieldinit 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 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 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 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 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 ExpressionTrees/GenericClass`1::get_StaticProperty() + .set void ExpressionTrees/GenericClass`1::set_StaticProperty(!X) + } // end of property GenericClass`1::StaticProperty + .property instance !X InstanceProperty() + { + .set instance void ExpressionTrees/GenericClass`1::set_InstanceProperty(!X) + .get instance !X 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' + + .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 ) + .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 ExpressionTrees/'<>c__DisplayClass0' V_0) + IL_0000: newobj instance void ExpressionTrees/'<>c__DisplayClass0'::.ctor() + IL_0005: stloc.0 + IL_0006: ldloc.0 + IL_0007: ldarg.1 + IL_0008: stfld bool ExpressionTrees/'<>c__DisplayClass0'::a + IL_000d: call object 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 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 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 ExpressionTrees/'<>c__DisplayClass2' V_0) + IL_0000: newobj instance void ExpressionTrees/'<>c__DisplayClass2'::.ctor() + IL_0005: stloc.0 + IL_0006: ldloc.0 + IL_0007: ldc.i4.1 + IL_0008: stfld bool ExpressionTrees/'<>c__DisplayClass2'::a + IL_000d: call object 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 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 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 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 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 ExpressionTrees/'<>c__DisplayClass4' V_0) + IL_0000: newobj instance void ExpressionTrees/'<>c__DisplayClass4'::.ctor() + IL_0005: stloc.0 + IL_0006: ldloc.0 + IL_0007: ldarg.1 + IL_0008: stfld int32 ExpressionTrees/'<>c__DisplayClass4'::x + IL_000d: call object 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 ExpressionTrees/'<>c__DisplayClass8' V_0, + class [System.Core]System.Linq.Expressions.Expression[] V_1) + IL_0000: newobj instance void 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 ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate7' + IL_0014: brtrue.s IL_0027 + + IL_0016: ldnull + IL_0017: ldftn string 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 ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate7' + IL_0027: ldsfld class [mscorlib]System.Func`2 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 ExpressionTrees/'<>c__DisplayClass8'::dict + IL_0036: call object 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 ExpressionTrees/'<>c__DisplayClassa' V_0) + IL_0000: newobj instance void ExpressionTrees/'<>c__DisplayClassa'::.ctor() + IL_0005: stloc.0 + IL_0006: ldloc.0 + IL_0007: ldc.i4.1 + IL_0008: stfld int32 ExpressionTrees/'<>c__DisplayClassa'::i + IL_000d: ldloc.0 + IL_000e: ldstr "X" + IL_0013: stfld string ExpressionTrees/'<>c__DisplayClassa'::x + IL_0018: call object 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 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 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 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 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 ExpressionTrees/'<>c__DisplayClassc' V_0) + IL_0000: newobj instance void ExpressionTrees/'<>c__DisplayClassc'::.ctor() + IL_0005: stloc.0 + IL_0006: ldloc.0 + IL_0007: ldc.i4.s 42 + IL_0009: stfld uint8 ExpressionTrees/'<>c__DisplayClassc'::z + IL_000e: call object 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 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 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 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 ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_004e: pop + IL_004f: call object 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 ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_00c0: pop + IL_00c1: call object 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 ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0118: pop + IL_0119: call object 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 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 573 (0x23d) + .maxstack 7 + .locals init (valuetype [mscorlib]System.DateTime V_0, + class [System.Core]System.Linq.Expressions.Expression[] V_1) + IL_0000: call object 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 ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0061: pop + IL_0062: call object ExpressionTrees::X() + IL_0067: ldnull + IL_0068: box int32[] + IL_006d: ldtoken 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.UnaryExpression [System.Core]System.Linq.Expressions.Expression::ArrayLength(class [System.Core]System.Linq.Expressions.Expression) + IL_0081: ldc.i4.0 + IL_0082: box [mscorlib]System.Int32 + IL_0087: ldtoken [mscorlib]System.Int32 + 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::Equal(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 ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_00ab: pop + IL_00ac: call object ExpressionTrees::X() + IL_00b1: ldnull + IL_00b2: box [mscorlib]System.Type + IL_00b7: ldtoken [mscorlib]System.Type + 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: ldtoken method instance bool [mscorlib]System.Type::get_IsLayoutSequential() + IL_00cb: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_00d0: castclass [mscorlib]System.Reflection.MethodInfo + IL_00d5: 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_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 object ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_00ea: pop + IL_00eb: call object ExpressionTrees::X() + IL_00f0: ldnull + IL_00f1: box class [mscorlib]System.Collections.Generic.List`1 + 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 ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_012e: pop + IL_012f: call object ExpressionTrees::X() + IL_0134: ldnull + IL_0135: box int32[] + IL_013a: ldtoken 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: ldtoken method instance object [mscorlib]System.Array::Clone() + 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.0 + IL_0159: newarr [System.Core]System.Linq.Expressions.Expression + 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: ldnull + IL_0164: box [mscorlib]System.Object + IL_0169: ldtoken [mscorlib]System.Object + IL_016e: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0173: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0178: 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_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 ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_018d: pop + IL_018e: call object ExpressionTrees::X() + IL_0193: ldnull + IL_0194: box [mscorlib]System.Type + IL_0199: ldtoken [mscorlib]System.Type + 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: ldtoken method instance bool [mscorlib]System.Type::IsInstanceOfType(object) + IL_01ad: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_01b2: castclass [mscorlib]System.Reflection.MethodInfo + IL_01b7: ldc.i4.1 + IL_01b8: newarr [System.Core]System.Linq.Expressions.Expression + IL_01bd: stloc.1 + IL_01be: ldloc.1 + IL_01bf: ldc.i4.0 + IL_01c0: ldtoken method instance void [mscorlib]System.Object::.ctor() + IL_01c5: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_01ca: castclass [mscorlib]System.Reflection.ConstructorInfo + IL_01cf: ldc.i4.0 + IL_01d0: newarr [System.Core]System.Linq.Expressions.Expression + IL_01d5: 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_01da: stelem.ref + IL_01db: ldloc.1 + IL_01dc: 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_01e1: ldc.i4.0 + IL_01e2: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_01e7: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_01ec: call object ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_01f1: pop + IL_01f2: call object ExpressionTrees::X() + IL_01f7: ldnull + IL_01f8: box class [mscorlib]System.Collections.Generic.List`1 + IL_01fd: ldtoken class [mscorlib]System.Collections.Generic.List`1 + 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.Collections.ObjectModel.ReadOnlyCollection`1 class [mscorlib]System.Collections.Generic.List`1::AsReadOnly() + IL_0211: ldtoken class [mscorlib]System.Collections.Generic.List`1 + IL_0216: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle, + valuetype [mscorlib]System.RuntimeTypeHandle) + IL_021b: castclass [mscorlib]System.Reflection.MethodInfo + IL_0220: ldc.i4.0 + IL_0221: newarr [System.Core]System.Linq.Expressions.Expression + IL_0226: 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_022b: ldc.i4.0 + IL_022c: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0231: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0236: call object ExpressionTrees::ToCode>(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_023b: pop + IL_023c: ret + } // end of method ExpressionTrees::MembersDefault + + .method public hidebysig instance void + DoAssert() cil managed + { + // Code size 406 (0x196) + .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: ldarg.0 + IL_0001: ldc.i4.s 37 + IL_0003: stfld int32 ExpressionTrees::'field' + IL_0008: call object ExpressionTrees::X() + IL_000d: ldarg.0 + IL_000e: box ExpressionTrees + IL_0013: ldtoken ExpressionTrees + 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 int32 ExpressionTrees::'field' + 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: ldarg.0 + IL_0032: box ExpressionTrees + IL_0037: ldtoken ExpressionTrees + 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 method instance int32 ExpressionTrees::C() + 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: ldc.i4.0 + IL_0056: newarr [System.Core]System.Linq.Expressions.Expression + IL_005b: 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_0060: 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_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 ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0075: pop + IL_0076: call object ExpressionTrees::X() + IL_007b: ldnull + IL_007c: ldtoken method bool [mscorlib]System.Object::ReferenceEquals(object, + object) + 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: ldc.i4.2 + IL_008c: newarr [System.Core]System.Linq.Expressions.Expression + IL_0091: stloc.0 + IL_0092: ldloc.0 + IL_0093: ldc.i4.0 + IL_0094: ldarg.0 + IL_0095: box ExpressionTrees + IL_009a: ldtoken ExpressionTrees + 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.0 + IL_00ab: ldc.i4.1 + IL_00ac: ldtoken method instance void ExpressionTrees::.ctor() + IL_00b1: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_00b6: castclass [mscorlib]System.Reflection.ConstructorInfo + IL_00bb: ldc.i4.0 + IL_00bc: newarr [System.Core]System.Linq.Expressions.Expression + IL_00c1: 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_00c6: stelem.ref + IL_00c7: ldloc.0 + IL_00c8: 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_00cd: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Not(class [System.Core]System.Linq.Expressions.Expression) + IL_00d2: ldc.i4.0 + IL_00d3: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_00d8: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_00dd: call object ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_00e2: pop + IL_00e3: call object ExpressionTrees::X() + IL_00e8: ldarg.0 + IL_00e9: box ExpressionTrees + IL_00ee: ldtoken ExpressionTrees + 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: ldtoken method instance bool ExpressionTrees::MyEquals(class ExpressionTrees) + IL_0102: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0107: castclass [mscorlib]System.Reflection.MethodInfo + IL_010c: ldc.i4.1 + IL_010d: newarr [System.Core]System.Linq.Expressions.Expression + IL_0112: stloc.1 + IL_0113: ldloc.1 + IL_0114: ldc.i4.0 + IL_0115: ldarg.0 + IL_0116: box ExpressionTrees + IL_011b: ldtoken ExpressionTrees + IL_0120: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0125: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_012a: stelem.ref + IL_012b: ldloc.1 + IL_012c: 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_0131: ldarg.0 + IL_0132: box ExpressionTrees + IL_0137: ldtoken ExpressionTrees + 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: ldtoken method instance bool ExpressionTrees::MyEquals(class ExpressionTrees) + IL_014b: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0150: castclass [mscorlib]System.Reflection.MethodInfo + IL_0155: ldc.i4.1 + IL_0156: newarr [System.Core]System.Linq.Expressions.Expression + IL_015b: stloc.2 + IL_015c: ldloc.2 + IL_015d: ldc.i4.0 + IL_015e: ldnull + IL_015f: box ExpressionTrees + IL_0164: ldtoken ExpressionTrees + 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: stelem.ref + IL_0174: ldloc.2 + IL_0175: 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_017a: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Not(class [System.Core]System.Linq.Expressions.Expression) + IL_017f: 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_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 ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0194: pop + IL_0195: ret + } // end of method ExpressionTrees::DoAssert + + .method private hidebysig instance int32 + C() cil managed + { + // Code size 9 (0x9) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 ExpressionTrees::'field' + IL_0006: ldc.i4.5 + IL_0007: add + IL_0008: ret + } // end of method ExpressionTrees::C + + .method private hidebysig instance bool + MyEquals(class ExpressionTrees other) cil managed + { + // Code size 20 (0x14) + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: brfalse.s IL_0012 + + IL_0003: ldarg.0 + IL_0004: ldfld int32 ExpressionTrees::'field' + IL_0009: ldarg.1 + IL_000a: ldfld int32 ExpressionTrees::'field' + IL_000f: ceq + IL_0011: ret + + IL_0012: ldc.i4.0 + IL_0013: ret + } // end of method ExpressionTrees::MyEquals + + .method public hidebysig instance void + MethodGroupAsExtensionMethod() cil managed + { + // Code size 272 (0x110) + .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 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: stelem.ref + IL_00e9: ldloc.0 + IL_00ea: 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_00ef: ldtoken class [mscorlib]System.Func`1 + IL_00f4: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00f9: 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_00fe: ldc.i4.0 + IL_00ff: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0104: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0109: call object ExpressionTrees::ToCode>(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_010e: pop + IL_010f: ret + } // end of method ExpressionTrees::MethodGroupAsExtensionMethod + + .method public hidebysig instance void + MethodGroupConstant() cil managed + { + // Code size 917 (0x395) + .maxstack 11 + .locals init (class 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 ExpressionTrees/'<>c__DisplayClass10'::.ctor() + IL_0005: stloc.0 + IL_0006: call object 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 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 ExpressionTrees/'<>c__DisplayClass10'::set + IL_0153: call object 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 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 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> ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegatef' + IL_02b3: brtrue.s IL_02c6 + + IL_02b5: ldnull + IL_02b6: ldftn bool 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> ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegatef' + IL_02c6: ldsfld class [mscorlib]System.Func`2,bool> ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegatef' + IL_02cb: stfld class [mscorlib]System.Func`2,bool> ExpressionTrees/'<>c__DisplayClass10'::sink + IL_02d0: call object 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> 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 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 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 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 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 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 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 ExpressionTrees/'<>c__DisplayClass14'::.ctor() + IL_0005: stloc.0 + IL_0006: ldloc.0 + IL_0007: ldsfld class [mscorlib]System.Func`2,int32> ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate13' + IL_000c: brtrue.s IL_001f + + IL_000e: ldnull + IL_000f: ldftn int32 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> ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate13' + IL_001f: ldsfld class [mscorlib]System.Func`2,int32> ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate13' + IL_0024: stfld class [mscorlib]System.Func`2,int32> ExpressionTrees/'<>c__DisplayClass14'::'call' + IL_0029: call object 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> 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 ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0084: pop + IL_0085: call object 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 ExpressionTrees::ToCode>(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_014d: pop + IL_014e: call object 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 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 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 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 public hidebysig instance void + NestedLambda2() cil managed + { + // Code size 583 (0x247) + .maxstack 9 + .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.ParameterExpression[] V_8, + class [System.Core]System.Linq.Expressions.Expression[] V_9, + class [System.Core]System.Linq.Expressions.ParameterExpression V_10, + class [System.Core]System.Linq.Expressions.ParameterExpression[] V_11) + IL_0000: call object ExpressionTrees::X() + IL_0005: ldarg.0 + IL_0006: box ExpressionTrees + IL_000b: ldtoken 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 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 ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0099: pop + IL_009a: call object ExpressionTrees::X() + IL_009f: ldarg.0 + IL_00a0: box ExpressionTrees + IL_00a5: ldtoken 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 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.Int32 + 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: ldc.i4.s 37 + IL_00e6: box [mscorlib]System.Int32 + IL_00eb: ldtoken [mscorlib]System.Int32 + 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: 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_00ff: ldc.i4.1 + IL_0100: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0105: stloc.s V_5 + IL_0107: ldloc.s V_5 + IL_0109: ldc.i4.0 + IL_010a: ldloc.s V_4 + IL_010c: stelem.ref + IL_010d: ldloc.s V_5 + 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: stelem.ref + IL_0115: ldloc.3 + IL_0116: 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_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 ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_012b: pop + IL_012c: call object ExpressionTrees::X() + IL_0131: ldarg.0 + IL_0132: box ExpressionTrees + IL_0137: ldtoken ExpressionTrees + 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: ldtoken method instance bool ExpressionTrees::Fizz(class [mscorlib]System.Func`2) + IL_014b: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0150: castclass [mscorlib]System.Reflection.MethodInfo + IL_0155: ldc.i4.1 + IL_0156: newarr [System.Core]System.Linq.Expressions.Expression + IL_015b: stloc.s V_6 + IL_015d: ldloc.s V_6 + 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: ldstr "x" + IL_016f: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0174: stloc.s V_7 + IL_0176: ldc.i4.1 + IL_0177: box [mscorlib]System.Boolean + IL_017c: ldtoken [mscorlib]System.Boolean + 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: ldc.i4.1 + IL_018c: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0191: stloc.s V_8 + IL_0193: ldloc.s V_8 + IL_0195: ldc.i4.0 + IL_0196: ldloc.s V_7 + IL_0198: stelem.ref + IL_0199: ldloc.s V_8 + 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: stelem.ref + IL_01a1: ldloc.s V_6 + IL_01a3: 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_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 object ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_01b8: pop + IL_01b9: call object ExpressionTrees::X() + IL_01be: ldarg.0 + IL_01bf: box ExpressionTrees + IL_01c4: ldtoken ExpressionTrees + IL_01c9: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_01ce: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_01d3: ldtoken method instance bool ExpressionTrees::Buzz(class [mscorlib]System.Func`2) + IL_01d8: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_01dd: castclass [mscorlib]System.Reflection.MethodInfo + IL_01e2: ldc.i4.1 + IL_01e3: newarr [System.Core]System.Linq.Expressions.Expression + IL_01e8: stloc.s V_9 + IL_01ea: ldloc.s V_9 + IL_01ec: ldc.i4.0 + IL_01ed: ldtoken [mscorlib]System.Int32 + IL_01f2: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_01f7: ldstr "x" + IL_01fc: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0201: stloc.s V_10 + IL_0203: ldc.i4.1 + IL_0204: box [mscorlib]System.Boolean + IL_0209: ldtoken [mscorlib]System.Boolean + IL_020e: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0213: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0218: ldc.i4.1 + IL_0219: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_021e: stloc.s V_11 + IL_0220: ldloc.s V_11 + IL_0222: ldc.i4.0 + IL_0223: ldloc.s V_10 + IL_0225: stelem.ref + IL_0226: ldloc.s V_11 + IL_0228: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_022d: stelem.ref + IL_022e: ldloc.s V_9 + IL_0230: 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_0235: ldc.i4.0 + IL_0236: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_023b: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0240: call object ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0245: pop + IL_0246: 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 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 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 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 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 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 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 ExpressionTrees/'<>c__DisplayClass16' V_0) + IL_0000: newobj instance void ExpressionTrees/'<>c__DisplayClass16'::.ctor() + IL_0005: stloc.0 + IL_0006: ldloc.0 + IL_0007: ldc.i4.1 + IL_0008: stfld bool ExpressionTrees/'<>c__DisplayClass16'::x + IL_000d: ldloc.0 + IL_000e: ldc.i4.3 + IL_000f: stfld int32 ExpressionTrees/'<>c__DisplayClass16'::y + IL_0014: ldloc.0 + IL_0015: ldc.i4.s 42 + IL_0017: stfld uint8 ExpressionTrees/'<>c__DisplayClass16'::z + IL_001c: call object 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 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 ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0074: pop + IL_0075: call object 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 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 ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_00be: pop + IL_00bf: call object 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 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 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 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 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 ExpressionTrees/'<>c__DisplayClass19'::s + IL_0021: call object 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 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 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 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 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 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 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 ExpressionTrees::X() + IL_0005: ldnull + IL_0006: ldtoken method object 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 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 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 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 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 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 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 ExpressionTrees::X() + IL_0005: ldarg.0 + IL_0006: box ExpressionTrees + IL_000b: ldtoken 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 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 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 ExpressionTrees + IL_0024: ldtoken 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 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 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 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 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 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 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 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 ExpressionTrees/'<>c__DisplayClass1b' V_0) + IL_0000: newobj instance void ExpressionTrees/'<>c__DisplayClass1b'::.ctor() + IL_0005: stloc.0 + IL_0006: ldloc.0 + IL_0007: ldc.i4.1 + IL_0008: stfld int32 ExpressionTrees/'<>c__DisplayClass1b'::i + IL_000d: ldloc.0 + IL_000e: ldstr "X" + IL_0013: stfld string ExpressionTrees/'<>c__DisplayClass1b'::x + IL_0018: call object 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 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 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 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 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 + StringAccessor() cil managed + { + // Code size 137 (0x89) + .maxstack 7 + .locals init (class [System.Core]System.Linq.Expressions.Expression[] V_0) + IL_0000: call object 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 ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0087: pop + IL_0088: ret + } // end of method ExpressionTrees::StringAccessor + + .method public hidebysig instance void + GenericClassInstance() cil managed + { + // Code size 150 (0x96) + .maxstack 5 + IL_0000: call object ExpressionTrees::X() + IL_0005: ldtoken method instance void class ExpressionTrees/GenericClass`1::.ctor() + IL_000a: ldtoken class 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 ExpressionTrees/GenericClass`1::InstanceField + IL_0029: ldtoken class 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 ExpressionTrees/GenericClass`1::.ctor() + IL_004c: ldtoken class 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 ExpressionTrees/GenericClass`1::get_InstanceProperty() + IL_006b: ldtoken class 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 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 ExpressionTrees::X() + IL_0005: ldnull + IL_0006: ldtoken field !0 class ExpressionTrees/GenericClass`1::StaticField + IL_000b: ldtoken class 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 ExpressionTrees/GenericClass`1::get_StaticProperty() + IL_002f: ldtoken class 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 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 ExpressionTrees::X() + IL_0005: ldnull + IL_0006: ldtoken method bool class ExpressionTrees/GenericClass`1::GenericMethod() + IL_000b: ldtoken class 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 ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0035: pop + IL_0036: ret + } // end of method ExpressionTrees::InvokeGenericMethod + + .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' + +} // end of class ExpressionTrees + +.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' + + +// ============================================================= + +// *********** 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..f3f2e2424 --- /dev/null +++ b/ICSharpCode.Decompiler.Tests/TestCases/Pretty/ExpressionTrees.opt.roslyn.il @@ -0,0 +1,4804 @@ + +// 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: {40B0725B-4128-4144-86C1-FC7C593DEAA3} +.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: 0x00F70000 + + +// =============== 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 public auto ansi beforefieldinit 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 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 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 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 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 ExpressionTrees/GenericClass`1::get_StaticProperty() + .set void ExpressionTrees/GenericClass`1::set_StaticProperty(!X) + } // end of property GenericClass`1::StaticProperty + .property instance !X InstanceProperty() + { + .get instance !X ExpressionTrees/GenericClass`1::get_InstanceProperty() + .set instance void 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__DisplayClass5_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__DisplayClass5_0'::.ctor + + } // end of class '<>c__DisplayClass5_0' + + .class auto ansi sealed nested private beforefieldinit '<>c__DisplayClass6_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__DisplayClass6_0'::.ctor + + } // end of class '<>c__DisplayClass6_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 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__DisplayClass8_0'::.ctor + + } // end of class '<>c__DisplayClass8_0' + + .class auto ansi sealed nested private beforefieldinit '<>c__DisplayClass16_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__DisplayClass16_0'::.ctor + + } // end of class '<>c__DisplayClass16_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 ExpressionTrees/'<>c' '<>9' + .field public static class [mscorlib]System.Func`2 '<>9__16_0' + .field public static class [mscorlib]System.Func`2,bool> '<>9__31_0' + .field public static class [mscorlib]System.Func`2,int32> '<>9__34_0' + .method private hidebysig specialname rtspecialname static + void .cctor() cil managed + { + // Code size 11 (0xb) + .maxstack 8 + IL_0000: newobj instance void ExpressionTrees/'<>c'::.ctor() + IL_0005: stsfld class ExpressionTrees/'<>c' 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__16_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__16_0' + + .method assembly hidebysig instance bool + 'b__31_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__31_0' + + .method assembly hidebysig instance int32 + 'b__34_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__34_0' + + } // end of class '<>c' + + .class auto ansi sealed nested private beforefieldinit '<>c__DisplayClass23_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__DisplayClass23_0'::.ctor + + } // end of class '<>c__DisplayClass23_0' + + .class auto ansi sealed nested private beforefieldinit '<>c__DisplayClass24_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__DisplayClass24_0'::.ctor + + } // end of class '<>c__DisplayClass24_0' + + .class auto ansi sealed nested private beforefieldinit '<>c__DisplayClass31_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__DisplayClass31_0'::.ctor + + } // end of class '<>c__DisplayClass31_0' + + .class auto ansi sealed nested private beforefieldinit '<>c__DisplayClass34_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__DisplayClass34_0'::.ctor + + } // end of class '<>c__DisplayClass34_0' + + .class auto ansi sealed nested private beforefieldinit '<>c__DisplayClass43_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__DisplayClass43_0'::.ctor + + } // end of class '<>c__DisplayClass43_0' + + .class auto ansi sealed nested private beforefieldinit '<>c__DisplayClass44_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__DisplayClass44_0'::.ctor + + } // end of class '<>c__DisplayClass44_0' + + .class auto ansi sealed nested private beforefieldinit '<>c__DisplayClass54_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__DisplayClass54_0'::.ctor + + } // end of class '<>c__DisplayClass54_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 + 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 ExpressionTrees/'<>c__DisplayClass5_0' V_0) + IL_0000: newobj instance void ExpressionTrees/'<>c__DisplayClass5_0'::.ctor() + IL_0005: stloc.0 + IL_0006: ldloc.0 + IL_0007: ldarg.1 + IL_0008: stfld bool ExpressionTrees/'<>c__DisplayClass5_0'::a + IL_000d: call object ExpressionTrees::X() + IL_0012: ldloc.0 + IL_0013: ldtoken ExpressionTrees/'<>c__DisplayClass5_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 ExpressionTrees/'<>c__DisplayClass5_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 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 ExpressionTrees/'<>c__DisplayClass6_0' V_0) + IL_0000: newobj instance void ExpressionTrees/'<>c__DisplayClass6_0'::.ctor() + IL_0005: stloc.0 + IL_0006: ldloc.0 + IL_0007: ldc.i4.1 + IL_0008: stfld bool ExpressionTrees/'<>c__DisplayClass6_0'::a + IL_000d: call object ExpressionTrees::X() + IL_0012: ldloc.0 + IL_0013: ldtoken ExpressionTrees/'<>c__DisplayClass6_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 ExpressionTrees/'<>c__DisplayClass6_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 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 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 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 ExpressionTrees/'<>c__DisplayClass8_0' V_0) + IL_0000: newobj instance void ExpressionTrees/'<>c__DisplayClass8_0'::.ctor() + IL_0005: stloc.0 + IL_0006: ldloc.0 + IL_0007: ldarg.1 + IL_0008: stfld int32 ExpressionTrees/'<>c__DisplayClass8_0'::x + IL_000d: call object 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 ExpressionTrees/'<>c__DisplayClass8_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 ExpressionTrees/'<>c__DisplayClass8_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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 ExpressionTrees/'<>c__DisplayClass16_0' V_0) + IL_0000: newobj instance void ExpressionTrees/'<>c__DisplayClass16_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 ExpressionTrees/'<>c'::'<>9__16_0' + IL_0014: dup + IL_0015: brtrue.s IL_002e + + IL_0017: pop + IL_0018: ldsfld class ExpressionTrees/'<>c' ExpressionTrees/'<>c'::'<>9' + IL_001d: ldftn instance string ExpressionTrees/'<>c'::'b__16_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 ExpressionTrees/'<>c'::'<>9__16_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 ExpressionTrees/'<>c__DisplayClass16_0'::dict + IL_0038: call object ExpressionTrees::X() + IL_003d: ldloc.0 + IL_003e: ldtoken ExpressionTrees/'<>c__DisplayClass16_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 ExpressionTrees/'<>c__DisplayClass16_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 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 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 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 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 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 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 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 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 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 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 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 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 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 ExpressionTrees/'<>c__DisplayClass23_0' V_0) + IL_0000: newobj instance void ExpressionTrees/'<>c__DisplayClass23_0'::.ctor() + IL_0005: stloc.0 + IL_0006: ldloc.0 + IL_0007: ldc.i4.1 + IL_0008: stfld int32 ExpressionTrees/'<>c__DisplayClass23_0'::i + IL_000d: ldloc.0 + IL_000e: ldstr "X" + IL_0013: stfld string ExpressionTrees/'<>c__DisplayClass23_0'::x + IL_0018: call object 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 ExpressionTrees/'<>c__DisplayClass23_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 ExpressionTrees/'<>c__DisplayClass23_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 ExpressionTrees/'<>c__DisplayClass23_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 ExpressionTrees/'<>c__DisplayClass23_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 ExpressionTrees/'<>c__DisplayClass23_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 ExpressionTrees/'<>c__DisplayClass23_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 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 ExpressionTrees/'<>c__DisplayClass24_0' V_0) + IL_0000: newobj instance void ExpressionTrees/'<>c__DisplayClass24_0'::.ctor() + IL_0005: stloc.0 + IL_0006: ldloc.0 + IL_0007: ldc.i4.s 42 + IL_0009: stfld uint8 ExpressionTrees/'<>c__DisplayClass24_0'::z + IL_000e: call object ExpressionTrees::X() + IL_0013: ldloc.0 + IL_0014: ldtoken ExpressionTrees/'<>c__DisplayClass24_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 ExpressionTrees/'<>c__DisplayClass24_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 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 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 ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_004e: pop + IL_004f: call object 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 ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_00be: pop + IL_00bf: call object 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 ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0116: pop + IL_0117: call object 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 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 525 (0x20d) + .maxstack 7 + .locals init (valuetype [mscorlib]System.DateTime V_0) + IL_0000: call object 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 ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0061: pop + IL_0062: call object ExpressionTrees::X() + IL_0067: ldnull + IL_0068: ldtoken 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.UnaryExpression [System.Core]System.Linq.Expressions.Expression::ArrayLength(class [System.Core]System.Linq.Expressions.Expression) + IL_007c: ldc.i4.0 + 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: 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_0096: ldc.i4.0 + IL_0097: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_009c: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_00a1: call object ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_00a6: pop + IL_00a7: call object ExpressionTrees::X() + IL_00ac: ldnull + IL_00ad: ldtoken [mscorlib]System.Type + IL_00b2: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00b7: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_00bc: ldtoken method instance bool [mscorlib]System.Type::get_IsLayoutSequential() + IL_00c1: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_00c6: castclass [mscorlib]System.Reflection.MethodInfo + IL_00cb: 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_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 object ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_00e0: pop + IL_00e1: call object ExpressionTrees::X() + IL_00e6: ldnull + IL_00e7: ldtoken class [mscorlib]System.Collections.Generic.List`1 + 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 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.0 + IL_0110: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0115: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_011a: call object ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_011f: pop + IL_0120: call object ExpressionTrees::X() + IL_0125: ldnull + IL_0126: ldtoken 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: ldtoken method instance object [mscorlib]System.Array::Clone() + 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.0 + IL_0145: newarr [System.Core]System.Linq.Expressions.Expression + IL_014a: 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_014f: ldnull + IL_0150: ldtoken [mscorlib]System.Object + 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: 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_0164: ldc.i4.0 + IL_0165: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_016a: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_016f: call object ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0174: pop + IL_0175: call object ExpressionTrees::X() + IL_017a: ldnull + IL_017b: ldtoken [mscorlib]System.Type + IL_0180: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0185: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_018a: ldtoken method instance bool [mscorlib]System.Type::IsInstanceOfType(object) + IL_018f: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0194: castclass [mscorlib]System.Reflection.MethodInfo + IL_0199: ldc.i4.1 + IL_019a: newarr [System.Core]System.Linq.Expressions.Expression + IL_019f: dup + IL_01a0: ldc.i4.0 + IL_01a1: ldtoken [mscorlib]System.Object + 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: stelem.ref + IL_01b1: 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_01b6: ldc.i4.0 + IL_01b7: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_01bc: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_01c1: call object ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_01c6: pop + IL_01c7: call object ExpressionTrees::X() + IL_01cc: ldnull + IL_01cd: ldtoken class [mscorlib]System.Collections.Generic.List`1 + IL_01d2: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_01d7: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_01dc: ldtoken method instance class [mscorlib]System.Collections.ObjectModel.ReadOnlyCollection`1 class [mscorlib]System.Collections.Generic.List`1::AsReadOnly() + IL_01e1: ldtoken class [mscorlib]System.Collections.Generic.List`1 + IL_01e6: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle, + valuetype [mscorlib]System.RuntimeTypeHandle) + IL_01eb: castclass [mscorlib]System.Reflection.MethodInfo + IL_01f0: ldc.i4.0 + IL_01f1: newarr [System.Core]System.Linq.Expressions.Expression + IL_01f6: 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_01fb: ldc.i4.0 + IL_01fc: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0201: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0206: call object ExpressionTrees::ToCode>(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_020b: pop + IL_020c: ret + } // end of method ExpressionTrees::MembersDefault + + .method public hidebysig instance void + DoAssert() cil managed + { + // Code size 354 (0x162) + .maxstack 9 + IL_0000: ldarg.0 + IL_0001: ldc.i4.s 37 + IL_0003: stfld int32 ExpressionTrees::'field' + IL_0008: call object ExpressionTrees::X() + IL_000d: ldarg.0 + IL_000e: ldtoken ExpressionTrees + IL_0013: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0018: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_001d: ldtoken field int32 ExpressionTrees::'field' + IL_0022: call class [mscorlib]System.Reflection.FieldInfo [mscorlib]System.Reflection.FieldInfo::GetFieldFromHandle(valuetype [mscorlib]System.RuntimeFieldHandle) + IL_0027: 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_002c: ldarg.0 + IL_002d: ldtoken ExpressionTrees + 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: ldtoken method instance int32 ExpressionTrees::C() + IL_0041: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0046: castclass [mscorlib]System.Reflection.MethodInfo + IL_004b: ldc.i4.0 + IL_004c: newarr [System.Core]System.Linq.Expressions.Expression + 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.BinaryExpression [System.Core]System.Linq.Expressions.Expression::NotEqual(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 ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_006b: pop + IL_006c: call object ExpressionTrees::X() + IL_0071: ldnull + IL_0072: ldtoken method bool [mscorlib]System.Object::ReferenceEquals(object, + object) + IL_0077: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_007c: castclass [mscorlib]System.Reflection.MethodInfo + IL_0081: ldc.i4.2 + IL_0082: newarr [System.Core]System.Linq.Expressions.Expression + IL_0087: dup + IL_0088: ldc.i4.0 + IL_0089: ldarg.0 + IL_008a: ldtoken ExpressionTrees + 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: stelem.ref + IL_009a: dup + IL_009b: ldc.i4.1 + IL_009c: ldtoken ExpressionTrees + IL_00a1: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00a6: call class [System.Core]System.Linq.Expressions.NewExpression [System.Core]System.Linq.Expressions.Expression::New(class [mscorlib]System.Type) + IL_00ab: stelem.ref + 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: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Not(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 object ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_00c6: pop + IL_00c7: call object ExpressionTrees::X() + IL_00cc: ldarg.0 + IL_00cd: ldtoken ExpressionTrees + 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: ldtoken method instance bool ExpressionTrees::MyEquals(class ExpressionTrees) + IL_00e1: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_00e6: castclass [mscorlib]System.Reflection.MethodInfo + IL_00eb: ldc.i4.1 + IL_00ec: newarr [System.Core]System.Linq.Expressions.Expression + IL_00f1: dup + IL_00f2: ldc.i4.0 + IL_00f3: ldarg.0 + IL_00f4: ldtoken ExpressionTrees + 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: 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: ldarg.0 + IL_010a: ldtoken ExpressionTrees + IL_010f: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0114: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0119: ldtoken method instance bool ExpressionTrees::MyEquals(class ExpressionTrees) + IL_011e: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0123: castclass [mscorlib]System.Reflection.MethodInfo + IL_0128: ldc.i4.1 + IL_0129: newarr [System.Core]System.Linq.Expressions.Expression + IL_012e: dup + IL_012f: ldc.i4.0 + IL_0130: ldnull + IL_0131: ldtoken ExpressionTrees + IL_0136: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_013b: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0140: stelem.ref + IL_0141: 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_0146: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Not(class [System.Core]System.Linq.Expressions.Expression) + IL_014b: 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_0150: ldc.i4.0 + IL_0151: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0156: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_015b: call object ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0160: pop + IL_0161: ret + } // end of method ExpressionTrees::DoAssert + + .method private hidebysig instance int32 + C() cil managed + { + // Code size 9 (0x9) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 ExpressionTrees::'field' + IL_0006: ldc.i4.5 + IL_0007: add + IL_0008: ret + } // end of method ExpressionTrees::C + + .method private hidebysig instance bool + MyEquals(class ExpressionTrees other) cil managed + { + // Code size 20 (0x14) + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: brfalse.s IL_0012 + + IL_0003: ldarg.0 + IL_0004: ldfld int32 ExpressionTrees::'field' + IL_0009: ldarg.1 + IL_000a: ldfld int32 ExpressionTrees::'field' + IL_000f: ceq + IL_0011: ret + + IL_0012: ldc.i4.0 + IL_0013: ret + } // end of method ExpressionTrees::MyEquals + + .method public hidebysig instance void + MethodGroupAsExtensionMethod() cil managed + { + // Code size 258 (0x102) + .maxstack 12 + IL_0000: call object 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: stelem.ref + IL_00dc: 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_00e1: ldtoken class [mscorlib]System.Func`1 + IL_00e6: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00eb: 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_00f0: ldc.i4.0 + IL_00f1: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_00f6: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_00fb: call object ExpressionTrees::ToCode>(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0100: pop + IL_0101: ret + } // end of method ExpressionTrees::MethodGroupAsExtensionMethod + + .method public hidebysig instance void + MethodGroupConstant() cil managed + { + // Code size 872 (0x368) + .maxstack 13 + .locals init (class ExpressionTrees/'<>c__DisplayClass31_0' V_0) + IL_0000: newobj instance void ExpressionTrees/'<>c__DisplayClass31_0'::.ctor() + IL_0005: stloc.0 + IL_0006: call object 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 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 ExpressionTrees/'<>c__DisplayClass31_0'::set + IL_0143: call object 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 ExpressionTrees/'<>c__DisplayClass31_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 ExpressionTrees/'<>c__DisplayClass31_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 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> ExpressionTrees/'<>c'::'<>9__31_0' + IL_028f: dup + IL_0290: brtrue.s IL_02a9 + + IL_0292: pop + IL_0293: ldsfld class ExpressionTrees/'<>c' ExpressionTrees/'<>c'::'<>9' + IL_0298: ldftn instance bool ExpressionTrees/'<>c'::'b__31_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> ExpressionTrees/'<>c'::'<>9__31_0' + IL_02a9: stfld class [mscorlib]System.Func`2,bool> ExpressionTrees/'<>c__DisplayClass31_0'::sink + IL_02ae: call object ExpressionTrees::X() + IL_02b3: ldloc.0 + IL_02b4: ldtoken ExpressionTrees/'<>c__DisplayClass31_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> ExpressionTrees/'<>c__DisplayClass31_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 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 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 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 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 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 ExpressionTrees/'<>c__DisplayClass34_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 ExpressionTrees/'<>c__DisplayClass34_0'::.ctor() + IL_0005: stloc.0 + IL_0006: ldloc.0 + IL_0007: ldsfld class [mscorlib]System.Func`2,int32> ExpressionTrees/'<>c'::'<>9__34_0' + IL_000c: dup + IL_000d: brtrue.s IL_0026 + + IL_000f: pop + IL_0010: ldsfld class ExpressionTrees/'<>c' ExpressionTrees/'<>c'::'<>9' + IL_0015: ldftn instance int32 ExpressionTrees/'<>c'::'b__34_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> ExpressionTrees/'<>c'::'<>9__34_0' + IL_0026: stfld class [mscorlib]System.Func`2,int32> ExpressionTrees/'<>c__DisplayClass34_0'::'call' + IL_002b: call object ExpressionTrees::X() + IL_0030: ldloc.0 + IL_0031: ldtoken ExpressionTrees/'<>c__DisplayClass34_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> ExpressionTrees/'<>c__DisplayClass34_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 ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_008e: pop + IL_008f: call object 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 ExpressionTrees::ToCode>(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_014b: pop + IL_014c: call object 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 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 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 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 public hidebysig instance void + NestedLambda2() cil managed + { + // Code size 509 (0x1fd) + .maxstack 11 + .locals init (class [System.Core]System.Linq.Expressions.ParameterExpression V_0) + IL_0000: call object ExpressionTrees::X() + IL_0005: ldarg.0 + IL_0006: ldtoken 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 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 ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0080: pop + IL_0081: call object ExpressionTrees::X() + IL_0086: ldarg.0 + IL_0087: ldtoken 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 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.Int32 + 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: ldc.i4.s 37 + IL_00c5: box [mscorlib]System.Int32 + IL_00ca: ldtoken [mscorlib]System.Int32 + 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: 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_00de: ldc.i4.1 + IL_00df: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_00e4: dup + IL_00e5: ldc.i4.0 + IL_00e6: ldloc.0 + IL_00e7: stelem.ref + IL_00e8: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_00ed: stelem.ref + IL_00ee: 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_00f3: ldc.i4.0 + IL_00f4: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_00f9: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_00fe: call object ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0103: pop + IL_0104: call object ExpressionTrees::X() + IL_0109: ldarg.0 + IL_010a: ldtoken ExpressionTrees + IL_010f: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0114: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0119: ldtoken method instance bool ExpressionTrees::Fizz(class [mscorlib]System.Func`2) + IL_011e: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0123: castclass [mscorlib]System.Reflection.MethodInfo + IL_0128: ldc.i4.1 + IL_0129: newarr [System.Core]System.Linq.Expressions.Expression + IL_012e: dup + IL_012f: ldc.i4.0 + IL_0130: ldtoken [mscorlib]System.Int32 + IL_0135: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_013a: ldstr "x" + IL_013f: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0144: stloc.0 + IL_0145: ldc.i4.1 + IL_0146: box [mscorlib]System.Boolean + IL_014b: ldtoken [mscorlib]System.Boolean + IL_0150: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0155: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + 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: stelem.ref + IL_016a: 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_016f: ldc.i4.0 + IL_0170: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0175: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_017a: call object ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_017f: pop + IL_0180: call object ExpressionTrees::X() + IL_0185: ldarg.0 + IL_0186: ldtoken ExpressionTrees + 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: ldtoken method instance bool ExpressionTrees::Buzz(class [mscorlib]System.Func`2) + IL_019a: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_019f: castclass [mscorlib]System.Reflection.MethodInfo + IL_01a4: ldc.i4.1 + IL_01a5: newarr [System.Core]System.Linq.Expressions.Expression + IL_01aa: dup + IL_01ab: ldc.i4.0 + IL_01ac: ldtoken [mscorlib]System.Int32 + IL_01b1: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_01b6: ldstr "x" + IL_01bb: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_01c0: stloc.0 + IL_01c1: ldc.i4.1 + IL_01c2: box [mscorlib]System.Boolean + IL_01c7: ldtoken [mscorlib]System.Boolean + 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: ldc.i4.1 + IL_01d7: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_01dc: dup + IL_01dd: ldc.i4.0 + IL_01de: ldloc.0 + IL_01df: stelem.ref + IL_01e0: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_01e5: stelem.ref + IL_01e6: 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_01eb: ldc.i4.0 + IL_01ec: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_01f1: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_01f6: call object ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_01fb: pop + IL_01fc: ret + } // end of method ExpressionTrees::NestedLambda2 + + .method public hidebysig instance void + NewArrayAndExtensionMethod() cil managed + { + // Code size 290 (0x122) + .maxstack 12 + IL_0000: call object 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 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 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 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 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 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 ExpressionTrees/'<>c__DisplayClass43_0' V_0) + IL_0000: newobj instance void ExpressionTrees/'<>c__DisplayClass43_0'::.ctor() + IL_0005: stloc.0 + IL_0006: ldloc.0 + IL_0007: ldc.i4.1 + IL_0008: stfld bool ExpressionTrees/'<>c__DisplayClass43_0'::x + IL_000d: ldloc.0 + IL_000e: ldc.i4.3 + IL_000f: stfld int32 ExpressionTrees/'<>c__DisplayClass43_0'::y + IL_0014: ldloc.0 + IL_0015: ldc.i4.s 42 + IL_0017: stfld uint8 ExpressionTrees/'<>c__DisplayClass43_0'::z + IL_001c: call object ExpressionTrees::X() + IL_0021: ldloc.0 + IL_0022: ldtoken ExpressionTrees/'<>c__DisplayClass43_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 ExpressionTrees/'<>c__DisplayClass43_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 ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_007e: pop + IL_007f: call object ExpressionTrees::X() + IL_0084: ldloc.0 + IL_0085: ldtoken ExpressionTrees/'<>c__DisplayClass43_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 ExpressionTrees/'<>c__DisplayClass43_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 ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_00d2: pop + IL_00d3: call object ExpressionTrees::X() + IL_00d8: ldloc.0 + IL_00d9: ldtoken ExpressionTrees/'<>c__DisplayClass43_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 ExpressionTrees/'<>c__DisplayClass43_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 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 ExpressionTrees/'<>c__DisplayClass44_0' V_0) + IL_0000: newobj instance void ExpressionTrees/'<>c__DisplayClass44_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 ExpressionTrees/'<>c__DisplayClass44_0'::s + IL_001f: call object 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 ExpressionTrees/'<>c__DisplayClass44_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 ExpressionTrees/'<>c__DisplayClass44_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 ExpressionTrees/'<>c__DisplayClass44_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 ExpressionTrees/'<>c__DisplayClass44_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 ExpressionTrees/'<>c__DisplayClass44_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 ExpressionTrees/'<>c__DisplayClass44_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 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 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 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 ExpressionTrees::X() + IL_0005: ldnull + IL_0006: ldtoken method object 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 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 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 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 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 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 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 ExpressionTrees::X() + IL_0005: ldarg.0 + IL_0006: ldtoken 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 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 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 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 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 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 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 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 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 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 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 ExpressionTrees/'<>c__DisplayClass54_0' V_0) + IL_0000: newobj instance void ExpressionTrees/'<>c__DisplayClass54_0'::.ctor() + IL_0005: stloc.0 + IL_0006: ldloc.0 + IL_0007: ldc.i4.1 + IL_0008: stfld int32 ExpressionTrees/'<>c__DisplayClass54_0'::i + IL_000d: ldloc.0 + IL_000e: ldstr "X" + IL_0013: stfld string ExpressionTrees/'<>c__DisplayClass54_0'::x + IL_0018: call object 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 ExpressionTrees/'<>c__DisplayClass54_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 ExpressionTrees/'<>c__DisplayClass54_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 ExpressionTrees/'<>c__DisplayClass54_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 ExpressionTrees/'<>c__DisplayClass54_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 ExpressionTrees/'<>c__DisplayClass54_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 ExpressionTrees/'<>c__DisplayClass54_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 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 + StringAccessor() cil managed + { + // Code size 135 (0x87) + .maxstack 8 + IL_0000: call object 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 ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0085: pop + IL_0086: ret + } // end of method ExpressionTrees::StringAccessor + + .method public hidebysig instance void + GenericClassInstance() cil managed + { + // Code size 118 (0x76) + .maxstack 5 + IL_0000: call object ExpressionTrees::X() + IL_0005: ldtoken class 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 ExpressionTrees/GenericClass`1::InstanceField + IL_0019: ldtoken class 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 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 ExpressionTrees/GenericClass`1::get_InstanceProperty() + IL_004b: ldtoken class 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 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 ExpressionTrees::X() + IL_0005: ldnull + IL_0006: ldtoken field !0 class ExpressionTrees/GenericClass`1::StaticField + IL_000b: ldtoken class 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 ExpressionTrees/GenericClass`1::get_StaticProperty() + IL_002f: ldtoken class 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 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 ExpressionTrees::X() + IL_0005: ldnull + IL_0006: ldtoken method bool class ExpressionTrees/GenericClass`1::GenericMethod() + IL_000b: ldtoken class 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 ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0035: pop + IL_0036: ret + } // end of method ExpressionTrees::InvokeGenericMethod + + .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 ExpressionTrees + + +// ============================================================= + +// *********** 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..de0a2f899 --- /dev/null +++ b/ICSharpCode.Decompiler.Tests/TestCases/Pretty/ExpressionTrees.roslyn.il @@ -0,0 +1,4933 @@ + +// 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: {D68B624D-BA3C-4BAF-8282-A46E4994F3C5} +.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: 0x00F60000 + + +// =============== 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 public auto ansi beforefieldinit 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 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 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 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 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 ExpressionTrees/GenericClass`1::get_StaticProperty() + .set void ExpressionTrees/GenericClass`1::set_StaticProperty(!X) + } // end of property GenericClass`1::StaticProperty + .property instance !X InstanceProperty() + { + .get instance !X ExpressionTrees/GenericClass`1::get_InstanceProperty() + .set instance void 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__DisplayClass5_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__DisplayClass5_0'::.ctor + + } // end of class '<>c__DisplayClass5_0' + + .class auto ansi sealed nested private beforefieldinit '<>c__DisplayClass6_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__DisplayClass6_0'::.ctor + + } // end of class '<>c__DisplayClass6_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 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__DisplayClass8_0'::.ctor + + } // end of class '<>c__DisplayClass8_0' + + .class auto ansi sealed nested private beforefieldinit '<>c__DisplayClass16_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__DisplayClass16_0'::.ctor + + } // end of class '<>c__DisplayClass16_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 ExpressionTrees/'<>c' '<>9' + .field public static class [mscorlib]System.Func`2 '<>9__16_0' + .field public static class [mscorlib]System.Func`2,bool> '<>9__31_0' + .field public static class [mscorlib]System.Func`2,int32> '<>9__34_0' + .method private hidebysig specialname rtspecialname static + void .cctor() cil managed + { + // Code size 11 (0xb) + .maxstack 8 + IL_0000: newobj instance void ExpressionTrees/'<>c'::.ctor() + IL_0005: stsfld class ExpressionTrees/'<>c' 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__16_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__16_0' + + .method assembly hidebysig instance bool + 'b__31_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__31_0' + + .method assembly hidebysig instance int32 + 'b__34_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__34_0' + + } // end of class '<>c' + + .class auto ansi sealed nested private beforefieldinit '<>c__DisplayClass23_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__DisplayClass23_0'::.ctor + + } // end of class '<>c__DisplayClass23_0' + + .class auto ansi sealed nested private beforefieldinit '<>c__DisplayClass24_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__DisplayClass24_0'::.ctor + + } // end of class '<>c__DisplayClass24_0' + + .class auto ansi sealed nested private beforefieldinit '<>c__DisplayClass31_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__DisplayClass31_0'::.ctor + + } // end of class '<>c__DisplayClass31_0' + + .class auto ansi sealed nested private beforefieldinit '<>c__DisplayClass34_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__DisplayClass34_0'::.ctor + + } // end of class '<>c__DisplayClass34_0' + + .class auto ansi sealed nested private beforefieldinit '<>c__DisplayClass43_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__DisplayClass43_0'::.ctor + + } // end of class '<>c__DisplayClass43_0' + + .class auto ansi sealed nested private beforefieldinit '<>c__DisplayClass44_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__DisplayClass44_0'::.ctor + + } // end of class '<>c__DisplayClass44_0' + + .class auto ansi sealed nested private beforefieldinit '<>c__DisplayClass54_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__DisplayClass54_0'::.ctor + + } // end of class '<>c__DisplayClass54_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 + 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 ExpressionTrees/'<>c__DisplayClass5_0' V_0) + IL_0000: newobj instance void ExpressionTrees/'<>c__DisplayClass5_0'::.ctor() + IL_0005: stloc.0 + IL_0006: ldloc.0 + IL_0007: ldarg.1 + IL_0008: stfld bool ExpressionTrees/'<>c__DisplayClass5_0'::a + IL_000d: nop + IL_000e: call object ExpressionTrees::X() + IL_0013: ldloc.0 + IL_0014: ldtoken ExpressionTrees/'<>c__DisplayClass5_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 ExpressionTrees/'<>c__DisplayClass5_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 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 ExpressionTrees/'<>c__DisplayClass6_0' V_0) + IL_0000: newobj instance void ExpressionTrees/'<>c__DisplayClass6_0'::.ctor() + IL_0005: stloc.0 + IL_0006: nop + IL_0007: ldloc.0 + IL_0008: ldc.i4.1 + IL_0009: stfld bool ExpressionTrees/'<>c__DisplayClass6_0'::a + IL_000e: call object ExpressionTrees::X() + IL_0013: ldloc.0 + IL_0014: ldtoken ExpressionTrees/'<>c__DisplayClass6_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 ExpressionTrees/'<>c__DisplayClass6_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 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 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 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 ExpressionTrees/'<>c__DisplayClass8_0' V_0) + IL_0000: newobj instance void ExpressionTrees/'<>c__DisplayClass8_0'::.ctor() + IL_0005: stloc.0 + IL_0006: ldloc.0 + IL_0007: ldarg.1 + IL_0008: stfld int32 ExpressionTrees/'<>c__DisplayClass8_0'::x + IL_000d: nop + IL_000e: call object 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 ExpressionTrees/'<>c__DisplayClass8_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 ExpressionTrees/'<>c__DisplayClass8_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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 ExpressionTrees/'<>c__DisplayClass16_0' V_0) + IL_0000: newobj instance void ExpressionTrees/'<>c__DisplayClass16_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 ExpressionTrees/'<>c'::'<>9__16_0' + IL_0015: dup + IL_0016: brtrue.s IL_002f + + IL_0018: pop + IL_0019: ldsfld class ExpressionTrees/'<>c' ExpressionTrees/'<>c'::'<>9' + IL_001e: ldftn instance string ExpressionTrees/'<>c'::'b__16_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 ExpressionTrees/'<>c'::'<>9__16_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 ExpressionTrees/'<>c__DisplayClass16_0'::dict + IL_0039: call object ExpressionTrees::X() + IL_003e: ldloc.0 + IL_003f: ldtoken ExpressionTrees/'<>c__DisplayClass16_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 ExpressionTrees/'<>c__DisplayClass16_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 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 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 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 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 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 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 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 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 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 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 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 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 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 ExpressionTrees/'<>c__DisplayClass23_0' V_0) + IL_0000: newobj instance void ExpressionTrees/'<>c__DisplayClass23_0'::.ctor() + IL_0005: stloc.0 + IL_0006: nop + IL_0007: ldloc.0 + IL_0008: ldc.i4.1 + IL_0009: stfld int32 ExpressionTrees/'<>c__DisplayClass23_0'::i + IL_000e: ldloc.0 + IL_000f: ldstr "X" + IL_0014: stfld string ExpressionTrees/'<>c__DisplayClass23_0'::x + IL_0019: call object 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 ExpressionTrees/'<>c__DisplayClass23_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 ExpressionTrees/'<>c__DisplayClass23_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 ExpressionTrees/'<>c__DisplayClass23_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 ExpressionTrees/'<>c__DisplayClass23_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 ExpressionTrees/'<>c__DisplayClass23_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 ExpressionTrees/'<>c__DisplayClass23_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 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 ExpressionTrees/'<>c__DisplayClass24_0' V_0) + IL_0000: newobj instance void ExpressionTrees/'<>c__DisplayClass24_0'::.ctor() + IL_0005: stloc.0 + IL_0006: nop + IL_0007: ldloc.0 + IL_0008: ldc.i4.s 42 + IL_000a: stfld uint8 ExpressionTrees/'<>c__DisplayClass24_0'::z + IL_000f: call object ExpressionTrees::X() + IL_0014: ldloc.0 + IL_0015: ldtoken ExpressionTrees/'<>c__DisplayClass24_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 ExpressionTrees/'<>c__DisplayClass24_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 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 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 ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_004f: pop + IL_0050: call object 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 ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_00bf: pop + IL_00c0: call object 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 ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0117: pop + IL_0118: call object 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 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 526 (0x20e) + .maxstack 7 + .locals init (valuetype [mscorlib]System.DateTime V_0) + IL_0000: nop + IL_0001: call object 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 ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0062: pop + IL_0063: call object ExpressionTrees::X() + IL_0068: ldnull + IL_0069: ldtoken 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.UnaryExpression [System.Core]System.Linq.Expressions.Expression::ArrayLength(class [System.Core]System.Linq.Expressions.Expression) + IL_007d: ldc.i4.0 + IL_007e: box [mscorlib]System.Int32 + IL_0083: ldtoken [mscorlib]System.Int32 + 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: 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_0097: ldc.i4.0 + IL_0098: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_009d: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_00a2: call object ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_00a7: pop + IL_00a8: call object ExpressionTrees::X() + IL_00ad: ldnull + IL_00ae: ldtoken [mscorlib]System.Type + 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: ldtoken method instance bool [mscorlib]System.Type::get_IsLayoutSequential() + IL_00c2: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_00c7: castclass [mscorlib]System.Reflection.MethodInfo + IL_00cc: 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_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 object ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_00e1: pop + IL_00e2: call object ExpressionTrees::X() + IL_00e7: ldnull + IL_00e8: ldtoken class [mscorlib]System.Collections.Generic.List`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.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + 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.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 ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0120: pop + IL_0121: call object ExpressionTrees::X() + IL_0126: ldnull + IL_0127: ldtoken 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: ldtoken method instance object [mscorlib]System.Array::Clone() + IL_013b: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0140: castclass [mscorlib]System.Reflection.MethodInfo + IL_0145: ldc.i4.0 + IL_0146: newarr [System.Core]System.Linq.Expressions.Expression + IL_014b: 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_0150: ldnull + IL_0151: ldtoken [mscorlib]System.Object + 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: 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_0165: ldc.i4.0 + IL_0166: newarr [System.Core]System.Linq.Expressions.ParameterExpression + 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 ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0175: pop + IL_0176: call object ExpressionTrees::X() + IL_017b: ldnull + IL_017c: ldtoken [mscorlib]System.Type + 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: ldtoken method instance bool [mscorlib]System.Type::IsInstanceOfType(object) + IL_0190: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0195: castclass [mscorlib]System.Reflection.MethodInfo + IL_019a: ldc.i4.1 + IL_019b: newarr [System.Core]System.Linq.Expressions.Expression + IL_01a0: dup + IL_01a1: ldc.i4.0 + IL_01a2: ldtoken [mscorlib]System.Object + IL_01a7: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_01ac: call class [System.Core]System.Linq.Expressions.NewExpression [System.Core]System.Linq.Expressions.Expression::New(class [mscorlib]System.Type) + IL_01b1: stelem.ref + IL_01b2: 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_01b7: ldc.i4.0 + IL_01b8: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_01bd: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_01c2: call object ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_01c7: pop + IL_01c8: call object ExpressionTrees::X() + IL_01cd: ldnull + IL_01ce: ldtoken class [mscorlib]System.Collections.Generic.List`1 + 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: ldtoken method instance class [mscorlib]System.Collections.ObjectModel.ReadOnlyCollection`1 class [mscorlib]System.Collections.Generic.List`1::AsReadOnly() + IL_01e2: ldtoken class [mscorlib]System.Collections.Generic.List`1 + IL_01e7: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle, + valuetype [mscorlib]System.RuntimeTypeHandle) + IL_01ec: castclass [mscorlib]System.Reflection.MethodInfo + IL_01f1: ldc.i4.0 + IL_01f2: newarr [System.Core]System.Linq.Expressions.Expression + IL_01f7: 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_01fc: ldc.i4.0 + IL_01fd: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0202: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_0207: call object ExpressionTrees::ToCode>(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_020c: pop + IL_020d: ret + } // end of method ExpressionTrees::MembersDefault + + .method public hidebysig instance void + DoAssert() cil managed + { + // Code size 355 (0x163) + .maxstack 9 + IL_0000: nop + IL_0001: ldarg.0 + IL_0002: ldc.i4.s 37 + IL_0004: stfld int32 ExpressionTrees::'field' + IL_0009: call object ExpressionTrees::X() + IL_000e: ldarg.0 + IL_000f: ldtoken ExpressionTrees + IL_0014: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0019: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_001e: ldtoken field int32 ExpressionTrees::'field' + IL_0023: call class [mscorlib]System.Reflection.FieldInfo [mscorlib]System.Reflection.FieldInfo::GetFieldFromHandle(valuetype [mscorlib]System.RuntimeFieldHandle) + IL_0028: 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_002d: ldarg.0 + IL_002e: ldtoken ExpressionTrees + 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: ldtoken method instance int32 ExpressionTrees::C() + IL_0042: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_0047: castclass [mscorlib]System.Reflection.MethodInfo + IL_004c: ldc.i4.0 + IL_004d: newarr [System.Core]System.Linq.Expressions.Expression + 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.BinaryExpression [System.Core]System.Linq.Expressions.Expression::NotEqual(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 ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_006c: pop + IL_006d: call object ExpressionTrees::X() + IL_0072: ldnull + IL_0073: ldtoken method bool [mscorlib]System.Object::ReferenceEquals(object, + object) + IL_0078: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + 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: ldarg.0 + IL_008b: ldtoken ExpressionTrees + 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: stelem.ref + IL_009b: dup + IL_009c: ldc.i4.1 + IL_009d: ldtoken ExpressionTrees + IL_00a2: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00a7: call class [System.Core]System.Linq.Expressions.NewExpression [System.Core]System.Linq.Expressions.Expression::New(class [mscorlib]System.Type) + IL_00ac: stelem.ref + IL_00ad: 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_00b2: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Not(class [System.Core]System.Linq.Expressions.Expression) + IL_00b7: ldc.i4.0 + IL_00b8: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_00bd: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_00c2: call object ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_00c7: pop + IL_00c8: call object ExpressionTrees::X() + IL_00cd: ldarg.0 + IL_00ce: ldtoken ExpressionTrees + 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: ldtoken method instance bool ExpressionTrees::MyEquals(class ExpressionTrees) + IL_00e2: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_00e7: castclass [mscorlib]System.Reflection.MethodInfo + IL_00ec: ldc.i4.1 + IL_00ed: newarr [System.Core]System.Linq.Expressions.Expression + IL_00f2: dup + IL_00f3: ldc.i4.0 + IL_00f4: ldarg.0 + IL_00f5: ldtoken ExpressionTrees + 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.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_010a: ldarg.0 + IL_010b: ldtoken ExpressionTrees + 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: ldtoken method instance bool ExpressionTrees::MyEquals(class ExpressionTrees) + 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: ldc.i4.1 + IL_012a: newarr [System.Core]System.Linq.Expressions.Expression + IL_012f: dup + IL_0130: ldc.i4.0 + IL_0131: ldnull + IL_0132: ldtoken ExpressionTrees + IL_0137: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_013c: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0141: stelem.ref + IL_0142: 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_0147: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Not(class [System.Core]System.Linq.Expressions.Expression) + IL_014c: 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_0151: ldc.i4.0 + IL_0152: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0157: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_015c: call object ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0161: pop + IL_0162: ret + } // end of method ExpressionTrees::DoAssert + + .method private hidebysig instance int32 + C() cil managed + { + // Code size 14 (0xe) + .maxstack 2 + .locals init (int32 V_0) + IL_0000: nop + IL_0001: ldarg.0 + IL_0002: ldfld int32 ExpressionTrees::'field' + IL_0007: ldc.i4.5 + IL_0008: add + IL_0009: stloc.0 + IL_000a: br.s IL_000c + + IL_000c: ldloc.0 + IL_000d: ret + } // end of method ExpressionTrees::C + + .method private hidebysig instance bool + MyEquals(class ExpressionTrees other) cil managed + { + // Code size 26 (0x1a) + .maxstack 2 + .locals init (bool V_0) + IL_0000: nop + IL_0001: ldarg.1 + IL_0002: brfalse.s IL_0014 + + IL_0004: ldarg.0 + IL_0005: ldfld int32 ExpressionTrees::'field' + IL_000a: ldarg.1 + IL_000b: ldfld int32 ExpressionTrees::'field' + IL_0010: ceq + IL_0012: br.s IL_0015 + + IL_0014: ldc.i4.0 + IL_0015: stloc.0 + IL_0016: br.s IL_0018 + + IL_0018: ldloc.0 + IL_0019: ret + } // end of method ExpressionTrees::MyEquals + + .method public hidebysig instance void + MethodGroupAsExtensionMethod() cil managed + { + // Code size 259 (0x103) + .maxstack 12 + IL_0000: nop + IL_0001: call object 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: stelem.ref + IL_00dd: 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_00e2: ldtoken class [mscorlib]System.Func`1 + IL_00e7: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00ec: 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_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 ExpressionTrees::ToCode>(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0101: pop + IL_0102: ret + } // end of method ExpressionTrees::MethodGroupAsExtensionMethod + + .method public hidebysig instance void + MethodGroupConstant() cil managed + { + // Code size 873 (0x369) + .maxstack 13 + .locals init (class ExpressionTrees/'<>c__DisplayClass31_0' V_0) + IL_0000: newobj instance void ExpressionTrees/'<>c__DisplayClass31_0'::.ctor() + IL_0005: stloc.0 + IL_0006: nop + IL_0007: call object 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 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 ExpressionTrees/'<>c__DisplayClass31_0'::set + IL_0144: call object 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 ExpressionTrees/'<>c__DisplayClass31_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 ExpressionTrees/'<>c__DisplayClass31_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 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> ExpressionTrees/'<>c'::'<>9__31_0' + IL_0290: dup + IL_0291: brtrue.s IL_02aa + + IL_0293: pop + IL_0294: ldsfld class ExpressionTrees/'<>c' ExpressionTrees/'<>c'::'<>9' + IL_0299: ldftn instance bool ExpressionTrees/'<>c'::'b__31_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> ExpressionTrees/'<>c'::'<>9__31_0' + IL_02aa: stfld class [mscorlib]System.Func`2,bool> ExpressionTrees/'<>c__DisplayClass31_0'::sink + IL_02af: call object ExpressionTrees::X() + IL_02b4: ldloc.0 + IL_02b5: ldtoken ExpressionTrees/'<>c__DisplayClass31_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> ExpressionTrees/'<>c__DisplayClass31_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 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 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 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 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 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 ExpressionTrees/'<>c__DisplayClass34_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 ExpressionTrees/'<>c__DisplayClass34_0'::.ctor() + IL_0005: stloc.0 + IL_0006: nop + IL_0007: ldloc.0 + IL_0008: ldsfld class [mscorlib]System.Func`2,int32> ExpressionTrees/'<>c'::'<>9__34_0' + IL_000d: dup + IL_000e: brtrue.s IL_0027 + + IL_0010: pop + IL_0011: ldsfld class ExpressionTrees/'<>c' ExpressionTrees/'<>c'::'<>9' + IL_0016: ldftn instance int32 ExpressionTrees/'<>c'::'b__34_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> ExpressionTrees/'<>c'::'<>9__34_0' + IL_0027: stfld class [mscorlib]System.Func`2,int32> ExpressionTrees/'<>c__DisplayClass34_0'::'call' + IL_002c: call object ExpressionTrees::X() + IL_0031: ldloc.0 + IL_0032: ldtoken ExpressionTrees/'<>c__DisplayClass34_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> ExpressionTrees/'<>c__DisplayClass34_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 ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_008f: pop + IL_0090: call object 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 ExpressionTrees::ToCode>(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_014c: pop + IL_014d: call object 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 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 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 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 public hidebysig instance void + NestedLambda2() cil managed + { + // Code size 510 (0x1fe) + .maxstack 11 + .locals init (class [System.Core]System.Linq.Expressions.ParameterExpression V_0) + IL_0000: nop + IL_0001: call object ExpressionTrees::X() + IL_0006: ldarg.0 + IL_0007: ldtoken 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 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 ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0081: pop + IL_0082: call object ExpressionTrees::X() + IL_0087: ldarg.0 + IL_0088: ldtoken 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 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.Int32 + 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: ldc.i4.s 37 + IL_00c6: box [mscorlib]System.Int32 + IL_00cb: ldtoken [mscorlib]System.Int32 + 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: 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_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: stelem.ref + IL_00ef: 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_00f4: ldc.i4.0 + IL_00f5: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_00fa: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_00ff: call object ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0104: pop + IL_0105: call object ExpressionTrees::X() + IL_010a: ldarg.0 + IL_010b: ldtoken ExpressionTrees + 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: ldtoken method instance bool ExpressionTrees::Fizz(class [mscorlib]System.Func`2) + 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: ldc.i4.1 + IL_012a: newarr [System.Core]System.Linq.Expressions.Expression + IL_012f: dup + IL_0130: ldc.i4.0 + IL_0131: ldtoken [mscorlib]System.Int32 + IL_0136: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_013b: ldstr "x" + IL_0140: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_0145: stloc.0 + IL_0146: ldc.i4.1 + IL_0147: box [mscorlib]System.Boolean + IL_014c: ldtoken [mscorlib]System.Boolean + 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: 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: stelem.ref + 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.0 + IL_0171: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_0176: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_017b: call object ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0180: pop + IL_0181: call object ExpressionTrees::X() + IL_0186: ldarg.0 + IL_0187: ldtoken ExpressionTrees + IL_018c: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0191: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_0196: ldtoken method instance bool ExpressionTrees::Buzz(class [mscorlib]System.Func`2) + IL_019b: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) + IL_01a0: castclass [mscorlib]System.Reflection.MethodInfo + IL_01a5: ldc.i4.1 + IL_01a6: newarr [System.Core]System.Linq.Expressions.Expression + IL_01ab: dup + IL_01ac: ldc.i4.0 + IL_01ad: ldtoken [mscorlib]System.Int32 + IL_01b2: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_01b7: ldstr "x" + IL_01bc: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + string) + IL_01c1: stloc.0 + IL_01c2: ldc.i4.1 + IL_01c3: box [mscorlib]System.Boolean + IL_01c8: ldtoken [mscorlib]System.Boolean + IL_01cd: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_01d2: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + class [mscorlib]System.Type) + IL_01d7: ldc.i4.1 + IL_01d8: newarr [System.Core]System.Linq.Expressions.ParameterExpression + IL_01dd: dup + IL_01de: ldc.i4.0 + IL_01df: ldloc.0 + IL_01e0: stelem.ref + IL_01e1: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + class [System.Core]System.Linq.Expressions.ParameterExpression[]) + IL_01e6: stelem.ref + IL_01e7: 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_01ec: ldc.i4.0 + IL_01ed: newarr [System.Core]System.Linq.Expressions.ParameterExpression + 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 ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_01fc: pop + IL_01fd: 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 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 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 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 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 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 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 ExpressionTrees/'<>c__DisplayClass43_0' V_0) + IL_0000: newobj instance void ExpressionTrees/'<>c__DisplayClass43_0'::.ctor() + IL_0005: stloc.0 + IL_0006: nop + IL_0007: ldloc.0 + IL_0008: ldc.i4.1 + IL_0009: stfld bool ExpressionTrees/'<>c__DisplayClass43_0'::x + IL_000e: ldloc.0 + IL_000f: ldc.i4.3 + IL_0010: stfld int32 ExpressionTrees/'<>c__DisplayClass43_0'::y + IL_0015: ldloc.0 + IL_0016: ldc.i4.s 42 + IL_0018: stfld uint8 ExpressionTrees/'<>c__DisplayClass43_0'::z + IL_001d: call object ExpressionTrees::X() + IL_0022: ldloc.0 + IL_0023: ldtoken ExpressionTrees/'<>c__DisplayClass43_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 ExpressionTrees/'<>c__DisplayClass43_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 ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_007f: pop + IL_0080: call object ExpressionTrees::X() + IL_0085: ldloc.0 + IL_0086: ldtoken ExpressionTrees/'<>c__DisplayClass43_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 ExpressionTrees/'<>c__DisplayClass43_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 ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_00d3: pop + IL_00d4: call object ExpressionTrees::X() + IL_00d9: ldloc.0 + IL_00da: ldtoken ExpressionTrees/'<>c__DisplayClass43_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 ExpressionTrees/'<>c__DisplayClass43_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 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 ExpressionTrees/'<>c__DisplayClass44_0' V_0) + IL_0000: newobj instance void ExpressionTrees/'<>c__DisplayClass44_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 ExpressionTrees/'<>c__DisplayClass44_0'::s + IL_0022: call object 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 ExpressionTrees/'<>c__DisplayClass44_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 ExpressionTrees/'<>c__DisplayClass44_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 ExpressionTrees/'<>c__DisplayClass44_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 ExpressionTrees/'<>c__DisplayClass44_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 ExpressionTrees/'<>c__DisplayClass44_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 ExpressionTrees/'<>c__DisplayClass44_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 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 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 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 ExpressionTrees::X() + IL_0006: ldnull + IL_0007: ldtoken method object 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 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 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 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 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 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 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 ExpressionTrees::X() + IL_0006: ldarg.0 + IL_0007: ldtoken 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 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 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 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 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 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 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 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 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 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 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 ExpressionTrees/'<>c__DisplayClass54_0' V_0) + IL_0000: newobj instance void ExpressionTrees/'<>c__DisplayClass54_0'::.ctor() + IL_0005: stloc.0 + IL_0006: nop + IL_0007: ldloc.0 + IL_0008: ldc.i4.1 + IL_0009: stfld int32 ExpressionTrees/'<>c__DisplayClass54_0'::i + IL_000e: ldloc.0 + IL_000f: ldstr "X" + IL_0014: stfld string ExpressionTrees/'<>c__DisplayClass54_0'::x + IL_0019: call object 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 ExpressionTrees/'<>c__DisplayClass54_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 ExpressionTrees/'<>c__DisplayClass54_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 ExpressionTrees/'<>c__DisplayClass54_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 ExpressionTrees/'<>c__DisplayClass54_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 ExpressionTrees/'<>c__DisplayClass54_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 ExpressionTrees/'<>c__DisplayClass54_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 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 + StringAccessor() cil managed + { + // Code size 136 (0x88) + .maxstack 8 + IL_0000: nop + IL_0001: call object 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 ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0086: pop + IL_0087: ret + } // end of method ExpressionTrees::StringAccessor + + .method public hidebysig instance void + GenericClassInstance() cil managed + { + // Code size 119 (0x77) + .maxstack 5 + IL_0000: nop + IL_0001: call object ExpressionTrees::X() + IL_0006: ldtoken class 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 ExpressionTrees/GenericClass`1::InstanceField + IL_001a: ldtoken class 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 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 ExpressionTrees/GenericClass`1::get_InstanceProperty() + IL_004c: ldtoken class 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 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 ExpressionTrees::X() + IL_0006: ldnull + IL_0007: ldtoken field !0 class ExpressionTrees/GenericClass`1::StaticField + IL_000c: ldtoken class 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 ExpressionTrees/GenericClass`1::get_StaticProperty() + IL_0030: ldtoken class 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 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 ExpressionTrees::X() + IL_0006: ldnull + IL_0007: ldtoken method bool class ExpressionTrees/GenericClass`1::GenericMethod() + IL_000c: ldtoken class 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 ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0036: pop + IL_0037: ret + } // end of method ExpressionTrees::InvokeGenericMethod + + .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 ExpressionTrees + + +// ============================================================= + +// *********** DISASSEMBLY COMPLETE *********************** diff --git a/ICSharpCode.Decompiler/CSharp/ExpressionBuilder.cs b/ICSharpCode.Decompiler/CSharp/ExpressionBuilder.cs index a46e34568..fa9d9f74d 100644 --- a/ICSharpCode.Decompiler/CSharp/ExpressionBuilder.cs +++ b/ICSharpCode.Decompiler/CSharp/ExpressionBuilder.cs @@ -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.ExpressionTreeType, function) + .WithILInstruction(function); + } + IType InferReturnType(BlockStatement body) { var returnExpressions = new List(); 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/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/IL/Instructions/ILFunction.cs b/ICSharpCode.Decompiler/IL/Instructions/ILFunction.cs index 05797f4c2..3d86c549f 100644 --- a/ICSharpCode.Decompiler/IL/Instructions/ILFunction.cs +++ b/ICSharpCode.Decompiler/IL/Instructions/ILFunction.cs @@ -61,7 +61,13 @@ namespace ICSharpCode.Decompiler.IL /// public IType AsyncReturnType; - public bool IsExpressionTree; + /// + /// If this is an expression tree, returns Expression{T}, otherwise null. + /// T is the delegate type that matches the signature of this method. + /// + public IType ExpressionTreeType; + + public bool IsExpressionTree => ExpressionTreeType != null; public readonly IType ReturnType; diff --git a/ICSharpCode.Decompiler/IL/Transforms/TransformExpressionTrees.cs b/ICSharpCode.Decompiler/IL/Transforms/TransformExpressionTrees.cs index 2014caf8b..3a3184a30 100644 --- a/ICSharpCode.Decompiler/IL/Transforms/TransformExpressionTrees.cs +++ b/ICSharpCode.Decompiler/IL/Transforms/TransformExpressionTrees.cs @@ -19,16 +19,20 @@ using System; using System.Collections.Generic; using System.Linq; -using ICSharpCode.Decompiler.CSharp; -using ICSharpCode.Decompiler.CSharp.Syntax; 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 @@ -85,6 +89,7 @@ namespace ICSharpCode.Decompiler.IL.Transforms Dictionary parameters; Dictionary parameterMapping; List instructionsToRemove; + Stack lambdaStack; public void Run(Block block, int pos, StatementTransformContext context) { @@ -92,6 +97,7 @@ namespace ICSharpCode.Decompiler.IL.Transforms 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)); @@ -124,7 +130,11 @@ namespace ICSharpCode.Decompiler.IL.Transforms return false; } - NewObj ConvertLambda(CallInstruction instruction) + /// + /// Converts a Expression.Lambda call into an ILFunction. + /// If the conversion fails, null is returned. + /// + ILFunction 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; @@ -132,20 +142,18 @@ namespace ICSharpCode.Decompiler.IL.Transforms var parameterVariablesList = new List(); if (!ReadParameters(instruction.Arguments[1], parameterList, parameterVariablesList, new SimpleTypeResolveContext(context.Function.Method))) return null; + var container = new BlockContainer(); + var function = new ILFunction(instruction.Method.ReturnType.TypeArguments[0].TypeArguments.LastOrDefault() ?? context.TypeSystem.Compilation.FindType(KnownTypeCode.Void), parameterList, container); + function.ExpressionTreeType = instruction.Method.ReturnType; + function.Variables.AddRange(parameterVariablesList); + lambdaStack.Push(function); var bodyInstruction = ConvertInstruction(instruction.Arguments[0]); + lambdaStack.Pop(); if (bodyInstruction == null) return null; - var container = new BlockContainer(expectedResultType: bodyInstruction.ResultType); + container.ExpectedResultType = bodyInstruction.ResultType; container.Blocks.Add(new Block() { Instructions = { new Leave(container, bodyInstruction) } }); - var function = new ILFunction(instruction.Method.ReturnType.TypeArguments[0].TypeArguments.LastOrDefault() ?? context.TypeSystem.Compilation.FindType(KnownTypeCode.Void), parameterList, container); - function.IsExpressionTree = true; - function.Variables.AddRange(parameterVariablesList); - return new NewObj(instruction.Method.ReturnType.TypeArguments[0].GetConstructors().First()) { - Arguments = { - new LdNull(), - function - } - }; + return function; } bool ReadParameters(ILInstruction initializer, IList parameters, IList parameterVariables, ITypeResolveContext resolveContext) @@ -556,15 +564,13 @@ namespace ICSharpCode.Decompiler.IL.Transforms if (newObj == null) return null; IList arguments = null; - ILFunction function; + ILFunction function = lambdaStack.Peek(); if (!MatchGetMethodFromHandle(invocation.Arguments[1], out var member)) { if (!MatchArgumentList(invocation.Arguments[1], out arguments)) return null; - function = ((LdLoc)((Block)invocation.Arguments[1]).FinalInstruction).Variable.Function; } else { if (invocation.Arguments.Count != 3 || !MatchArgumentList(invocation.Arguments[2], out arguments)) return null; - function = ((LdLoc)((Block)invocation.Arguments[2]).FinalInstruction).Variable.Function; } if (arguments == null || arguments.Count == 0) return null; @@ -634,7 +640,7 @@ namespace ICSharpCode.Decompiler.IL.Transforms return null; if (arguments == null || arguments.Count == 0) return null; - var function = ((LdLoc)((Block)invocation.Arguments[1]).FinalInstruction).Variable.Function; + var function = lambdaStack.Peek(); var initializer = function.RegisterVariable(VariableKind.InitializerTarget, newObj.Method.DeclaringType); for (int i = 0; i < arguments.Count; i++) { ILInstruction arg; @@ -685,7 +691,7 @@ namespace ICSharpCode.Decompiler.IL.Transforms if (arguments.Count == 0) return null; var block = (Block)invocation.Arguments[1]; - var function = ((LdLoc)block.FinalInstruction).Variable.Function; + 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; From ad68204b04abfc7ada5da704092e6fe5a1257f7b Mon Sep 17 00:00:00 2001 From: Siegfried Pammer Date: Fri, 24 Nov 2017 02:09:17 +0100 Subject: [PATCH 08/17] Fix bugs in Expression.Quote/Expression.Invoke handling Fix bugs in operator handling --- .../TestCases/Pretty/ExpressionTrees.cs | 66 ++++++++++++------- .../IL/Transforms/TransformExpressionTrees.cs | 31 ++++++--- 2 files changed, 64 insertions(+), 33 deletions(-) diff --git a/ICSharpCode.Decompiler.Tests/TestCases/Pretty/ExpressionTrees.cs b/ICSharpCode.Decompiler.Tests/TestCases/Pretty/ExpressionTrees.cs index 96960e045..878670616 100644 --- a/ICSharpCode.Decompiler.Tests/TestCases/Pretty/ExpressionTrees.cs +++ b/ICSharpCode.Decompiler.Tests/TestCases/Pretty/ExpressionTrees.cs @@ -93,7 +93,7 @@ public class ExpressionTrees public void ArrayIndex() { - ExpressionTrees.ToCode(ExpressionTrees.X(), () => (new[] { + ExpressionTrees.ToCode(ExpressionTrees.X(), () => (new int[3] { 3, 4, 5 @@ -119,7 +119,7 @@ public class ExpressionTrees public void ComplexGenericName() { - ExpressionTrees.ToCode(ExpressionTrees.X(), () => ((Func)(x => x > 0))(0)); + ExpressionTrees.ToCode(ExpressionTrees.X(), () => ((Func)((int x) => x > 0))(0)); } public void DefaultValue() @@ -134,7 +134,7 @@ public class ExpressionTrees public void IndexerAccess() { - var dict = Enumerable.Range(1, 20).ToDictionary(n => n.ToString()); + Dictionary dict = Enumerable.Range(1, 20).ToDictionary((int n) => n.ToString()); ExpressionTrees.ToCode(ExpressionTrees.X(), () => dict["3"] == 3); } @@ -213,28 +213,28 @@ public class ExpressionTrees public void MembersDefault() { ExpressionTrees.ToCode(ExpressionTrees.X(), () => default(DateTime).Ticks == 0); - ExpressionTrees.ToCode(ExpressionTrees.X(), () => default(int[]).Length == 0); - ExpressionTrees.ToCode(ExpressionTrees.X(), () => default(Type).IsLayoutSequential); - ExpressionTrees.ToCode(ExpressionTrees.X(), () => default(List).Count); - ExpressionTrees.ToCode(ExpressionTrees.X(), () => default(int[]).Clone() == null); - ExpressionTrees.ToCode(ExpressionTrees.X(), () => default(Type).IsInstanceOfType(new object())); - ExpressionTrees.ToCode(ExpressionTrees.X(), () => default(List).AsReadOnly()); + 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() { - field = 37; - ExpressionTrees.ToCode(ExpressionTrees.X(), () => field != C()); - ExpressionTrees.ToCode(ExpressionTrees.X(), () => !ReferenceEquals(this, new ExpressionTrees())); - ExpressionTrees.ToCode(ExpressionTrees.X(), () => MyEquals(this) && !MyEquals(default(ExpressionTrees))); + this.field = 37; + 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)); } - int C() + private int C() { return field + 5; } - - bool MyEquals(ExpressionTrees other) + + private bool MyEquals(ExpressionTrees other) { return other != null && field == other.field; } @@ -295,18 +295,18 @@ public class ExpressionTrees { ExpressionTrees.ToCode>>(ExpressionTrees.X(), a => b => c => a + b + c); } - - bool Fizz(Func a) + + private bool Fizz(Func a) { return a(42); } - - bool Buzz(Func a) + + private bool Buzz(Func a) { return a(42); } - - bool Fizz(Func a) + + private bool Fizz(Func a) { return a("42"); } @@ -322,7 +322,15 @@ public class ExpressionTrees public void NewArrayAndExtensionMethod() { - ExpressionTrees.ToCode(ExpressionTrees.X(), () => new[] { 1.0, 2.01, 3.5 }.SequenceEqual(new[] { 1.0, 2.01, 3.5 })); + 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() @@ -351,7 +359,10 @@ public class ExpressionTrees CloseInput = false, CheckCharacters = false }; - ExpressionTrees.ToCode(ExpressionTrees.X(), () => new XmlReaderSettings { CloseInput = s.CloseInput, CheckCharacters = s.CheckCharacters }.Equals(s)); + ExpressionTrees.ToCode(ExpressionTrees.X(), () => new XmlReaderSettings { + CloseInput = s.CloseInput, + CheckCharacters = s.CheckCharacters + }.Equals(s)); } public void Quoted() @@ -366,7 +377,12 @@ public class ExpressionTrees public void QuotedWithAnonymous() { - ExpressionTrees.ToCode(ExpressionTrees.X(), () => new[] { new { X = "a", Y = "b" } }.Select(o => o.X + o.Y).Single()); + ExpressionTrees.ToCode(ExpressionTrees.X(), () => new[] { + new { + X = "a", + Y = "b" + } + }.Select(o => o.X + o.Y).Single()); } public void StaticCall() diff --git a/ICSharpCode.Decompiler/IL/Transforms/TransformExpressionTrees.cs b/ICSharpCode.Decompiler/IL/Transforms/TransformExpressionTrees.cs index 3a3184a30..705abb17b 100644 --- a/ICSharpCode.Decompiler/IL/Transforms/TransformExpressionTrees.cs +++ b/ICSharpCode.Decompiler/IL/Transforms/TransformExpressionTrees.cs @@ -19,6 +19,7 @@ using System; using System.Collections.Generic; using System.Linq; +using ICSharpCode.Decompiler.CSharp.Resolver; using ICSharpCode.Decompiler.TypeSystem; using ICSharpCode.Decompiler.TypeSystem.Implementation; using ICSharpCode.Decompiler.Util; @@ -134,7 +135,7 @@ namespace ICSharpCode.Decompiler.IL.Transforms /// Converts a Expression.Lambda call into an ILFunction. /// If the conversion fails, null is returned. /// - ILFunction ConvertLambda(CallInstruction instruction) + ILInstruction 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; @@ -142,9 +143,12 @@ namespace ICSharpCode.Decompiler.IL.Transforms var parameterVariablesList = new List(); if (!ReadParameters(instruction.Arguments[1], parameterList, parameterVariablesList, new SimpleTypeResolveContext(context.Function.Method))) return null; + bool isQuotedLambda = instruction.Parent is CallInstruction call && call.Method.FullName == "System.Linq.Expressions.Expression.Quote"; var container = new BlockContainer(); - var function = new ILFunction(instruction.Method.ReturnType.TypeArguments[0].TypeArguments.LastOrDefault() ?? context.TypeSystem.Compilation.FindType(KnownTypeCode.Void), parameterList, container); - function.ExpressionTreeType = instruction.Method.ReturnType; + var functionType = instruction.Method.ReturnType.TypeArguments[0]; + var function = new ILFunction(functionType.TypeArguments.LastOrDefault() ?? context.TypeSystem.Compilation.FindType(KnownTypeCode.Void), parameterList, container); + if (isQuotedLambda || lambdaStack.Count == 0) + function.ExpressionTreeType = instruction.Method.ReturnType; function.Variables.AddRange(parameterVariablesList); lambdaStack.Push(function); var bodyInstruction = ConvertInstruction(instruction.Arguments[0]); @@ -153,6 +157,10 @@ namespace ICSharpCode.Decompiler.IL.Transforms return null; container.ExpectedResultType = bodyInstruction.ResultType; container.Blocks.Add(new Block() { Instructions = { new Leave(container, bodyInstruction) } }); + if (!isQuotedLambda && lambdaStack.Count > 0) + return new NewObj(functionType.GetConstructors().Single()) { + Arguments = { new LdNull(), function } + }; return function; } @@ -348,10 +356,12 @@ namespace ICSharpCode.Decompiler.IL.Transforms Arguments = { left, right } }; case 4: - //if (!trueOrFalse.IsMatch(invocation.Arguments[2])) - // return null; + if (!invocation.Arguments[2].MatchLdcI4(out var isLifted)) + return null; if (!MatchGetMethodFromHandle(invocation.Arguments[3], out method)) return null; + if (isLifted != 0) + method = CSharpOperators.LiftUserDefinedOperator((IMethod)method); return new Call((IMethod)method) { Arguments = { left, right } }; @@ -459,7 +469,10 @@ namespace ICSharpCode.Decompiler.IL.Transforms var right = ConvertInstruction(invocation.Arguments[1]); if (right == null) return null; - if (invocation.Arguments.Count == 3 && MatchGetMethodFromHandle(invocation.Arguments[2], out var method)) { + 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 } }; } // TODO: Sign?? @@ -617,10 +630,12 @@ namespace ICSharpCode.Decompiler.IL.Transforms Arguments = { left, right } }; case 4: - //if (!trueOrFalse.IsMatch(invocation.Arguments[2])) - // return null; + if (!invocation.Arguments[2].MatchLdcI4(out var isLifted)) + return null; if (!MatchGetMethodFromHandle(invocation.Arguments[3], out method)) return null; + if (isLifted != 0) + method = CSharpOperators.LiftUserDefinedOperator((IMethod)method); return new Call((IMethod)method) { Arguments = { left, right } }; From e3606374a4cd1fd3f60ec675deb9de65524749e0 Mon Sep 17 00:00:00 2001 From: Siegfried Pammer Date: Fri, 24 Nov 2017 23:53:19 +0100 Subject: [PATCH 09/17] Refactor TransformExpressionTrees to use an (ILInstruction, IType) pair as result of every Convert call. --- .../TestCases/Pretty/ExpressionTrees.cs | 41 +- .../IL/Transforms/TransformExpressionTrees.cs | 544 ++++++++++-------- 2 files changed, 318 insertions(+), 267 deletions(-) diff --git a/ICSharpCode.Decompiler.Tests/TestCases/Pretty/ExpressionTrees.cs b/ICSharpCode.Decompiler.Tests/TestCases/Pretty/ExpressionTrees.cs index 878670616..530765067 100644 --- a/ICSharpCode.Decompiler.Tests/TestCases/Pretty/ExpressionTrees.cs +++ b/ICSharpCode.Decompiler.Tests/TestCases/Pretty/ExpressionTrees.cs @@ -231,17 +231,17 @@ public class ExpressionTrees private int C() { - return field + 5; + return this.field + 5; } private bool MyEquals(ExpressionTrees other) { - return other != null && field == other.field; + return other != null && this.field == other.field; } public void MethodGroupAsExtensionMethod() { - ExpressionTrees.ToCode(ExpressionTrees.X(), () => (Func)new[] { + ExpressionTrees.ToCode(ExpressionTrees.X(), () => (Func)new int[4] { 2000, 2004, 2008, @@ -251,7 +251,7 @@ public class ExpressionTrees public void MethodGroupConstant() { - ExpressionTrees.ToCode(ExpressionTrees.X(), () => Array.TrueForAll(new[] { + ExpressionTrees.ToCode(ExpressionTrees.X(), () => Array.TrueForAll(new int[4] { 2000, 2004, 2008, @@ -259,7 +259,7 @@ public class ExpressionTrees }, DateTime.IsLeapYear)); HashSet set = new HashSet(); - ExpressionTrees.ToCode(ExpressionTrees.X(), () => new[] { + ExpressionTrees.ToCode(ExpressionTrees.X(), () => new int[4] { 2000, 2004, 2008, @@ -267,7 +267,7 @@ public class ExpressionTrees }.All(set.Add)); Func, bool> sink = f => f(null, null); - ExpressionTrees.ToCode(ExpressionTrees.X(), () => sink(int.Equals)); + ExpressionTrees.ToCode(ExpressionTrees.X(), () => sink(object.Equals)); } public void MultipleCasts() @@ -282,13 +282,19 @@ public class ExpressionTrees public void NestedLambda() { - Func, int> call = f => f(); + Func, int> call = (Func f) => f(); //no params ExpressionTrees.ToCode(ExpressionTrees.X(), () => call(() => 42)); //one param - ExpressionTrees.ToCode(ExpressionTrees.X(), () => new[] { 37, 42 }.Select(x => x * 2)); + ExpressionTrees.ToCode(ExpressionTrees.X(), () => new int[2] { + 37, + 42 + }.Select(x => x * 2)); //two params - ExpressionTrees.ToCode(ExpressionTrees.X(), () => new[] { 37, 42 }.Select((x, i) => x * 2)); + ExpressionTrees.ToCode(ExpressionTrees.X(), () => new int[2] { + 37, + 42 + }.Select((int x, int i) => x * 2)); } public void CurriedLambda() @@ -367,7 +373,7 @@ public class ExpressionTrees public void Quoted() { - ExpressionTrees.ToCode(ExpressionTrees.X(), () => (Expression>)((n, s) => s + n.ToString()) != null); + ExpressionTrees.ToCode(ExpressionTrees.X(), () => (Expression>)((int n, string s) => s + n.ToString()) != null); } public void Quoted2() @@ -387,12 +393,12 @@ public class ExpressionTrees public void StaticCall() { - ExpressionTrees.ToCode(ExpressionTrees.X(), () => Equals(3, 0)); + ExpressionTrees.ToCode(ExpressionTrees.X(), () => object.Equals(3, 0)); } public void ThisCall() { - ExpressionTrees.ToCode(ExpressionTrees.X(), () => !Equals(3)); + ExpressionTrees.ToCode(ExpressionTrees.X(), () => !this.Equals(3)); } public void ThisExplicit() @@ -402,12 +408,15 @@ public class ExpressionTrees public void TypedConstant() { - ExpressionTrees.ToCode(ExpressionTrees.X(), () => new[] { typeof(int), typeof(string) }); + ExpressionTrees.ToCode(ExpressionTrees.X(), () => new Type[2] { + typeof(int), + typeof(string) + }); } public void StaticCallImplicitCast() { - ExpressionTrees.ToCode(ExpressionTrees.X(), () => Equals(3, 0)); + ExpressionTrees.ToCode(ExpressionTrees.X(), () => object.Equals(3, 0)); } public void StaticMembers() @@ -429,12 +438,12 @@ public class ExpressionTrees public void GenericClassInstance() { - ExpressionTrees.ToCode(ExpressionTrees.X(), () => new GenericClass().InstanceField + new GenericClass().InstanceProperty); + ExpressionTrees.ToCode(ExpressionTrees.X(), () => (double)new GenericClass().InstanceField + new GenericClass().InstanceProperty); } public void GenericClassStatic() { - ExpressionTrees.ToCode(ExpressionTrees.X(), () => GenericClass.StaticField + GenericClass.StaticProperty); + ExpressionTrees.ToCode(ExpressionTrees.X(), () => (double)GenericClass.StaticField + GenericClass.StaticProperty); } public void InvokeGenericMethod() diff --git a/ICSharpCode.Decompiler/IL/Transforms/TransformExpressionTrees.cs b/ICSharpCode.Decompiler/IL/Transforms/TransformExpressionTrees.cs index 705abb17b..159ba3da1 100644 --- a/ICSharpCode.Decompiler/IL/Transforms/TransformExpressionTrees.cs +++ b/ICSharpCode.Decompiler/IL/Transforms/TransformExpressionTrees.cs @@ -91,10 +91,12 @@ namespace ICSharpCode.Decompiler.IL.Transforms Dictionary parameterMapping; List instructionsToRemove; Stack lambdaStack; + CSharpConversions conversions; public void Run(Block block, int pos, StatementTransformContext context) { this.context = context; + this.conversions = CSharpConversions.Get(context.TypeSystem.Compilation); this.parameters = new Dictionary(); this.parameterMapping = new Dictionary(); this.instructionsToRemove = new List(); @@ -116,7 +118,7 @@ namespace ICSharpCode.Decompiler.IL.Transforms bool TryConvertExpressionTree(ILInstruction instruction, ILInstruction statement) { if (MightBeExpressionTree(instruction, statement)) { - var lambda = ConvertLambda((CallInstruction)instruction); + var (lambda, type) = ConvertLambda((CallInstruction)instruction); if (lambda != null) { context.Step("Convert Expression Tree", instruction); instruction.ReplaceWith(lambda); @@ -135,14 +137,14 @@ namespace ICSharpCode.Decompiler.IL.Transforms /// Converts a Expression.Lambda call into an ILFunction. /// If the conversion fails, null is returned. /// - ILInstruction ConvertLambda(CallInstruction instruction) + (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; + 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; + 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]; @@ -151,17 +153,17 @@ namespace ICSharpCode.Decompiler.IL.Transforms function.ExpressionTreeType = instruction.Method.ReturnType; function.Variables.AddRange(parameterVariablesList); lambdaStack.Push(function); - var bodyInstruction = ConvertInstruction(instruction.Arguments[0]); + var (bodyInstruction, type) = ConvertInstruction(instruction.Arguments[0]); lambdaStack.Pop(); if (bodyInstruction == null) - return null; + return (null, SpecialType.UnknownType); container.ExpectedResultType = bodyInstruction.ResultType; container.Blocks.Add(new Block() { Instructions = { new Leave(container, bodyInstruction) } }); if (!isQuotedLambda && lambdaStack.Count > 0) - return new NewObj(functionType.GetConstructors().Single()) { + return (new NewObj(functionType.GetConstructors().Single()) { Arguments = { new LdNull(), function } - }; - return function; + }, functionType); + return (function, function.ExpressionTreeType); } bool ReadParameters(ILInstruction initializer, IList parameters, IList parameterVariables, ITypeResolveContext resolveContext) @@ -195,12 +197,12 @@ namespace ICSharpCode.Decompiler.IL.Transforms } } - ILInstruction ConvertInstruction(ILInstruction instruction) + (ILInstruction, IType) ConvertInstruction(ILInstruction instruction) { switch (instruction) { case CallInstruction invocation: if (invocation.Method.DeclaringType.FullName != "System.Linq.Expressions.Expression") - return null; + return (null, SpecialType.UnknownType); switch (invocation.Method.Name) { case "Add": @@ -286,7 +288,7 @@ namespace ICSharpCode.Decompiler.IL.Transforms if (invocation.Arguments.Count == 1) return ConvertInstruction(invocation.Arguments.Single()); else - return null; + return (null, SpecialType.UnknownType); case "RightShift": return ConvertBinaryNumericOperator(invocation, BinaryNumericOperator.ShiftRight); case "Subtract": @@ -298,104 +300,111 @@ namespace ICSharpCode.Decompiler.IL.Transforms case "TypeIs": return ConvertTypeIs(invocation); } - return null; + return (null, SpecialType.UnknownType); default: return ConvertValue(instruction, instruction.Parent); } } - ILInstruction ConvertArrayIndex(CallInstruction invocation) + (ILInstruction, IType) ConvertArrayIndex(CallInstruction invocation) { if (invocation.Arguments.Count != 2) - return null; - var array = ConvertInstruction(invocation.Arguments[0]); + return (null, SpecialType.UnknownType); + var (array, arrayType) = ConvertInstruction(invocation.Arguments[0]); if (array == null) - return null; - var arrayType = InferType(array); + return (null, SpecialType.UnknownType); if (!(arrayType is ArrayType type)) - return null; + 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 = ConvertInstruction(arguments[i]); + var (converted, indexType) = ConvertInstruction(arguments[i]); if (converted == null) - return null; + return (null, SpecialType.UnknownType); arguments[i] = converted; } - return new LdObj(new LdElema(type.ElementType, array, arguments.ToArray()), type.ElementType); + return (new LdObj(new LdElema(type.ElementType, array, arguments.ToArray()), type.ElementType), type.ElementType); } - ILInstruction ConvertArrayLength(CallInstruction invocation) + (ILInstruction, IType) ConvertArrayLength(CallInstruction invocation) { if (invocation.Arguments.Count != 1) - return null; - var converted = ConvertInstruction(invocation.Arguments[0]); + return (null, SpecialType.UnknownType); + var (converted, arrayType) = ConvertInstruction(invocation.Arguments[0]); if (converted == null) - return null; - return new LdLen(StackType.I4, converted); + return (null, SpecialType.UnknownType); + return (new LdLen(StackType.I4, converted), context.TypeSystem.Compilation.FindType(KnownTypeCode.Int32)); } - ILInstruction ConvertBinaryNumericOperator(CallInstruction invocation, BinaryNumericOperator op, bool? isChecked = null) + (ILInstruction, IType) ConvertBinaryNumericOperator(CallInstruction invocation, BinaryNumericOperator op, bool? isChecked = null) { if (invocation.Arguments.Count < 2) - return null; - var left = ConvertInstruction(invocation.Arguments[0]); + return (null, SpecialType.UnknownType); + var (left, leftType) = ConvertInstruction(invocation.Arguments[0]); if (left == null) - return null; - var right = ConvertInstruction(invocation.Arguments[1]); + return (null, SpecialType.UnknownType); + var (right, rightType) = ConvertInstruction(invocation.Arguments[1]); if (right == null) - return null; + return (null, SpecialType.UnknownType); IMember method; switch (invocation.Arguments.Count) { case 2: - return new BinaryNumericInstruction(op, left, right, isChecked == true, Sign.None); + 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; - return new Call((IMethod)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; + return (null, SpecialType.UnknownType); if (!MatchGetMethodFromHandle(invocation.Arguments[3], out method)) - return null; + return (null, SpecialType.UnknownType); if (isLifted != 0) method = CSharpOperators.LiftUserDefinedOperator((IMethod)method); - return new Call((IMethod)method) { + return (new Call((IMethod)method) { Arguments = { left, right } - }; + }, method.ReturnType); default: - return null; + return (null, SpecialType.UnknownType); } } - ILInstruction ConvertBind(CallInstruction invocation, ILVariable targetVariable) + (ILInstruction, IType) ConvertBind(CallInstruction invocation, ILVariable targetVariable) { if (invocation.Arguments.Count != 2) - return null; - var value = ConvertInstruction(invocation.Arguments[1]); + return (null, SpecialType.UnknownType); + var (value, typeValue) = ConvertInstruction(invocation.Arguments[1]); if (value == null) - return null; + return (null, SpecialType.UnknownType); if (MatchGetMethodFromHandle(invocation.Arguments[0], out var member)) { } else if (MatchGetFieldFromHandle(invocation.Arguments[0], out member)) { } else { - return null; + return (null, SpecialType.UnknownType); } switch (member) { case IMethod method: - return new Call(method) { Arguments = { new LdLoc(targetVariable), value } }; + 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); + return (new StObj(new LdFlda(new LdLoc(targetVariable), (IField)member), value, member.ReturnType), field.ReturnType); } - return null; + return (null, SpecialType.UnknownType); } - ILInstruction ConvertCall(CallInstruction invocation) + (ILInstruction, IType) ConvertCall(CallInstruction invocation) { if (invocation.Arguments.Count < 2) - return null; + 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)) { @@ -405,23 +414,31 @@ namespace ICSharpCode.Decompiler.IL.Transforms if (invocation.Arguments.Count != 3 || !MatchArgumentList(invocation.Arguments[2], out arguments)) { arguments = new List(invocation.Arguments.Skip(2)); } - if (!invocation.Arguments[0].MatchLdNull()) - arguments.Insert(0, invocation.Arguments[0]); + 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; - arguments = arguments.Select(ConvertInstruction).ToArray(); + 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; + return (null, SpecialType.UnknownType); IMethod method = (IMethod)member; if (method.FullName == "System.Reflection.MethodInfo.CreateDelegate" && method.Parameters.Count == 2) { - if (!MatchGetMethodFromHandle(arguments[0], out var targetMethod)) - return null; - if (!MatchGetTypeFromHandle(arguments[1], out var delegateType)) - return null; - return new NewObj(delegateType.GetConstructors().Single()) { - Arguments = { arguments[2], new LdFtn((IMethod)targetMethod) } - }; + 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) { @@ -429,176 +446,191 @@ namespace ICSharpCode.Decompiler.IL.Transforms } else { call = new Call(method); } + if (target != null) + call.Arguments.Add(target); call.Arguments.AddRange(arguments); - return call; + return (call, method.ReturnType); } - ILInstruction ConvertCast(CallInstruction invocation, bool isChecked) + (ILInstruction, IType) ConvertCast(CallInstruction invocation, bool isChecked) { if (invocation.Arguments.Count < 2) - return null; + return (null, SpecialType.UnknownType); if (!MatchGetTypeFromHandle(invocation.Arguments[1], out var targetType)) - return null; - var expr = ConvertInstruction(invocation.Arguments[0]); + return (null, SpecialType.UnknownType); + var (expr, exprType) = ConvertInstruction(invocation.Arguments[0]); if (expr == null) - return null; - return new ExpressionTreeCast(targetType, expr, isChecked); + return (null, SpecialType.UnknownType); + return (new ExpressionTreeCast(targetType, expr, isChecked), targetType); } - ILInstruction ConvertCoalesce(CallInstruction invocation) + (ILInstruction, IType) ConvertCoalesce(CallInstruction invocation) { if (invocation.Arguments.Count != 2) - return null; - var trueInst = ConvertInstruction(invocation.Arguments[0]); + return (null, SpecialType.UnknownType); + var (trueInst, trueInstType) = ConvertInstruction(invocation.Arguments[0]); if (trueInst == null) - return null; - var fallbackInst = ConvertInstruction(invocation.Arguments[1]); + return (null, SpecialType.UnknownType); + var (fallbackInst, fallbackInstType) = ConvertInstruction(invocation.Arguments[1]); if (fallbackInst == null) - return null; - // TODO : nullable types? - return new NullCoalescingInstruction(NullCoalescingKind.Ref, trueInst, fallbackInst); + 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 ConvertComparison(CallInstruction invocation, ComparisonKind kind) + (ILInstruction, IType) ConvertComparison(CallInstruction invocation, ComparisonKind kind) { if (invocation.Arguments.Count < 2) - return null; - var left = ConvertInstruction(invocation.Arguments[0]); + return (null, SpecialType.UnknownType); + var (left, leftType) = ConvertInstruction(invocation.Arguments[0]); if (left == null) - return null; - var right = ConvertInstruction(invocation.Arguments[1]); + return (null, SpecialType.UnknownType); + var (right, rightType) = ConvertInstruction(invocation.Arguments[1]); if (right == null) - return 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 } }; + return (new Call((IMethod)method) { Arguments = { left, right } }, method.ReturnType); } - // TODO: Sign?? - return new Comp(kind, Sign.None, left, right); + 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 ConvertCondition(CallInstruction invocation) + (ILInstruction, IType) ConvertCondition(CallInstruction invocation) { if (invocation.Arguments.Count != 3) - return null; - var condition = ConvertInstruction(invocation.Arguments[0]); - if (condition == null) - return null; - var trueInst = ConvertInstruction(invocation.Arguments[1]); + 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; - var falseInst = ConvertInstruction(invocation.Arguments[2]); + return (null, SpecialType.UnknownType); + var (falseInst, falseInstType) = ConvertInstruction(invocation.Arguments[2]); if (falseInst == null) - return null; - return new IfInstruction(condition, trueInst, falseInst); + return (null, SpecialType.UnknownType); + if (!trueInstType.Equals(falseInstType)) + return (null, SpecialType.UnknownType); + return (new IfInstruction(condition, trueInst, falseInst), trueInstType); } - ILInstruction ConvertConstant(CallInstruction invocation) + (ILInstruction, IType) ConvertConstant(CallInstruction invocation) { if (!MatchConstantCall(invocation, out var value, out var type)) - return null; + return (null, SpecialType.UnknownType); if (value.MatchBox(out var arg, out var boxType)) { if (boxType.Kind == TypeKind.Enum) - return new ExpressionTreeCast(boxType, ConvertValue(arg, invocation), false); - value = arg; + return (new ExpressionTreeCast(boxType, ConvertValue(arg, invocation).Item1, false), boxType); + value = ConvertValue(arg, invocation).Item1; + return (value, type); } return ConvertValue(value, invocation); } - ILInstruction ConvertElementInit(CallInstruction invocation) + (ILInstruction, IType) ConvertElementInit(CallInstruction invocation) { if (invocation.Arguments.Count != 2) - return null; + return (null, SpecialType.UnknownType); if (!MatchGetMethodFromHandle(invocation.Arguments[0], out var member)) - return null; + return (null, SpecialType.UnknownType); if (!MatchArgumentList(invocation.Arguments[1], out var arguments)) - return null; + return (null, SpecialType.UnknownType); CallInstruction call = new Call((IMethod)member); for (int i = 0; i < arguments.Count; i++) { - ILInstruction arg = ConvertInstruction(arguments[i]); + ILInstruction arg = ConvertInstruction(arguments[i]).Item1; if (arg == null) - return null; + return (null, SpecialType.UnknownType); arguments[i] = arg; } call.Arguments.AddRange(arguments); - return call; + return (call, member.ReturnType); } - ILInstruction ConvertField(CallInstruction invocation) + (ILInstruction, IType) ConvertField(CallInstruction invocation) { if (invocation.Arguments.Count != 2) - return null; + return (null, SpecialType.UnknownType); ILInstruction target = null; if (!invocation.Arguments[0].MatchLdNull()) { - target = ConvertInstruction(invocation.Arguments[0]); + target = ConvertInstruction(invocation.Arguments[0]).Item1; if (target == null) - return null; + return (null, SpecialType.UnknownType); } if (!MatchGetFieldFromHandle(invocation.Arguments[1], out var member)) - return null; + return (null, SpecialType.UnknownType); if (target == null) { - return new LdObj(new LdsFlda((IField)member), member.ReturnType); + return (new LdObj(new LdsFlda((IField)member), member.ReturnType), member.ReturnType); } else { - return new LdObj(new LdFlda(target, (IField)member), member.ReturnType); + return (new LdObj(new LdFlda(target, (IField)member), member.ReturnType), member.ReturnType); } } - ILInstruction ConvertInvoke(CallInstruction invocation) + (ILInstruction, IType) ConvertInvoke(CallInstruction invocation) { if (invocation.Arguments.Count != 2) - return null; - var target = ConvertInstruction(invocation.Arguments[0]); + return (null, SpecialType.UnknownType); + var (target, targetType) = ConvertInstruction(invocation.Arguments[0]); if (target == null) - return null; - var invokeMethod = InferType(target).GetDelegateInvokeMethod(); + return (null, SpecialType.UnknownType); + var invokeMethod = targetType.GetDelegateInvokeMethod(); if (invokeMethod == null) - return null; + return (null, SpecialType.UnknownType); if (!MatchArgumentList(invocation.Arguments[1], out var arguments)) - return null; + return (null, SpecialType.UnknownType); for (int i = 0; i < arguments.Count; i++) { - var arg = ConvertInstruction(arguments[i]); + var arg = ConvertInstruction(arguments[i]).Item1; if (arg == null) - return null; + return (null, SpecialType.UnknownType); arguments[i] = arg; } var call = new Call(invokeMethod); call.Arguments.Add(target); call.Arguments.AddRange(arguments); - return call; + return (call, invokeMethod.ReturnType); } - ILInstruction ConvertListInit(CallInstruction invocation) + (ILInstruction, IType) ConvertListInit(CallInstruction invocation) { if (invocation.Arguments.Count < 2) - return null; - var newObj = ConvertInstruction(invocation.Arguments[0]) as NewObj; + return (null, SpecialType.UnknownType); + var newObj = ConvertInstruction(invocation.Arguments[0]).Item1 as NewObj; if (newObj == null) - return 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; + return (null, SpecialType.UnknownType); } else { if (invocation.Arguments.Count != 3 || !MatchArgumentList(invocation.Arguments[2], out arguments)) - return null; + return (null, SpecialType.UnknownType); } if (arguments == null || arguments.Count == 0) - return null; + 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); + arg = ConvertElementInit(elementInit).Item1; if (arg == null) - return null; + return (null, SpecialType.UnknownType); ((CallInstruction)arg).Arguments.Insert(0, new LdLoc(initializer)); } else { - arg = ConvertInstruction(arguments[i]); + arg = ConvertInstruction(arguments[i]).Item1; if (arg == null) - return null; + return (null, SpecialType.UnknownType); } arguments[i] = arg; } @@ -606,65 +638,66 @@ namespace ICSharpCode.Decompiler.IL.Transforms initializerBlock.FinalInstruction = new LdLoc(initializer); initializerBlock.Instructions.Add(new StLoc(initializer, newObj)); initializerBlock.Instructions.AddRange(arguments); - return initializerBlock; + return (initializerBlock, initializer.Type); } - ILInstruction ConvertLogicOperator(CallInstruction invocation, bool and) + (ILInstruction, IType) ConvertLogicOperator(CallInstruction invocation, bool and) { if (invocation.Arguments.Count < 2) - return null; - var left = ConvertInstruction(invocation.Arguments[0]); + return (null, SpecialType.UnknownType); + var (left, leftType) = ConvertInstruction(invocation.Arguments[0]); if (left == null) - return null; - var right = ConvertInstruction(invocation.Arguments[1]); + return (null, SpecialType.UnknownType); + var (right, rightType) = ConvertInstruction(invocation.Arguments[1]); if (right == null) - return null; + return (null, SpecialType.UnknownType); IMember method; switch (invocation.Arguments.Count) { case 2: - return and ? IfInstruction.LogicAnd(left, right) : IfInstruction.LogicOr(left, right); + 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; - return new Call((IMethod)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; + return (null, SpecialType.UnknownType); if (!MatchGetMethodFromHandle(invocation.Arguments[3], out method)) - return null; + return (null, SpecialType.UnknownType); if (isLifted != 0) method = CSharpOperators.LiftUserDefinedOperator((IMethod)method); - return new Call((IMethod)method) { + return (new Call((IMethod)method) { Arguments = { left, right } - }; + }, method.ReturnType); default: - return null; + return (null, SpecialType.UnknownType); } } - ILInstruction ConvertMemberInit(CallInstruction invocation) + (ILInstruction, IType) ConvertMemberInit(CallInstruction invocation) { if (invocation.Arguments.Count != 2) - return null; - var newObj = ConvertInstruction(invocation.Arguments[0]) as NewObj; + return (null, SpecialType.UnknownType); + var newObj = ConvertInstruction(invocation.Arguments[0]).Item1 as NewObj; if (newObj == null) - return null; + return (null, SpecialType.UnknownType); if (!MatchArgumentList(invocation.Arguments[1], out var arguments)) - return null; + return (null, SpecialType.UnknownType); if (arguments == null || arguments.Count == 0) - return null; + 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); + arg = ConvertBind(bind, initializer).Item1; if (arg == null) - return null; + return (null, SpecialType.UnknownType); } else { - return null; + return (null, SpecialType.UnknownType); } arguments[i] = arg; } @@ -672,39 +705,39 @@ namespace ICSharpCode.Decompiler.IL.Transforms initializerBlock.FinalInstruction = new LdLoc(initializer); initializerBlock.Instructions.Add(new StLoc(initializer, newObj)); initializerBlock.Instructions.AddRange(arguments); - return initializerBlock; + return (initializerBlock, initializer.Type); } - ILInstruction ConvertNewArrayBounds(CallInstruction invocation) + (ILInstruction, IType) ConvertNewArrayBounds(CallInstruction invocation) { if (invocation.Arguments.Count != 2) - return null; + return (null, SpecialType.UnknownType); if (!MatchGetTypeFromHandle(invocation.Arguments[0], out var type)) - return null; + return (null, SpecialType.UnknownType); if (!MatchArgumentList(invocation.Arguments[1], out var arguments)) - return null; + return (null, SpecialType.UnknownType); if (arguments.Count == 0) - return null; + return (null, SpecialType.UnknownType); var indices = new ILInstruction[arguments.Count]; for (int i = 0; i < arguments.Count; i++) { - var index = ConvertInstruction(arguments[i]); + var index = ConvertInstruction(arguments[i]).Item1; if (index == null) - return null; + return (null, SpecialType.UnknownType); indices[i] = index; } - return new NewArr(type, indices); + return (new NewArr(type, indices), type); } - ILInstruction ConvertNewArrayInit(CallInstruction invocation) + (ILInstruction, IType) ConvertNewArrayInit(CallInstruction invocation) { if (invocation.Arguments.Count != 2) - return null; + return (null, SpecialType.UnknownType); if (!MatchGetTypeFromHandle(invocation.Arguments[0], out var type)) - return null; + return (null, SpecialType.UnknownType); if (!MatchArgumentList(invocation.Arguments[1], out var arguments)) - return null; + return (null, SpecialType.UnknownType); if (arguments.Count == 0) - return null; + 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)); @@ -712,16 +745,16 @@ namespace ICSharpCode.Decompiler.IL.Transforms 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); + var value = ConvertInstruction(item).Item1; if (value == null) - return 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; + return (initializer, variable.Type); } - ILInstruction ConvertNewObject(CallInstruction invocation) + (ILInstruction, IType) ConvertNewObject(CallInstruction invocation) { IMember member; IList arguments; @@ -731,80 +764,80 @@ namespace ICSharpCode.Decompiler.IL.Transforms if (MatchGetTypeFromHandle(invocation.Arguments[0], out var type)) { var ctors = type.GetConstructors().ToArray(); if (ctors.Length != 1 || ctors[0].Parameters.Count > 0) - return null; - return new NewObj(ctors[0]); + return (null, SpecialType.UnknownType); + return (new NewObj(ctors[0]), type); } if (MatchGetConstructorFromHandle(invocation.Arguments[0], out member)) { - return new NewObj((IMethod)member); + return (new NewObj((IMethod)member), member.DeclaringType); } - return null; + return (null, SpecialType.UnknownType); case 2: if (!MatchGetConstructorFromHandle(invocation.Arguments[0], out member)) - return null; + return (null, SpecialType.UnknownType); if (!MatchArgumentList(invocation.Arguments[1], out arguments)) - return null; - var args = arguments.SelectArray(ConvertInstruction); + return (null, SpecialType.UnknownType); + var args = arguments.SelectArray(arg => ConvertInstruction(arg).Item1); if (args.Any(a => a == null)) - return null; + return (null, SpecialType.UnknownType); newObj = new NewObj((IMethod)member); newObj.Arguments.AddRange(args); - return newObj; + return (newObj, member.DeclaringType); case 3: if (!MatchGetConstructorFromHandle(invocation.Arguments[0], out member)) - return null; + return (null, SpecialType.UnknownType); if (!MatchArgumentList(invocation.Arguments[1], out arguments)) - return null; - var args2 = arguments.SelectArray(ConvertInstruction); + return (null, SpecialType.UnknownType); + var args2 = arguments.SelectArray(arg => ConvertInstruction(arg).Item1); if (args2.Any(a => a == null)) - return null; + return (null, SpecialType.UnknownType); newObj = new NewObj((IMethod)member); newObj.Arguments.AddRange(args2); - return newObj; + return (newObj, member.DeclaringType); } - return null; + return (null, SpecialType.UnknownType); } - ILInstruction ConvertNotOperator(CallInstruction invocation) + (ILInstruction, IType) ConvertNotOperator(CallInstruction invocation) { if (invocation.Arguments.Count < 1) - return null; - var argument = ConvertInstruction(invocation.Arguments[0]); + return (null, SpecialType.UnknownType); + var (argument, argumentType) = ConvertInstruction(invocation.Arguments[0]); if (argument == null) - return null; + return (null, SpecialType.UnknownType); switch (invocation.Arguments.Count) { case 1: - return InferType(argument).IsKnownType(KnownTypeCode.Boolean) ? Comp.LogicNot(argument) : (ILInstruction)new BitNot(argument); + 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; - return new Call((IMethod)method) { + return (null, SpecialType.UnknownType); + return (new Call((IMethod)method) { Arguments = { argument } - }; + }, method.ReturnType); default: - return null; + return (null, SpecialType.UnknownType); } } - ILInstruction ConvertProperty(CallInstruction invocation) + (ILInstruction, IType) ConvertProperty(CallInstruction invocation) { if (invocation.Arguments.Count < 2) - return null; + return (null, SpecialType.UnknownType); ILInstruction target = null; if (!invocation.Arguments[0].MatchLdNull()) { - target = ConvertInstruction(invocation.Arguments[0]); + target = ConvertInstruction(invocation.Arguments[0]).Item1; if (target == null) - return null; + return (null, SpecialType.UnknownType); } if (!MatchGetMethodFromHandle(invocation.Arguments[1], out var member)) - return null; + 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]); + arguments[i] = ConvertInstruction(arguments[i]).Item1; if (arguments[i] == null) - return null; + return (null, SpecialType.UnknownType); } } if (target != null) { @@ -817,74 +850,92 @@ namespace ICSharpCode.Decompiler.IL.Transforms call = new Call((IMethod)member); } call.Arguments.AddRange(arguments); - return call; + return (call, member.ReturnType); } - ILInstruction ConvertTypeAs(CallInstruction invocation) + (ILInstruction, IType) ConvertTypeAs(CallInstruction invocation) { if (invocation.Arguments.Count != 2) - return null; - var converted = ConvertInstruction(invocation.Arguments[0]); + return (null, SpecialType.UnknownType); + var converted = ConvertInstruction(invocation.Arguments[0]).Item1; if (!MatchGetTypeFromHandle(invocation.Arguments[1], out var type)) - return null; + return (null, SpecialType.UnknownType); if (converted != null) - return new IsInst(converted, type); - return null; + return (new IsInst(converted, type), type); + return (null, SpecialType.UnknownType); } - ILInstruction ConvertTypeIs(CallInstruction invocation) + (ILInstruction, IType) ConvertTypeIs(CallInstruction invocation) { if (invocation.Arguments.Count != 2) - return null; - var converted = ConvertInstruction(invocation.Arguments[0]); + return (null, SpecialType.UnknownType); + var converted = ConvertInstruction(invocation.Arguments[0]).Item1; if (!MatchGetTypeFromHandle(invocation.Arguments[1], out var type)) - return null; + 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()); - return null; + return (new Comp(ComparisonKind.Inequality, Sign.None, new IsInst(converted, type), new LdNull()), resultType); + return (null, SpecialType.UnknownType); } - ILInstruction ConvertUnaryNumericOperator(CallInstruction invocation, BinaryNumericOperator op, bool? isChecked = null) + (ILInstruction, IType) ConvertUnaryNumericOperator(CallInstruction invocation, BinaryNumericOperator op, bool? isChecked = null) { if (invocation.Arguments.Count < 1) - return null; - var argument = ConvertInstruction(invocation.Arguments[0]); + return (null, SpecialType.UnknownType); + var (argument, argumentType) = ConvertInstruction(invocation.Arguments[0]); if (argument == null) - return null; + return (null, SpecialType.UnknownType); switch (invocation.Arguments.Count) { case 1: - return new BinaryNumericInstruction(op, new LdcI4(0), argument, isChecked == true, Sign.None); + 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; - return new Call((IMethod)method) { + return (null, SpecialType.UnknownType); + return (new Call((IMethod)method) { Arguments = { argument } - }; + }, method.ReturnType); } - return null; + return (null, SpecialType.UnknownType); } - ILInstruction ConvertValue(ILInstruction value, ILInstruction context) + (ILInstruction, IType) ConvertValue(ILInstruction value, ILInstruction context) { switch (value) { case LdLoc ldloc: if (IsExpressionTreeParameter(ldloc.Variable)) { if (!parameterMapping.TryGetValue(ldloc.Variable, out var v)) - return null; + return (null, SpecialType.UnknownType); if (context is CallInstruction parentCall && parentCall.Method.FullName == "System.Linq.Expressions.Expression.Call" && v.StackType.IsIntegerType()) - return new LdLoca(v); - return new LdLoc(v); + return (new LdLoca(v), new ByReferenceType(v.Type)); + return (new LdLoc(v), v.Type); } else { if (ldloc.Variable.Kind != VariableKind.StackSlot) - return new LdLoc(ldloc.Variable); - return null; + return (new LdLoc(ldloc.Variable), ldloc.Variable.Type); + return (null, SpecialType.UnknownType); } default: if (SemanticHelper.IsPure(value.Flags)) - return value.Clone(); - return value; + return (value.Clone(), value.InferType()); + return (value, value.InferType()); } } @@ -901,7 +952,7 @@ namespace ICSharpCode.Decompiler.IL.Transforms value = call.Arguments[0]; if (call.Arguments.Count == 2) return MatchGetTypeFromHandle(call.Arguments[1], out type); - type = InferType(value); + type = value.InferType(); return true; } return false; @@ -1006,14 +1057,5 @@ namespace ICSharpCode.Decompiler.IL.Transforms } return true; } - - IType InferType(ILInstruction inst) - { - if (inst is Block b && b.Kind == BlockKind.ArrayInitializer) - return b.FinalInstruction.InferType(); - if (inst is ExpressionTreeCast cast) - return cast.Type; - return inst.InferType(); - } } } From 9d0ff70f085fec4becfd5ec7bc639386b50524aa Mon Sep 17 00:00:00 2001 From: Siegfried Pammer Date: Sat, 25 Nov 2017 13:08:34 +0100 Subject: [PATCH 10/17] Fix some unnecessary casts, adjust test cases --- .../TestCases/Pretty/ExpressionTrees.cs | 15 +- .../TestCases/Pretty/ExpressionTrees.il | 308 ++++++++---------- .../TestCases/Pretty/ExpressionTrees.opt.il | 307 ++++++++--------- .../Pretty/ExpressionTrees.opt.roslyn.il | 272 +++++++--------- .../Pretty/ExpressionTrees.roslyn.il | 271 +++++++-------- .../IL/Transforms/TransformExpressionTrees.cs | 4 +- 6 files changed, 491 insertions(+), 686 deletions(-) diff --git a/ICSharpCode.Decompiler.Tests/TestCases/Pretty/ExpressionTrees.cs b/ICSharpCode.Decompiler.Tests/TestCases/Pretty/ExpressionTrees.cs index 530765067..8b1481eca 100644 --- a/ICSharpCode.Decompiler.Tests/TestCases/Pretty/ExpressionTrees.cs +++ b/ICSharpCode.Decompiler.Tests/TestCases/Pretty/ExpressionTrees.cs @@ -193,7 +193,7 @@ public class ExpressionTrees { int i = 1; string x = "X"; - ExpressionTrees.ToCode(ExpressionTrees.X(), () => (("a\n\\b" ?? x) + x).Length == 2 ? false : true && (1m + -i > 0 || false)); + ExpressionTrees.ToCode(ExpressionTrees.X(), () => ((("a\n\\b" ?? x) + x).Length == 2) ? false : (true && (1m + (decimal)(-i) > 0m || false))); } public void NotImplicitCast() @@ -241,12 +241,12 @@ public class ExpressionTrees public void MethodGroupAsExtensionMethod() { - ExpressionTrees.ToCode(ExpressionTrees.X(), () => (Func)new int[4] { + ExpressionTrees.ToCode(ExpressionTrees.X(), (Expression>>)(() => ((IEnumerable)new int[4] { 2000, 2004, 2008, 2012 - }.Any); + }).Any)); } public void MethodGroupConstant() @@ -266,7 +266,7 @@ public class ExpressionTrees 2012 }.All(set.Add)); - Func, bool> sink = f => f(null, null); + Func, bool> sink = (Func f) => f(null, null); ExpressionTrees.ToCode(ExpressionTrees.X(), () => sink(object.Equals)); } @@ -299,7 +299,7 @@ public class ExpressionTrees public void CurriedLambda() { - ExpressionTrees.ToCode>>(ExpressionTrees.X(), a => b => c => a + b + c); + ExpressionTrees.ToCode(ExpressionTrees.X(), (Expression>>>)((int a) => (int b) => (int c) => a + b + c)); } private bool Fizz(Func a) @@ -431,11 +431,6 @@ public class ExpressionTrees ExpressionTrees.ToCode(ExpressionTrees.X(), () => (("a\n\\b" ?? x) + x).Length == 2 ? false : true && (1m + (decimal)-i > 0m || false)); } - public void StringAccessor() - { - ExpressionTrees.ToCode(ExpressionTrees.X(), () => (int)"abc"[1] == 98); - } - public void GenericClassInstance() { ExpressionTrees.ToCode(ExpressionTrees.X(), () => (double)new GenericClass().InstanceField + new GenericClass().InstanceProperty); diff --git a/ICSharpCode.Decompiler.Tests/TestCases/Pretty/ExpressionTrees.il b/ICSharpCode.Decompiler.Tests/TestCases/Pretty/ExpressionTrees.il index 4d3dfc227..5bf0e00ee 100644 --- a/ICSharpCode.Decompiler.Tests/TestCases/Pretty/ExpressionTrees.il +++ b/ICSharpCode.Decompiler.Tests/TestCases/Pretty/ExpressionTrees.il @@ -20,7 +20,7 @@ .publickeytoken = (B7 7A 5C 56 19 34 E0 89 ) // .z\V.4.. .ver 4:0:0:0 } -.assembly bkuaf15t +.assembly pwk1zrwf { .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 @@ -30,15 +30,15 @@ .hash algorithm 0x00008004 .ver 0:0:0:0 } -.module bkuaf15t.dll -// MVID: {E4EF857C-F542-4940-9C71-2C5B582D4409} +.module pwk1zrwf.dll +// MVID: {F6BFC7E4-C360-4730-8ABB-47735EBDDEBC} .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: 0x00E00000 +// Image base: 0x00CE0000 // =============== CLASS MEMBERS DECLARATION =================== @@ -1940,7 +1940,7 @@ .method public hidebysig instance void MembersDefault() cil managed { - // Code size 574 (0x23e) + // Code size 589 (0x24d) .maxstack 7 .locals init (valuetype [mscorlib]System.DateTime V_0, class [System.Core]System.Linq.Expressions.Expression[] V_1) @@ -1977,156 +1977,160 @@ IL_0062: pop IL_0063: call object ExpressionTrees::X() IL_0068: ldnull - IL_0069: box int32[] - IL_006e: ldtoken int32[] + 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: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::ArrayLength(class [System.Core]System.Linq.Expressions.Expression) - IL_0082: ldc.i4.0 - 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, + 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_0097: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Equal(class [System.Core]System.Linq.Expressions.Expression, + 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_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, + 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_00a7: call object ExpressionTrees::ToCode(object, + IL_00b6: call object ExpressionTrees::ToCode(object, class [System.Core]System.Linq.Expressions.Expression`1>) - IL_00ac: pop - IL_00ad: call object ExpressionTrees::X() - IL_00b2: ldnull - IL_00b3: box [mscorlib]System.Type - IL_00b8: ldtoken [mscorlib]System.Type - IL_00bd: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) - IL_00c2: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, - class [mscorlib]System.Type) - IL_00c7: ldtoken method instance bool [mscorlib]System.Type::get_IsLayoutSequential() - IL_00cc: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) - IL_00d1: castclass [mscorlib]System.Reflection.MethodInfo - IL_00d6: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Property(class [System.Core]System.Linq.Expressions.Expression, + IL_00bb: pop + IL_00bc: call object 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_00db: ldc.i4.0 - IL_00dc: newarr [System.Core]System.Linq.Expressions.ParameterExpression - IL_00e1: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + 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_00e6: call object ExpressionTrees::ToCode(object, + IL_00f5: call object ExpressionTrees::ToCode(object, class [System.Core]System.Linq.Expressions.Expression`1>) - IL_00eb: pop - IL_00ec: call object ExpressionTrees::X() - IL_00f1: ldnull - IL_00f2: box class [mscorlib]System.Collections.Generic.List`1 - 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, + IL_00fa: pop + IL_00fb: call object 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_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, + 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_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, + 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_012a: call object ExpressionTrees::ToCode(object, + IL_0139: call object ExpressionTrees::ToCode(object, class [System.Core]System.Linq.Expressions.Expression`1>) - IL_012f: pop - IL_0130: call object ExpressionTrees::X() - IL_0135: ldnull - IL_0136: box int32[] - IL_013b: ldtoken int32[] - IL_0140: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) - IL_0145: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, - class [mscorlib]System.Type) - IL_014a: ldtoken method instance object [mscorlib]System.Array::Clone() - 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.0 - IL_015a: newarr [System.Core]System.Linq.Expressions.Expression - IL_015f: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + IL_013e: pop + IL_013f: call object 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_0164: ldnull - IL_0165: box [mscorlib]System.Object - IL_016a: ldtoken [mscorlib]System.Object - 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, + 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_0179: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Equal(class [System.Core]System.Linq.Expressions.Expression, + 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_017e: ldc.i4.0 - IL_017f: newarr [System.Core]System.Linq.Expressions.ParameterExpression - IL_0184: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(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_0189: call object ExpressionTrees::ToCode(object, + IL_0198: call object ExpressionTrees::ToCode(object, class [System.Core]System.Linq.Expressions.Expression`1>) - IL_018e: pop - IL_018f: call object ExpressionTrees::X() - IL_0194: ldnull - IL_0195: box [mscorlib]System.Type - IL_019a: ldtoken [mscorlib]System.Type - 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 bool [mscorlib]System.Type::IsInstanceOfType(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.1 - IL_01b9: newarr [System.Core]System.Linq.Expressions.Expression - IL_01be: stloc.1 - IL_01bf: ldloc.1 - IL_01c0: ldc.i4.0 - IL_01c1: ldtoken method instance void [mscorlib]System.Object::.ctor() - IL_01c6: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) - IL_01cb: castclass [mscorlib]System.Reflection.ConstructorInfo - IL_01d0: ldc.i4.0 - IL_01d1: newarr [System.Core]System.Linq.Expressions.Expression - IL_01d6: call class [System.Core]System.Linq.Expressions.NewExpression [System.Core]System.Linq.Expressions.Expression::New(class [mscorlib]System.Reflection.ConstructorInfo, + IL_019d: pop + IL_019e: call object 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_01db: stelem.ref - IL_01dc: ldloc.1 - IL_01dd: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(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_01e2: ldc.i4.0 - IL_01e3: newarr [System.Core]System.Linq.Expressions.ParameterExpression - IL_01e8: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(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_01ed: call object ExpressionTrees::ToCode(object, + IL_01fc: call object ExpressionTrees::ToCode(object, class [System.Core]System.Linq.Expressions.Expression`1>) - IL_01f2: pop - IL_01f3: call object ExpressionTrees::X() - IL_01f8: ldnull - IL_01f9: box class [mscorlib]System.Collections.Generic.List`1 - IL_01fe: ldtoken class [mscorlib]System.Collections.Generic.List`1 - IL_0203: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) - IL_0208: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, - class [mscorlib]System.Type) - IL_020d: ldtoken method instance class [mscorlib]System.Collections.ObjectModel.ReadOnlyCollection`1 class [mscorlib]System.Collections.Generic.List`1::AsReadOnly() - IL_0212: ldtoken class [mscorlib]System.Collections.Generic.List`1 - IL_0217: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle, + IL_0201: pop + IL_0202: call object 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_021c: castclass [mscorlib]System.Reflection.MethodInfo - IL_0221: ldc.i4.0 - IL_0222: newarr [System.Core]System.Linq.Expressions.Expression - IL_0227: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + 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_022c: ldc.i4.0 - IL_022d: newarr [System.Core]System.Linq.Expressions.ParameterExpression - IL_0232: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>>(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_0237: call object ExpressionTrees::ToCode>(object, + IL_0246: call object ExpressionTrees::ToCode>(object, class [System.Core]System.Linq.Expressions.Expression`1>) - IL_023c: pop - IL_023d: ret + IL_024b: pop + IL_024c: ret } // end of method ExpressionTrees::MembersDefault .method public hidebysig instance void @@ -4570,60 +4574,6 @@ IL_0179: ret } // end of method ExpressionTrees::Strings - .method public hidebysig instance void - StringAccessor() 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 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) - IL_0088: pop - IL_0089: ret - } // end of method ExpressionTrees::StringAccessor - .method public hidebysig instance void GenericClassInstance() cil managed { diff --git a/ICSharpCode.Decompiler.Tests/TestCases/Pretty/ExpressionTrees.opt.il b/ICSharpCode.Decompiler.Tests/TestCases/Pretty/ExpressionTrees.opt.il index 5da07115d..931cad714 100644 --- a/ICSharpCode.Decompiler.Tests/TestCases/Pretty/ExpressionTrees.opt.il +++ b/ICSharpCode.Decompiler.Tests/TestCases/Pretty/ExpressionTrees.opt.il @@ -20,7 +20,7 @@ .publickeytoken = (B7 7A 5C 56 19 34 E0 89 ) // .z\V.4.. .ver 4:0:0:0 } -.assembly zkgfee0m +.assembly '52ioesty' { .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 @@ -30,15 +30,15 @@ .hash algorithm 0x00008004 .ver 0:0:0:0 } -.module zkgfee0m.dll -// MVID: {CE4214BB-7BBF-471B-81A0-5ECC07FB8BB5} +.module '52ioesty.dll' +// MVID: {9B3D89BE-AD40-44EF-A532-1D94E4515C78} .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: 0x00AF0000 +// Image base: 0x05050000 // =============== CLASS MEMBERS DECLARATION =================== @@ -1886,7 +1886,7 @@ .method public hidebysig instance void MembersDefault() cil managed { - // Code size 573 (0x23d) + // Code size 588 (0x24c) .maxstack 7 .locals init (valuetype [mscorlib]System.DateTime V_0, class [System.Core]System.Linq.Expressions.Expression[] V_1) @@ -1922,156 +1922,160 @@ IL_0061: pop IL_0062: call object ExpressionTrees::X() IL_0067: ldnull - IL_0068: box int32[] - IL_006d: ldtoken int32[] + 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: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::ArrayLength(class [System.Core]System.Linq.Expressions.Expression) - IL_0081: ldc.i4.0 - IL_0082: box [mscorlib]System.Int32 - IL_0087: ldtoken [mscorlib]System.Int32 - 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, + 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_0096: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Equal(class [System.Core]System.Linq.Expressions.Expression, + 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_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, + 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_00a6: call object ExpressionTrees::ToCode(object, + IL_00b5: call object ExpressionTrees::ToCode(object, class [System.Core]System.Linq.Expressions.Expression`1>) - IL_00ab: pop - IL_00ac: call object ExpressionTrees::X() - IL_00b1: ldnull - IL_00b2: box [mscorlib]System.Type - IL_00b7: ldtoken [mscorlib]System.Type - 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: ldtoken method instance bool [mscorlib]System.Type::get_IsLayoutSequential() - IL_00cb: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) - IL_00d0: castclass [mscorlib]System.Reflection.MethodInfo - IL_00d5: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Property(class [System.Core]System.Linq.Expressions.Expression, + IL_00ba: pop + IL_00bb: call object 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_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, + 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_00e5: call object ExpressionTrees::ToCode(object, + IL_00f4: call object ExpressionTrees::ToCode(object, class [System.Core]System.Linq.Expressions.Expression`1>) - IL_00ea: pop - IL_00eb: call object ExpressionTrees::X() - IL_00f0: ldnull - IL_00f1: box class [mscorlib]System.Collections.Generic.List`1 - 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, + IL_00f9: pop + IL_00fa: call object 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_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, + 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_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, + 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_0129: call object ExpressionTrees::ToCode(object, + IL_0138: call object ExpressionTrees::ToCode(object, class [System.Core]System.Linq.Expressions.Expression`1>) - IL_012e: pop - IL_012f: call object ExpressionTrees::X() - IL_0134: ldnull - IL_0135: box int32[] - IL_013a: ldtoken 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: ldtoken method instance object [mscorlib]System.Array::Clone() - 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.0 - IL_0159: newarr [System.Core]System.Linq.Expressions.Expression - IL_015e: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + IL_013d: pop + IL_013e: call object 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_0163: ldnull - IL_0164: box [mscorlib]System.Object - IL_0169: ldtoken [mscorlib]System.Object - IL_016e: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) - IL_0173: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + 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_0178: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Equal(class [System.Core]System.Linq.Expressions.Expression, + 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_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, + 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_0188: call object ExpressionTrees::ToCode(object, + IL_0197: call object ExpressionTrees::ToCode(object, class [System.Core]System.Linq.Expressions.Expression`1>) - IL_018d: pop - IL_018e: call object ExpressionTrees::X() - IL_0193: ldnull - IL_0194: box [mscorlib]System.Type - IL_0199: ldtoken [mscorlib]System.Type - 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: ldtoken method instance bool [mscorlib]System.Type::IsInstanceOfType(object) - IL_01ad: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) - IL_01b2: castclass [mscorlib]System.Reflection.MethodInfo - IL_01b7: ldc.i4.1 - IL_01b8: newarr [System.Core]System.Linq.Expressions.Expression - IL_01bd: stloc.1 - IL_01be: ldloc.1 - IL_01bf: ldc.i4.0 - IL_01c0: ldtoken method instance void [mscorlib]System.Object::.ctor() - IL_01c5: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) - IL_01ca: castclass [mscorlib]System.Reflection.ConstructorInfo - IL_01cf: ldc.i4.0 - IL_01d0: newarr [System.Core]System.Linq.Expressions.Expression - IL_01d5: call class [System.Core]System.Linq.Expressions.NewExpression [System.Core]System.Linq.Expressions.Expression::New(class [mscorlib]System.Reflection.ConstructorInfo, + IL_019c: pop + IL_019d: call object 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_01da: stelem.ref - IL_01db: ldloc.1 - IL_01dc: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(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_01e1: ldc.i4.0 - IL_01e2: newarr [System.Core]System.Linq.Expressions.ParameterExpression - IL_01e7: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(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_01ec: call object ExpressionTrees::ToCode(object, + IL_01fb: call object ExpressionTrees::ToCode(object, class [System.Core]System.Linq.Expressions.Expression`1>) - IL_01f1: pop - IL_01f2: call object ExpressionTrees::X() - IL_01f7: ldnull - IL_01f8: box class [mscorlib]System.Collections.Generic.List`1 - IL_01fd: ldtoken class [mscorlib]System.Collections.Generic.List`1 - 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.Collections.ObjectModel.ReadOnlyCollection`1 class [mscorlib]System.Collections.Generic.List`1::AsReadOnly() - IL_0211: ldtoken class [mscorlib]System.Collections.Generic.List`1 - IL_0216: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle, + IL_0200: pop + IL_0201: call object 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_021b: castclass [mscorlib]System.Reflection.MethodInfo - IL_0220: ldc.i4.0 - IL_0221: newarr [System.Core]System.Linq.Expressions.Expression - IL_0226: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + 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_022b: ldc.i4.0 - IL_022c: newarr [System.Core]System.Linq.Expressions.ParameterExpression - IL_0231: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>>(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_0236: call object ExpressionTrees::ToCode>(object, + IL_0245: call object ExpressionTrees::ToCode>(object, class [System.Core]System.Linq.Expressions.Expression`1>) - IL_023b: pop - IL_023c: ret + IL_024a: pop + IL_024b: ret } // end of method ExpressionTrees::MembersDefault .method public hidebysig instance void @@ -4476,59 +4480,6 @@ IL_0177: ret } // end of method ExpressionTrees::Strings - .method public hidebysig instance void - StringAccessor() cil managed - { - // Code size 137 (0x89) - .maxstack 7 - .locals init (class [System.Core]System.Linq.Expressions.Expression[] V_0) - IL_0000: call object 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) - IL_0087: pop - IL_0088: ret - } // end of method ExpressionTrees::StringAccessor - .method public hidebysig instance void GenericClassInstance() cil managed { diff --git a/ICSharpCode.Decompiler.Tests/TestCases/Pretty/ExpressionTrees.opt.roslyn.il b/ICSharpCode.Decompiler.Tests/TestCases/Pretty/ExpressionTrees.opt.roslyn.il index f3f2e2424..78ff44063 100644 --- a/ICSharpCode.Decompiler.Tests/TestCases/Pretty/ExpressionTrees.opt.roslyn.il +++ b/ICSharpCode.Decompiler.Tests/TestCases/Pretty/ExpressionTrees.opt.roslyn.il @@ -35,14 +35,14 @@ .ver 0:0:0:0 } .module ExpressionTrees.dll -// MVID: {40B0725B-4128-4144-86C1-FC7C593DEAA3} +// MVID: {011EC1DC-4E6D-41D3-A477-6AFAB3E4853A} .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: 0x00F70000 +// Image base: 0x04DC0000 // =============== CLASS MEMBERS DECLARATION =================== @@ -2233,7 +2233,7 @@ .method public hidebysig instance void MembersDefault() cil managed { - // Code size 525 (0x20d) + // Code size 540 (0x21c) .maxstack 7 .locals init (valuetype [mscorlib]System.DateTime V_0) IL_0000: call object ExpressionTrees::X() @@ -2268,143 +2268,147 @@ IL_0061: pop IL_0062: call object ExpressionTrees::X() IL_0067: ldnull - IL_0068: ldtoken int32[] + 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: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::ArrayLength(class [System.Core]System.Linq.Expressions.Expression) - IL_007c: ldc.i4.0 - 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, + 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_0091: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Equal(class [System.Core]System.Linq.Expressions.Expression, + 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_0096: ldc.i4.0 - IL_0097: newarr [System.Core]System.Linq.Expressions.ParameterExpression - IL_009c: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(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_00a1: call object ExpressionTrees::ToCode(object, + IL_00b0: call object ExpressionTrees::ToCode(object, class [System.Core]System.Linq.Expressions.Expression`1>) - IL_00a6: pop - IL_00a7: call object ExpressionTrees::X() - IL_00ac: ldnull - IL_00ad: ldtoken [mscorlib]System.Type - IL_00b2: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) - IL_00b7: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + IL_00b5: pop + IL_00b6: call object 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_00bc: ldtoken method instance bool [mscorlib]System.Type::get_IsLayoutSequential() - IL_00c1: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) - IL_00c6: castclass [mscorlib]System.Reflection.MethodInfo - IL_00cb: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Property(class [System.Core]System.Linq.Expressions.Expression, + 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_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, + 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_00db: call object ExpressionTrees::ToCode(object, + IL_00ea: call object ExpressionTrees::ToCode(object, class [System.Core]System.Linq.Expressions.Expression`1>) - IL_00e0: pop - IL_00e1: call object ExpressionTrees::X() - IL_00e6: ldnull - IL_00e7: ldtoken class [mscorlib]System.Collections.Generic.List`1 - 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, + IL_00ef: pop + IL_00f0: call object 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_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, + 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_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, + 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_010f: ldc.i4.0 - IL_0110: newarr [System.Core]System.Linq.Expressions.ParameterExpression - IL_0115: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + 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_011a: call object ExpressionTrees::ToCode(object, + IL_0129: call object ExpressionTrees::ToCode(object, class [System.Core]System.Linq.Expressions.Expression`1>) - IL_011f: pop - IL_0120: call object ExpressionTrees::X() - IL_0125: ldnull - IL_0126: ldtoken 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: ldtoken method instance object [mscorlib]System.Array::Clone() - 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.0 - IL_0145: newarr [System.Core]System.Linq.Expressions.Expression - IL_014a: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + IL_012e: pop + IL_012f: call object 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_014f: ldnull - IL_0150: ldtoken [mscorlib]System.Object - 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, + 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_015f: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Equal(class [System.Core]System.Linq.Expressions.Expression, + 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_0164: ldc.i4.0 - IL_0165: newarr [System.Core]System.Linq.Expressions.ParameterExpression - IL_016a: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(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_016f: call object ExpressionTrees::ToCode(object, + IL_017e: call object ExpressionTrees::ToCode(object, class [System.Core]System.Linq.Expressions.Expression`1>) - IL_0174: pop - IL_0175: call object ExpressionTrees::X() - IL_017a: ldnull - IL_017b: ldtoken [mscorlib]System.Type - IL_0180: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) - IL_0185: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, - class [mscorlib]System.Type) - IL_018a: ldtoken method instance bool [mscorlib]System.Type::IsInstanceOfType(object) - IL_018f: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) - IL_0194: castclass [mscorlib]System.Reflection.MethodInfo - IL_0199: ldc.i4.1 - IL_019a: newarr [System.Core]System.Linq.Expressions.Expression - IL_019f: dup - IL_01a0: ldc.i4.0 - IL_01a1: ldtoken [mscorlib]System.Object - 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: stelem.ref - IL_01b1: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + IL_0183: pop + IL_0184: call object 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_01b6: ldc.i4.0 - IL_01b7: newarr [System.Core]System.Linq.Expressions.ParameterExpression - IL_01bc: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(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_01c1: call object ExpressionTrees::ToCode(object, + IL_01d0: call object ExpressionTrees::ToCode(object, class [System.Core]System.Linq.Expressions.Expression`1>) - IL_01c6: pop - IL_01c7: call object ExpressionTrees::X() - IL_01cc: ldnull - IL_01cd: ldtoken class [mscorlib]System.Collections.Generic.List`1 - IL_01d2: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) - IL_01d7: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, - class [mscorlib]System.Type) - IL_01dc: ldtoken method instance class [mscorlib]System.Collections.ObjectModel.ReadOnlyCollection`1 class [mscorlib]System.Collections.Generic.List`1::AsReadOnly() - IL_01e1: ldtoken class [mscorlib]System.Collections.Generic.List`1 - IL_01e6: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle, + IL_01d5: pop + IL_01d6: call object 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_01eb: castclass [mscorlib]System.Reflection.MethodInfo - IL_01f0: ldc.i4.0 - IL_01f1: newarr [System.Core]System.Linq.Expressions.Expression - IL_01f6: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + 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_01fb: ldc.i4.0 - IL_01fc: newarr [System.Core]System.Linq.Expressions.ParameterExpression - IL_0201: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>>(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_0206: call object ExpressionTrees::ToCode>(object, + IL_0215: call object ExpressionTrees::ToCode>(object, class [System.Core]System.Linq.Expressions.Expression`1>) - IL_020b: pop - IL_020c: ret + IL_021a: pop + IL_021b: ret } // end of method ExpressionTrees::MembersDefault .method public hidebysig instance void @@ -4631,56 +4635,6 @@ IL_0195: ret } // end of method ExpressionTrees::Strings - .method public hidebysig instance void - StringAccessor() cil managed - { - // Code size 135 (0x87) - .maxstack 8 - IL_0000: call object 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) - IL_0085: pop - IL_0086: ret - } // end of method ExpressionTrees::StringAccessor - .method public hidebysig instance void GenericClassInstance() cil managed { diff --git a/ICSharpCode.Decompiler.Tests/TestCases/Pretty/ExpressionTrees.roslyn.il b/ICSharpCode.Decompiler.Tests/TestCases/Pretty/ExpressionTrees.roslyn.il index de0a2f899..15f0bd7ca 100644 --- a/ICSharpCode.Decompiler.Tests/TestCases/Pretty/ExpressionTrees.roslyn.il +++ b/ICSharpCode.Decompiler.Tests/TestCases/Pretty/ExpressionTrees.roslyn.il @@ -35,7 +35,7 @@ .ver 0:0:0:0 } .module ExpressionTrees.dll -// MVID: {D68B624D-BA3C-4BAF-8282-A46E4994F3C5} +// MVID: {8FA0BC83-A8B7-4800-8E3F-0A672A66BCAE} .custom instance void [mscorlib]System.Security.UnverifiableCodeAttribute::.ctor() = ( 01 00 00 00 ) .imagebase 0x10000000 .file alignment 0x00000200 @@ -2301,7 +2301,7 @@ .method public hidebysig instance void MembersDefault() cil managed { - // Code size 526 (0x20e) + // Code size 541 (0x21d) .maxstack 7 .locals init (valuetype [mscorlib]System.DateTime V_0) IL_0000: nop @@ -2337,143 +2337,147 @@ IL_0062: pop IL_0063: call object ExpressionTrees::X() IL_0068: ldnull - IL_0069: ldtoken int32[] + 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: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::ArrayLength(class [System.Core]System.Linq.Expressions.Expression) - IL_007d: ldc.i4.0 - IL_007e: box [mscorlib]System.Int32 - IL_0083: ldtoken [mscorlib]System.Int32 - 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, + 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_0092: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Equal(class [System.Core]System.Linq.Expressions.Expression, + 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_0097: ldc.i4.0 - IL_0098: newarr [System.Core]System.Linq.Expressions.ParameterExpression - IL_009d: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(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_00a2: call object ExpressionTrees::ToCode(object, + IL_00b1: call object ExpressionTrees::ToCode(object, class [System.Core]System.Linq.Expressions.Expression`1>) - IL_00a7: pop - IL_00a8: call object ExpressionTrees::X() - IL_00ad: ldnull - IL_00ae: ldtoken [mscorlib]System.Type - 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, + IL_00b6: pop + IL_00b7: call object 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_00bd: ldtoken method instance bool [mscorlib]System.Type::get_IsLayoutSequential() - IL_00c2: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) - IL_00c7: castclass [mscorlib]System.Reflection.MethodInfo - IL_00cc: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Property(class [System.Core]System.Linq.Expressions.Expression, + 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_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, + 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_00dc: call object ExpressionTrees::ToCode(object, + IL_00eb: call object ExpressionTrees::ToCode(object, class [System.Core]System.Linq.Expressions.Expression`1>) - IL_00e1: pop - IL_00e2: call object ExpressionTrees::X() - IL_00e7: ldnull - IL_00e8: ldtoken class [mscorlib]System.Collections.Generic.List`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.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + IL_00f0: pop + IL_00f1: call object 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_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, + 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_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, + 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_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, + 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_011b: call object ExpressionTrees::ToCode(object, + IL_012a: call object ExpressionTrees::ToCode(object, class [System.Core]System.Linq.Expressions.Expression`1>) - IL_0120: pop - IL_0121: call object ExpressionTrees::X() - IL_0126: ldnull - IL_0127: ldtoken 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: ldtoken method instance object [mscorlib]System.Array::Clone() - IL_013b: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) - IL_0140: castclass [mscorlib]System.Reflection.MethodInfo - IL_0145: ldc.i4.0 - IL_0146: newarr [System.Core]System.Linq.Expressions.Expression - IL_014b: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + IL_012f: pop + IL_0130: call object 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_0150: ldnull - IL_0151: ldtoken [mscorlib]System.Object - 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, + 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_0160: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Equal(class [System.Core]System.Linq.Expressions.Expression, + 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_0165: ldc.i4.0 - IL_0166: newarr [System.Core]System.Linq.Expressions.ParameterExpression - 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, + 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_0170: call object ExpressionTrees::ToCode(object, + IL_017f: call object ExpressionTrees::ToCode(object, class [System.Core]System.Linq.Expressions.Expression`1>) - IL_0175: pop - IL_0176: call object ExpressionTrees::X() - IL_017b: ldnull - IL_017c: ldtoken [mscorlib]System.Type - 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: ldtoken method instance bool [mscorlib]System.Type::IsInstanceOfType(object) - IL_0190: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) - IL_0195: castclass [mscorlib]System.Reflection.MethodInfo - IL_019a: ldc.i4.1 - IL_019b: newarr [System.Core]System.Linq.Expressions.Expression - IL_01a0: dup - IL_01a1: ldc.i4.0 - IL_01a2: ldtoken [mscorlib]System.Object - IL_01a7: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) - IL_01ac: call class [System.Core]System.Linq.Expressions.NewExpression [System.Core]System.Linq.Expressions.Expression::New(class [mscorlib]System.Type) - IL_01b1: stelem.ref - IL_01b2: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + IL_0184: pop + IL_0185: call object 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_01b7: ldc.i4.0 - IL_01b8: newarr [System.Core]System.Linq.Expressions.ParameterExpression - IL_01bd: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(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_01c2: call object ExpressionTrees::ToCode(object, + IL_01d1: call object ExpressionTrees::ToCode(object, class [System.Core]System.Linq.Expressions.Expression`1>) - IL_01c7: pop - IL_01c8: call object ExpressionTrees::X() - IL_01cd: ldnull - IL_01ce: ldtoken class [mscorlib]System.Collections.Generic.List`1 - 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: ldtoken method instance class [mscorlib]System.Collections.ObjectModel.ReadOnlyCollection`1 class [mscorlib]System.Collections.Generic.List`1::AsReadOnly() - IL_01e2: ldtoken class [mscorlib]System.Collections.Generic.List`1 - IL_01e7: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle, + IL_01d6: pop + IL_01d7: call object 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_01ec: castclass [mscorlib]System.Reflection.MethodInfo - IL_01f1: ldc.i4.0 - IL_01f2: newarr [System.Core]System.Linq.Expressions.Expression - IL_01f7: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + 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_01fc: ldc.i4.0 - IL_01fd: newarr [System.Core]System.Linq.Expressions.ParameterExpression - IL_0202: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>>(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_0207: call object ExpressionTrees::ToCode>(object, + IL_0216: call object ExpressionTrees::ToCode>(object, class [System.Core]System.Linq.Expressions.Expression`1>) - IL_020c: pop - IL_020d: ret + IL_021b: pop + IL_021c: ret } // end of method ExpressionTrees::MembersDefault .method public hidebysig instance void @@ -4755,57 +4759,6 @@ IL_0196: ret } // end of method ExpressionTrees::Strings - .method public hidebysig instance void - StringAccessor() cil managed - { - // Code size 136 (0x88) - .maxstack 8 - IL_0000: nop - IL_0001: call object 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) - IL_0086: pop - IL_0087: ret - } // end of method ExpressionTrees::StringAccessor - .method public hidebysig instance void GenericClassInstance() cil managed { diff --git a/ICSharpCode.Decompiler/IL/Transforms/TransformExpressionTrees.cs b/ICSharpCode.Decompiler/IL/Transforms/TransformExpressionTrees.cs index 159ba3da1..8b007e13e 100644 --- a/ICSharpCode.Decompiler/IL/Transforms/TransformExpressionTrees.cs +++ b/ICSharpCode.Decompiler/IL/Transforms/TransformExpressionTrees.cs @@ -461,6 +461,8 @@ namespace ICSharpCode.Decompiler.IL.Transforms 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); } @@ -531,7 +533,7 @@ namespace ICSharpCode.Decompiler.IL.Transforms 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) + if (boxType.Kind == TypeKind.Enum || boxType.IsKnownType(KnownTypeCode.Boolean)) return (new ExpressionTreeCast(boxType, ConvertValue(arg, invocation).Item1, false), boxType); value = ConvertValue(arg, invocation).Item1; return (value, type); From 352707d396649a039e83e4beeb6032d961ed5495 Mon Sep 17 00:00:00 2001 From: Siegfried Pammer Date: Sat, 25 Nov 2017 17:35:23 +0100 Subject: [PATCH 11/17] Update tests --- .../CorrectnessTestRunner.cs | 6 + .../TestCases/Pretty/ExpressionTrees.cs | 27 +- .../TestCases/Pretty/ExpressionTrees.il | 313 ++++++++---------- .../TestCases/Pretty/ExpressionTrees.opt.il | 300 ++++++++--------- .../Pretty/ExpressionTrees.opt.roslyn.il | 258 +++++++-------- .../Pretty/ExpressionTrees.roslyn.il | 272 +++++++-------- 6 files changed, 557 insertions(+), 619 deletions(-) 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/TestCases/Pretty/ExpressionTrees.cs b/ICSharpCode.Decompiler.Tests/TestCases/Pretty/ExpressionTrees.cs index 8b1481eca..e7f2a2882 100644 --- a/ICSharpCode.Decompiler.Tests/TestCases/Pretty/ExpressionTrees.cs +++ b/ICSharpCode.Decompiler.Tests/TestCases/Pretty/ExpressionTrees.cs @@ -223,7 +223,6 @@ public class ExpressionTrees public void DoAssert() { - this.field = 37; 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)); @@ -231,12 +230,12 @@ public class ExpressionTrees private int C() { - return this.field + 5; + throw new NotImplementedException(); } private bool MyEquals(ExpressionTrees other) { - return other != null && this.field == other.field; + throw new NotImplementedException(); } public void MethodGroupAsExtensionMethod() @@ -286,10 +285,11 @@ public class ExpressionTrees //no params ExpressionTrees.ToCode(ExpressionTrees.X(), () => call(() => 42)); //one param - ExpressionTrees.ToCode(ExpressionTrees.X(), () => new int[2] { + ExpressionTrees.ToCode(ExpressionTrees.X(), () => from x in new int[2] { 37, 42 - }.Select(x => x * 2)); + } + select x * 2); //two params ExpressionTrees.ToCode(ExpressionTrees.X(), () => new int[2] { 37, @@ -319,11 +319,11 @@ public class ExpressionTrees public void NestedLambda2() { - ExpressionTrees.ToCode(ExpressionTrees.X(), () => Fizz(x => x == "a")); - ExpressionTrees.ToCode(ExpressionTrees.X(), () => Fizz(x => x == 37)); + ExpressionTrees.ToCode(ExpressionTrees.X(), () => this.Fizz((string x) => x == "a")); + ExpressionTrees.ToCode(ExpressionTrees.X(), () => this.Fizz((int x) => x == 37)); - ExpressionTrees.ToCode(ExpressionTrees.X(), () => Fizz((int x) => true)); - ExpressionTrees.ToCode(ExpressionTrees.X(), () => Buzz(x => true)); + ExpressionTrees.ToCode(ExpressionTrees.X(), () => this.Fizz((int x) => true)); + ExpressionTrees.ToCode(ExpressionTrees.X(), () => this.Buzz((int x) => true)); } public void NewArrayAndExtensionMethod() @@ -354,7 +354,7 @@ public class ExpressionTrees bool x = true; int y = 3; byte z = 42; - ExpressionTrees.ToCode(ExpressionTrees.X(), () => ~(int)z == 0); + ExpressionTrees.ToCode(ExpressionTrees.X(), () => ~z == 0); ExpressionTrees.ToCode(ExpressionTrees.X(), () => ~y == 0); ExpressionTrees.ToCode(ExpressionTrees.X(), () => !x); } @@ -383,12 +383,13 @@ public class ExpressionTrees public void QuotedWithAnonymous() { - ExpressionTrees.ToCode(ExpressionTrees.X(), () => new[] { + ExpressionTrees.ToCode(ExpressionTrees.X(), () => (from o in new[] { new { X = "a", Y = "b" } - }.Select(o => o.X + o.Y).Single()); + } + select o.X + o.Y).Single()); } public void StaticCall() @@ -428,7 +429,7 @@ public class ExpressionTrees { int i = 1; string x = "X"; - ExpressionTrees.ToCode(ExpressionTrees.X(), () => (("a\n\\b" ?? x) + x).Length == 2 ? false : true && (1m + (decimal)-i > 0m || false)); + ExpressionTrees.ToCode(ExpressionTrees.X(), () => ((("a\n\\b" ?? x) + x).Length == 2) ? false : (true && (1m + (decimal)(-i) > 0m || false))); } public void GenericClassInstance() diff --git a/ICSharpCode.Decompiler.Tests/TestCases/Pretty/ExpressionTrees.il b/ICSharpCode.Decompiler.Tests/TestCases/Pretty/ExpressionTrees.il index 5bf0e00ee..bcb43cdf2 100644 --- a/ICSharpCode.Decompiler.Tests/TestCases/Pretty/ExpressionTrees.il +++ b/ICSharpCode.Decompiler.Tests/TestCases/Pretty/ExpressionTrees.il @@ -20,7 +20,7 @@ .publickeytoken = (B7 7A 5C 56 19 34 E0 89 ) // .z\V.4.. .ver 4:0:0:0 } -.assembly pwk1zrwf +.assembly '05r5is52' { .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 @@ -30,15 +30,15 @@ .hash algorithm 0x00008004 .ver 0:0:0:0 } -.module pwk1zrwf.dll -// MVID: {F6BFC7E4-C360-4730-8ABB-47735EBDDEBC} +.module '05r5is52.dll' +// MVID: {F70BBCF1-4F46-4420-BD20-CAE864CFD4A5} .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: 0x00CE0000 +// Image base: 0x00F10000 // =============== CLASS MEMBERS DECLARATION =================== @@ -2136,199 +2136,172 @@ .method public hidebysig instance void DoAssert() cil managed { - // Code size 407 (0x197) + // Code size 399 (0x18f) .maxstack 8 .locals init (class [System.Core]System.Linq.Expressions.Expression[] V_0) IL_0000: nop - IL_0001: ldarg.0 - IL_0002: ldc.i4.s 37 - IL_0004: stfld int32 ExpressionTrees::'field' - IL_0009: call object ExpressionTrees::X() - IL_000e: ldarg.0 - IL_000f: box ExpressionTrees - IL_0014: ldtoken ExpressionTrees - 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, + IL_0001: call object ExpressionTrees::X() + IL_0006: ldarg.0 + IL_0007: box ExpressionTrees + IL_000c: ldtoken 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_0023: ldtoken field int32 ExpressionTrees::'field' - 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, + IL_001b: ldtoken field int32 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_0032: ldarg.0 - IL_0033: box ExpressionTrees - IL_0038: ldtoken ExpressionTrees - 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, + IL_002a: ldarg.0 + IL_002b: box ExpressionTrees + IL_0030: ldtoken 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_0047: ldtoken method instance int32 ExpressionTrees::C() - IL_004c: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) - IL_0051: castclass [mscorlib]System.Reflection.MethodInfo - IL_0056: ldc.i4.0 - IL_0057: newarr [System.Core]System.Linq.Expressions.Expression - IL_005c: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + IL_003f: ldtoken method instance int32 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_0061: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::NotEqual(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_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, + 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_0071: call object ExpressionTrees::ToCode(object, + IL_0069: call object ExpressionTrees::ToCode(object, class [System.Core]System.Linq.Expressions.Expression`1>) - IL_0076: pop - IL_0077: call object ExpressionTrees::X() - IL_007c: ldnull - IL_007d: ldtoken method bool [mscorlib]System.Object::ReferenceEquals(object, + IL_006e: pop + IL_006f: call object ExpressionTrees::X() + IL_0074: ldnull + IL_0075: ldtoken method bool [mscorlib]System.Object::ReferenceEquals(object, object) - 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: ldc.i4.2 - IL_008d: newarr [System.Core]System.Linq.Expressions.Expression - IL_0092: stloc.0 - IL_0093: ldloc.0 - IL_0094: ldc.i4.0 - IL_0095: ldarg.0 - IL_0096: box ExpressionTrees - IL_009b: ldtoken ExpressionTrees - 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.0 - IL_00ac: ldc.i4.1 - IL_00ad: ldtoken method instance void ExpressionTrees::.ctor() - IL_00b2: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) - IL_00b7: castclass [mscorlib]System.Reflection.ConstructorInfo - IL_00bc: ldc.i4.0 - IL_00bd: newarr [System.Core]System.Linq.Expressions.Expression - IL_00c2: call class [System.Core]System.Linq.Expressions.NewExpression [System.Core]System.Linq.Expressions.Expression::New(class [mscorlib]System.Reflection.ConstructorInfo, + 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 ExpressionTrees + IL_0093: ldtoken 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 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_00c7: stelem.ref - IL_00c8: ldloc.0 - IL_00c9: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(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_00ce: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Not(class [System.Core]System.Linq.Expressions.Expression) - IL_00d3: ldc.i4.0 - IL_00d4: newarr [System.Core]System.Linq.Expressions.ParameterExpression - IL_00d9: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(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_00de: call object ExpressionTrees::ToCode(object, + IL_00d6: call object ExpressionTrees::ToCode(object, class [System.Core]System.Linq.Expressions.Expression`1>) - IL_00e3: pop - IL_00e4: call object ExpressionTrees::X() - IL_00e9: ldarg.0 - IL_00ea: box ExpressionTrees - IL_00ef: ldtoken ExpressionTrees - IL_00f4: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) - IL_00f9: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, - class [mscorlib]System.Type) - IL_00fe: ldtoken method instance bool ExpressionTrees::MyEquals(class ExpressionTrees) - IL_0103: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) - IL_0108: castclass [mscorlib]System.Reflection.MethodInfo - IL_010d: ldc.i4.1 - IL_010e: newarr [System.Core]System.Linq.Expressions.Expression - IL_0113: stloc.0 - IL_0114: ldloc.0 - IL_0115: ldc.i4.0 - IL_0116: ldarg.0 - IL_0117: box ExpressionTrees - IL_011c: ldtoken ExpressionTrees - IL_0121: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) - IL_0126: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, - class [mscorlib]System.Type) - IL_012b: stelem.ref - IL_012c: ldloc.0 - IL_012d: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + IL_00db: pop + IL_00dc: call object ExpressionTrees::X() + IL_00e1: ldarg.0 + IL_00e2: box ExpressionTrees + IL_00e7: ldtoken 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 ExpressionTrees::MyEquals(class 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 ExpressionTrees + IL_0114: ldtoken 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_0132: ldarg.0 - IL_0133: box ExpressionTrees - IL_0138: ldtoken ExpressionTrees - IL_013d: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) - IL_0142: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, - class [mscorlib]System.Type) - IL_0147: ldtoken method instance bool ExpressionTrees::MyEquals(class ExpressionTrees) - IL_014c: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) - IL_0151: castclass [mscorlib]System.Reflection.MethodInfo - IL_0156: ldc.i4.1 - IL_0157: newarr [System.Core]System.Linq.Expressions.Expression - IL_015c: stloc.0 - IL_015d: ldloc.0 - IL_015e: ldc.i4.0 - IL_015f: ldnull - IL_0160: box ExpressionTrees - IL_0165: ldtoken ExpressionTrees - IL_016a: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) - IL_016f: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, - class [mscorlib]System.Type) - IL_0174: stelem.ref - IL_0175: ldloc.0 - IL_0176: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + IL_012a: ldarg.0 + IL_012b: box ExpressionTrees + IL_0130: ldtoken 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 ExpressionTrees::MyEquals(class 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 ExpressionTrees + IL_015d: ldtoken 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_017b: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Not(class [System.Core]System.Linq.Expressions.Expression) - IL_0180: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::AndAlso(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_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, + 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_0190: call object ExpressionTrees::ToCode(object, + IL_0188: call object ExpressionTrees::ToCode(object, class [System.Core]System.Linq.Expressions.Expression`1>) - IL_0195: pop - IL_0196: ret + IL_018d: pop + IL_018e: ret } // end of method ExpressionTrees::DoAssert .method private hidebysig instance int32 C() cil managed { - // Code size 14 (0xe) - .maxstack 2 - .locals init (int32 V_0) + // Code size 7 (0x7) + .maxstack 8 IL_0000: nop - IL_0001: ldarg.0 - IL_0002: ldfld int32 ExpressionTrees::'field' - IL_0007: ldc.i4.5 - IL_0008: add - IL_0009: stloc.0 - IL_000a: br.s IL_000c - - IL_000c: ldloc.0 - IL_000d: ret + IL_0001: newobj instance void [mscorlib]System.NotImplementedException::.ctor() + IL_0006: throw } // end of method ExpressionTrees::C .method private hidebysig instance bool MyEquals(class ExpressionTrees other) cil managed { - // Code size 27 (0x1b) - .maxstack 2 - .locals init (bool V_0) + // Code size 7 (0x7) + .maxstack 8 IL_0000: nop - IL_0001: ldarg.1 - IL_0002: brfalse.s IL_0014 - - IL_0004: ldarg.0 - IL_0005: ldfld int32 ExpressionTrees::'field' - IL_000a: ldarg.1 - IL_000b: ldfld int32 ExpressionTrees::'field' - IL_0010: ceq - IL_0012: br.s IL_0015 - - IL_0014: ldc.i4.0 - IL_0015: nop - IL_0016: stloc.0 - IL_0017: br.s IL_0019 - - IL_0019: ldloc.0 - IL_001a: ret + 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 273 (0x111) + // 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) @@ -2405,23 +2378,27 @@ 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: stelem.ref - IL_00ea: ldloc.0 - IL_00eb: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(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_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, + 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_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, + 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_010a: call object ExpressionTrees::ToCode>(object, + IL_0119: call object ExpressionTrees::ToCode>(object, class [System.Core]System.Linq.Expressions.Expression`1>) - IL_010f: pop - IL_0110: ret + IL_011e: pop + IL_011f: ret } // end of method ExpressionTrees::MethodGroupAsExtensionMethod .method public hidebysig instance void diff --git a/ICSharpCode.Decompiler.Tests/TestCases/Pretty/ExpressionTrees.opt.il b/ICSharpCode.Decompiler.Tests/TestCases/Pretty/ExpressionTrees.opt.il index 931cad714..9deb6fe53 100644 --- a/ICSharpCode.Decompiler.Tests/TestCases/Pretty/ExpressionTrees.opt.il +++ b/ICSharpCode.Decompiler.Tests/TestCases/Pretty/ExpressionTrees.opt.il @@ -20,7 +20,7 @@ .publickeytoken = (B7 7A 5C 56 19 34 E0 89 ) // .z\V.4.. .ver 4:0:0:0 } -.assembly '52ioesty' +.assembly mav11ctu { .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 @@ -30,15 +30,15 @@ .hash algorithm 0x00008004 .ver 0:0:0:0 } -.module '52ioesty.dll' -// MVID: {9B3D89BE-AD40-44EF-A532-1D94E4515C78} +.module mav11ctu.dll +// MVID: {A57EFB8D-913F-4E31-91C8-80C6D2206F2E} .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: 0x05050000 +// Image base: 0x03610000 // =============== CLASS MEMBERS DECLARATION =================== @@ -2081,187 +2081,171 @@ .method public hidebysig instance void DoAssert() cil managed { - // Code size 406 (0x196) + // 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: ldarg.0 - IL_0001: ldc.i4.s 37 - IL_0003: stfld int32 ExpressionTrees::'field' - IL_0008: call object ExpressionTrees::X() - IL_000d: ldarg.0 - IL_000e: box ExpressionTrees - IL_0013: ldtoken ExpressionTrees - 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, + IL_0000: call object ExpressionTrees::X() + IL_0005: ldarg.0 + IL_0006: box ExpressionTrees + IL_000b: ldtoken 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_0022: ldtoken field int32 ExpressionTrees::'field' - 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, + IL_001a: ldtoken field int32 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_0031: ldarg.0 - IL_0032: box ExpressionTrees - IL_0037: ldtoken ExpressionTrees - 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 method instance int32 ExpressionTrees::C() - 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: ldc.i4.0 - IL_0056: newarr [System.Core]System.Linq.Expressions.Expression - IL_005b: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + IL_0029: ldarg.0 + IL_002a: box ExpressionTrees + IL_002f: ldtoken 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 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_0060: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::NotEqual(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_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, + 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_0070: call object ExpressionTrees::ToCode(object, + IL_0068: call object ExpressionTrees::ToCode(object, class [System.Core]System.Linq.Expressions.Expression`1>) - IL_0075: pop - IL_0076: call object ExpressionTrees::X() - IL_007b: ldnull - IL_007c: ldtoken method bool [mscorlib]System.Object::ReferenceEquals(object, + IL_006d: pop + IL_006e: call object ExpressionTrees::X() + IL_0073: ldnull + IL_0074: ldtoken method bool [mscorlib]System.Object::ReferenceEquals(object, object) - 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: ldc.i4.2 - IL_008c: newarr [System.Core]System.Linq.Expressions.Expression - IL_0091: stloc.0 - IL_0092: ldloc.0 - IL_0093: ldc.i4.0 - IL_0094: ldarg.0 - IL_0095: box ExpressionTrees - IL_009a: ldtoken ExpressionTrees - 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.0 - IL_00ab: ldc.i4.1 - IL_00ac: ldtoken method instance void ExpressionTrees::.ctor() - IL_00b1: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) - IL_00b6: castclass [mscorlib]System.Reflection.ConstructorInfo - IL_00bb: ldc.i4.0 - IL_00bc: newarr [System.Core]System.Linq.Expressions.Expression - IL_00c1: call class [System.Core]System.Linq.Expressions.NewExpression [System.Core]System.Linq.Expressions.Expression::New(class [mscorlib]System.Reflection.ConstructorInfo, + 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 ExpressionTrees + IL_0092: ldtoken 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 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_00c6: stelem.ref - IL_00c7: ldloc.0 - IL_00c8: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(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_00cd: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Not(class [System.Core]System.Linq.Expressions.Expression) - IL_00d2: ldc.i4.0 - IL_00d3: newarr [System.Core]System.Linq.Expressions.ParameterExpression - IL_00d8: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(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_00dd: call object ExpressionTrees::ToCode(object, + IL_00d5: call object ExpressionTrees::ToCode(object, class [System.Core]System.Linq.Expressions.Expression`1>) - IL_00e2: pop - IL_00e3: call object ExpressionTrees::X() - IL_00e8: ldarg.0 - IL_00e9: box ExpressionTrees - IL_00ee: ldtoken ExpressionTrees - 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: ldtoken method instance bool ExpressionTrees::MyEquals(class ExpressionTrees) - IL_0102: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) - IL_0107: castclass [mscorlib]System.Reflection.MethodInfo - IL_010c: ldc.i4.1 - IL_010d: newarr [System.Core]System.Linq.Expressions.Expression - IL_0112: stloc.1 - IL_0113: ldloc.1 - IL_0114: ldc.i4.0 - IL_0115: ldarg.0 - IL_0116: box ExpressionTrees - IL_011b: ldtoken ExpressionTrees - IL_0120: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) - IL_0125: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, - class [mscorlib]System.Type) - IL_012a: stelem.ref - IL_012b: ldloc.1 - IL_012c: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + IL_00da: pop + IL_00db: call object ExpressionTrees::X() + IL_00e0: ldarg.0 + IL_00e1: box ExpressionTrees + IL_00e6: ldtoken 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 ExpressionTrees::MyEquals(class 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 ExpressionTrees + IL_0113: ldtoken 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_0131: ldarg.0 - IL_0132: box ExpressionTrees - IL_0137: ldtoken ExpressionTrees - 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: ldtoken method instance bool ExpressionTrees::MyEquals(class ExpressionTrees) - IL_014b: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) - IL_0150: castclass [mscorlib]System.Reflection.MethodInfo - IL_0155: ldc.i4.1 - IL_0156: newarr [System.Core]System.Linq.Expressions.Expression - IL_015b: stloc.2 - IL_015c: ldloc.2 - IL_015d: ldc.i4.0 - IL_015e: ldnull - IL_015f: box ExpressionTrees - IL_0164: ldtoken ExpressionTrees - 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: stelem.ref - IL_0174: ldloc.2 - IL_0175: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + IL_0129: ldarg.0 + IL_012a: box ExpressionTrees + IL_012f: ldtoken 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 ExpressionTrees::MyEquals(class 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 ExpressionTrees + IL_015c: ldtoken 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_017a: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Not(class [System.Core]System.Linq.Expressions.Expression) - IL_017f: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::AndAlso(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_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, + 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_018f: call object ExpressionTrees::ToCode(object, + IL_0187: call object ExpressionTrees::ToCode(object, class [System.Core]System.Linq.Expressions.Expression`1>) - IL_0194: pop - IL_0195: ret + IL_018c: pop + IL_018d: ret } // end of method ExpressionTrees::DoAssert .method private hidebysig instance int32 C() cil managed { - // Code size 9 (0x9) + // Code size 6 (0x6) .maxstack 8 - IL_0000: ldarg.0 - IL_0001: ldfld int32 ExpressionTrees::'field' - IL_0006: ldc.i4.5 - IL_0007: add - IL_0008: ret + IL_0000: newobj instance void [mscorlib]System.NotImplementedException::.ctor() + IL_0005: throw } // end of method ExpressionTrees::C .method private hidebysig instance bool MyEquals(class ExpressionTrees other) cil managed { - // Code size 20 (0x14) + // Code size 6 (0x6) .maxstack 8 - IL_0000: ldarg.1 - IL_0001: brfalse.s IL_0012 - - IL_0003: ldarg.0 - IL_0004: ldfld int32 ExpressionTrees::'field' - IL_0009: ldarg.1 - IL_000a: ldfld int32 ExpressionTrees::'field' - IL_000f: ceq - IL_0011: ret - - IL_0012: ldc.i4.0 - IL_0013: ret + 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 272 (0x110) + // 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) @@ -2337,23 +2321,27 @@ 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: stelem.ref - IL_00e9: ldloc.0 - IL_00ea: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(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_00ef: ldtoken class [mscorlib]System.Func`1 - IL_00f4: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) - IL_00f9: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(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_00fe: ldc.i4.0 - IL_00ff: newarr [System.Core]System.Linq.Expressions.ParameterExpression - IL_0104: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>>(class [System.Core]System.Linq.Expressions.Expression, + 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_0109: call object ExpressionTrees::ToCode>(object, + IL_0118: call object ExpressionTrees::ToCode>(object, class [System.Core]System.Linq.Expressions.Expression`1>) - IL_010e: pop - IL_010f: ret + IL_011d: pop + IL_011e: ret } // end of method ExpressionTrees::MethodGroupAsExtensionMethod .method public hidebysig instance void diff --git a/ICSharpCode.Decompiler.Tests/TestCases/Pretty/ExpressionTrees.opt.roslyn.il b/ICSharpCode.Decompiler.Tests/TestCases/Pretty/ExpressionTrees.opt.roslyn.il index 78ff44063..e7ee35454 100644 --- a/ICSharpCode.Decompiler.Tests/TestCases/Pretty/ExpressionTrees.opt.roslyn.il +++ b/ICSharpCode.Decompiler.Tests/TestCases/Pretty/ExpressionTrees.opt.roslyn.il @@ -35,14 +35,14 @@ .ver 0:0:0:0 } .module ExpressionTrees.dll -// MVID: {011EC1DC-4E6D-41D3-A477-6AFAB3E4853A} +// MVID: {D518E89D-9CFD-4B4B-A974-EACAB7B2D1C7} .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: 0x04DC0000 +// Image base: 0x012D0000 // =============== CLASS MEMBERS DECLARATION =================== @@ -2414,167 +2414,151 @@ .method public hidebysig instance void DoAssert() cil managed { - // Code size 354 (0x162) + // Code size 346 (0x15a) .maxstack 9 - IL_0000: ldarg.0 - IL_0001: ldc.i4.s 37 - IL_0003: stfld int32 ExpressionTrees::'field' - IL_0008: call object ExpressionTrees::X() - IL_000d: ldarg.0 - IL_000e: ldtoken ExpressionTrees - IL_0013: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) - IL_0018: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + IL_0000: call object ExpressionTrees::X() + IL_0005: ldarg.0 + IL_0006: ldtoken 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_001d: ldtoken field int32 ExpressionTrees::'field' - IL_0022: call class [mscorlib]System.Reflection.FieldInfo [mscorlib]System.Reflection.FieldInfo::GetFieldFromHandle(valuetype [mscorlib]System.RuntimeFieldHandle) - IL_0027: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Field(class [System.Core]System.Linq.Expressions.Expression, + IL_0015: ldtoken field int32 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_002c: ldarg.0 - IL_002d: ldtoken ExpressionTrees - 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: ldtoken method instance int32 ExpressionTrees::C() - IL_0041: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) - IL_0046: castclass [mscorlib]System.Reflection.MethodInfo - IL_004b: ldc.i4.0 - IL_004c: newarr [System.Core]System.Linq.Expressions.Expression - IL_0051: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + IL_0024: ldarg.0 + IL_0025: ldtoken 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 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_0056: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::NotEqual(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_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, + 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_0066: call object ExpressionTrees::ToCode(object, + IL_005e: call object ExpressionTrees::ToCode(object, class [System.Core]System.Linq.Expressions.Expression`1>) - IL_006b: pop - IL_006c: call object ExpressionTrees::X() - IL_0071: ldnull - IL_0072: ldtoken method bool [mscorlib]System.Object::ReferenceEquals(object, + IL_0063: pop + IL_0064: call object ExpressionTrees::X() + IL_0069: ldnull + IL_006a: ldtoken method bool [mscorlib]System.Object::ReferenceEquals(object, object) - IL_0077: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) - IL_007c: castclass [mscorlib]System.Reflection.MethodInfo - IL_0081: ldc.i4.2 - IL_0082: newarr [System.Core]System.Linq.Expressions.Expression - IL_0087: dup - IL_0088: ldc.i4.0 - IL_0089: ldarg.0 - IL_008a: ldtoken ExpressionTrees - 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: stelem.ref - IL_009a: dup - IL_009b: ldc.i4.1 - IL_009c: ldtoken ExpressionTrees - IL_00a1: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) - IL_00a6: call class [System.Core]System.Linq.Expressions.NewExpression [System.Core]System.Linq.Expressions.Expression::New(class [mscorlib]System.Type) - IL_00ab: stelem.ref - IL_00ac: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + 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 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 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_00b1: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Not(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, + 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_00c1: call object ExpressionTrees::ToCode(object, + IL_00b9: call object ExpressionTrees::ToCode(object, class [System.Core]System.Linq.Expressions.Expression`1>) - IL_00c6: pop - IL_00c7: call object ExpressionTrees::X() - IL_00cc: ldarg.0 - IL_00cd: ldtoken ExpressionTrees - 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, + IL_00be: pop + IL_00bf: call object ExpressionTrees::X() + IL_00c4: ldarg.0 + IL_00c5: ldtoken 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_00dc: ldtoken method instance bool ExpressionTrees::MyEquals(class ExpressionTrees) - IL_00e1: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) - IL_00e6: castclass [mscorlib]System.Reflection.MethodInfo - IL_00eb: ldc.i4.1 - IL_00ec: newarr [System.Core]System.Linq.Expressions.Expression - IL_00f1: dup - IL_00f2: ldc.i4.0 - IL_00f3: ldarg.0 - IL_00f4: ldtoken ExpressionTrees - 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: 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, + IL_00d4: ldtoken method instance bool ExpressionTrees::MyEquals(class 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 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_0109: ldarg.0 - IL_010a: ldtoken ExpressionTrees - IL_010f: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) - IL_0114: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, - class [mscorlib]System.Type) - IL_0119: ldtoken method instance bool ExpressionTrees::MyEquals(class ExpressionTrees) - IL_011e: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) - IL_0123: castclass [mscorlib]System.Reflection.MethodInfo - IL_0128: ldc.i4.1 - IL_0129: newarr [System.Core]System.Linq.Expressions.Expression - IL_012e: dup - IL_012f: ldc.i4.0 - IL_0130: ldnull - IL_0131: ldtoken ExpressionTrees - IL_0136: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) - IL_013b: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + IL_0101: ldarg.0 + IL_0102: ldtoken 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 ExpressionTrees::MyEquals(class 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 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_0140: stelem.ref - IL_0141: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + 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_0146: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Not(class [System.Core]System.Linq.Expressions.Expression) - IL_014b: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::AndAlso(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_0150: ldc.i4.0 - IL_0151: newarr [System.Core]System.Linq.Expressions.ParameterExpression - IL_0156: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(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_015b: call object ExpressionTrees::ToCode(object, + IL_0153: call object ExpressionTrees::ToCode(object, class [System.Core]System.Linq.Expressions.Expression`1>) - IL_0160: pop - IL_0161: ret + IL_0158: pop + IL_0159: ret } // end of method ExpressionTrees::DoAssert .method private hidebysig instance int32 C() cil managed { - // Code size 9 (0x9) + // Code size 6 (0x6) .maxstack 8 - IL_0000: ldarg.0 - IL_0001: ldfld int32 ExpressionTrees::'field' - IL_0006: ldc.i4.5 - IL_0007: add - IL_0008: ret + IL_0000: newobj instance void [mscorlib]System.NotImplementedException::.ctor() + IL_0005: throw } // end of method ExpressionTrees::C .method private hidebysig instance bool MyEquals(class ExpressionTrees other) cil managed { - // Code size 20 (0x14) + // Code size 6 (0x6) .maxstack 8 - IL_0000: ldarg.1 - IL_0001: brfalse.s IL_0012 - - IL_0003: ldarg.0 - IL_0004: ldfld int32 ExpressionTrees::'field' - IL_0009: ldarg.1 - IL_000a: ldfld int32 ExpressionTrees::'field' - IL_000f: ceq - IL_0011: ret - - IL_0012: ldc.i4.0 - IL_0013: ret + 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 258 (0x102) + // Code size 273 (0x111) .maxstack 12 IL_0000: call object ExpressionTrees::X() IL_0005: ldtoken method bool [System.Core]System.Linq.Enumerable::Any(class [mscorlib]System.Collections.Generic.IEnumerable`1) @@ -2643,22 +2627,26 @@ 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: stelem.ref - IL_00dc: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(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_00e1: ldtoken class [mscorlib]System.Func`1 - IL_00e6: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) - IL_00eb: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(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_00f0: ldc.i4.0 - IL_00f1: newarr [System.Core]System.Linq.Expressions.ParameterExpression - IL_00f6: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>>(class [System.Core]System.Linq.Expressions.Expression, + 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_00fb: call object ExpressionTrees::ToCode>(object, + IL_010a: call object ExpressionTrees::ToCode>(object, class [System.Core]System.Linq.Expressions.Expression`1>) - IL_0100: pop - IL_0101: ret + IL_010f: pop + IL_0110: ret } // end of method ExpressionTrees::MethodGroupAsExtensionMethod .method public hidebysig instance void diff --git a/ICSharpCode.Decompiler.Tests/TestCases/Pretty/ExpressionTrees.roslyn.il b/ICSharpCode.Decompiler.Tests/TestCases/Pretty/ExpressionTrees.roslyn.il index 15f0bd7ca..9449949ac 100644 --- a/ICSharpCode.Decompiler.Tests/TestCases/Pretty/ExpressionTrees.roslyn.il +++ b/ICSharpCode.Decompiler.Tests/TestCases/Pretty/ExpressionTrees.roslyn.il @@ -35,14 +35,14 @@ .ver 0:0:0:0 } .module ExpressionTrees.dll -// MVID: {8FA0BC83-A8B7-4800-8E3F-0A672A66BCAE} +// MVID: {69A458ED-527F-4C9C-9A7C-CF5C957EC1ED} .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: 0x00F60000 +// Image base: 0x01390000 // =============== CLASS MEMBERS DECLARATION =================== @@ -2483,180 +2483,154 @@ .method public hidebysig instance void DoAssert() cil managed { - // Code size 355 (0x163) + // Code size 347 (0x15b) .maxstack 9 IL_0000: nop - IL_0001: ldarg.0 - IL_0002: ldc.i4.s 37 - IL_0004: stfld int32 ExpressionTrees::'field' - IL_0009: call object ExpressionTrees::X() - IL_000e: ldarg.0 - IL_000f: ldtoken ExpressionTrees - IL_0014: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) - IL_0019: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + IL_0001: call object ExpressionTrees::X() + IL_0006: ldarg.0 + IL_0007: ldtoken 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_001e: ldtoken field int32 ExpressionTrees::'field' - IL_0023: call class [mscorlib]System.Reflection.FieldInfo [mscorlib]System.Reflection.FieldInfo::GetFieldFromHandle(valuetype [mscorlib]System.RuntimeFieldHandle) - IL_0028: call class [System.Core]System.Linq.Expressions.MemberExpression [System.Core]System.Linq.Expressions.Expression::Field(class [System.Core]System.Linq.Expressions.Expression, + IL_0016: ldtoken field int32 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_002d: ldarg.0 - IL_002e: ldtoken ExpressionTrees - 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: ldtoken method instance int32 ExpressionTrees::C() - IL_0042: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) - IL_0047: castclass [mscorlib]System.Reflection.MethodInfo - IL_004c: ldc.i4.0 - IL_004d: newarr [System.Core]System.Linq.Expressions.Expression - IL_0052: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + IL_0025: ldarg.0 + IL_0026: ldtoken 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 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_0057: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::NotEqual(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_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, + 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_0067: call object ExpressionTrees::ToCode(object, + IL_005f: call object ExpressionTrees::ToCode(object, class [System.Core]System.Linq.Expressions.Expression`1>) - IL_006c: pop - IL_006d: call object ExpressionTrees::X() - IL_0072: ldnull - IL_0073: ldtoken method bool [mscorlib]System.Object::ReferenceEquals(object, + IL_0064: pop + IL_0065: call object ExpressionTrees::X() + IL_006a: ldnull + IL_006b: ldtoken method bool [mscorlib]System.Object::ReferenceEquals(object, object) - IL_0078: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) - 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: ldarg.0 - IL_008b: ldtoken ExpressionTrees - 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: stelem.ref - IL_009b: dup - IL_009c: ldc.i4.1 - IL_009d: ldtoken ExpressionTrees - IL_00a2: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) - IL_00a7: call class [System.Core]System.Linq.Expressions.NewExpression [System.Core]System.Linq.Expressions.Expression::New(class [mscorlib]System.Type) - IL_00ac: stelem.ref - IL_00ad: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + 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 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 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_00b2: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Not(class [System.Core]System.Linq.Expressions.Expression) - IL_00b7: ldc.i4.0 - IL_00b8: newarr [System.Core]System.Linq.Expressions.ParameterExpression - IL_00bd: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(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_00c2: call object ExpressionTrees::ToCode(object, + IL_00ba: call object ExpressionTrees::ToCode(object, class [System.Core]System.Linq.Expressions.Expression`1>) - IL_00c7: pop - IL_00c8: call object ExpressionTrees::X() - IL_00cd: ldarg.0 - IL_00ce: ldtoken ExpressionTrees - 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, + IL_00bf: pop + IL_00c0: call object ExpressionTrees::X() + IL_00c5: ldarg.0 + IL_00c6: ldtoken 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 ExpressionTrees::MyEquals(class 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 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_00dd: ldtoken method instance bool ExpressionTrees::MyEquals(class ExpressionTrees) - IL_00e2: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) - IL_00e7: castclass [mscorlib]System.Reflection.MethodInfo - IL_00ec: ldc.i4.1 - IL_00ed: newarr [System.Core]System.Linq.Expressions.Expression - IL_00f2: dup - IL_00f3: ldc.i4.0 - IL_00f4: ldarg.0 - IL_00f5: ldtoken ExpressionTrees - 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.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + 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_010a: ldarg.0 - IL_010b: ldtoken ExpressionTrees - 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: ldtoken method instance bool ExpressionTrees::MyEquals(class ExpressionTrees) - 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: ldc.i4.1 - IL_012a: newarr [System.Core]System.Linq.Expressions.Expression - IL_012f: dup - IL_0130: ldc.i4.0 - IL_0131: ldnull - IL_0132: ldtoken ExpressionTrees - IL_0137: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) - IL_013c: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, + IL_0102: ldarg.0 + IL_0103: ldtoken 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 ExpressionTrees::MyEquals(class 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 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_0141: stelem.ref - IL_0142: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + 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_0147: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Not(class [System.Core]System.Linq.Expressions.Expression) - IL_014c: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::AndAlso(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_0151: ldc.i4.0 - IL_0152: newarr [System.Core]System.Linq.Expressions.ParameterExpression - IL_0157: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(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_015c: call object ExpressionTrees::ToCode(object, + IL_0154: call object ExpressionTrees::ToCode(object, class [System.Core]System.Linq.Expressions.Expression`1>) - IL_0161: pop - IL_0162: ret + IL_0159: pop + IL_015a: ret } // end of method ExpressionTrees::DoAssert .method private hidebysig instance int32 C() cil managed { - // Code size 14 (0xe) - .maxstack 2 - .locals init (int32 V_0) + // Code size 7 (0x7) + .maxstack 8 IL_0000: nop - IL_0001: ldarg.0 - IL_0002: ldfld int32 ExpressionTrees::'field' - IL_0007: ldc.i4.5 - IL_0008: add - IL_0009: stloc.0 - IL_000a: br.s IL_000c - - IL_000c: ldloc.0 - IL_000d: ret + IL_0001: newobj instance void [mscorlib]System.NotImplementedException::.ctor() + IL_0006: throw } // end of method ExpressionTrees::C .method private hidebysig instance bool MyEquals(class ExpressionTrees other) cil managed { - // Code size 26 (0x1a) - .maxstack 2 - .locals init (bool V_0) + // Code size 7 (0x7) + .maxstack 8 IL_0000: nop - IL_0001: ldarg.1 - IL_0002: brfalse.s IL_0014 - - IL_0004: ldarg.0 - IL_0005: ldfld int32 ExpressionTrees::'field' - IL_000a: ldarg.1 - IL_000b: ldfld int32 ExpressionTrees::'field' - IL_0010: ceq - IL_0012: br.s IL_0015 - - IL_0014: ldc.i4.0 - IL_0015: stloc.0 - IL_0016: br.s IL_0018 - - IL_0018: ldloc.0 - IL_0019: ret + 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 259 (0x103) + // Code size 274 (0x112) .maxstack 12 IL_0000: nop IL_0001: call object ExpressionTrees::X() @@ -2726,22 +2700,26 @@ 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: stelem.ref - IL_00dd: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(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_00e2: ldtoken class [mscorlib]System.Func`1 - IL_00e7: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) - IL_00ec: call class [System.Core]System.Linq.Expressions.UnaryExpression [System.Core]System.Linq.Expressions.Expression::Convert(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_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, + 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_00fc: call object ExpressionTrees::ToCode>(object, + IL_010b: call object ExpressionTrees::ToCode>(object, class [System.Core]System.Linq.Expressions.Expression`1>) - IL_0101: pop - IL_0102: ret + IL_0110: pop + IL_0111: ret } // end of method ExpressionTrees::MethodGroupAsExtensionMethod .method public hidebysig instance void From 25eecb90e1a2bea1bb763169455471339a36cda2 Mon Sep 17 00:00:00 2001 From: Siegfried Pammer Date: Sat, 25 Nov 2017 17:37:15 +0100 Subject: [PATCH 12/17] Rename ExpressionTreeType to DelegateType and use ILFunction.DelegateType instead of the NewObj(LdNull, ILFunction) pattern in DelegateConstruction and ExpressionTrees --- ICSharpCode.Decompiler/CSharp/CallBuilder.cs | 4 - .../CSharp/ExpressionBuilder.cs | 2 +- .../IL/Instructions/ILFunction.cs | 18 +- .../IL/Transforms/DelegateConstruction.cs | 14 +- .../IL/Transforms/TransformExpressionTrees.cs | 274 ++++++++++-------- 5 files changed, 171 insertions(+), 141 deletions(-) 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 fa9d9f74d..01888ac50 100644 --- a/ICSharpCode.Decompiler/CSharp/ExpressionBuilder.cs +++ b/ICSharpCode.Decompiler/CSharp/ExpressionBuilder.cs @@ -1422,7 +1422,7 @@ namespace ICSharpCode.Decompiler.CSharp protected internal override TranslatedExpression VisitILFunction(ILFunction function, TranslationContext context) { - return TranslateFunction(function.ExpressionTreeType, function) + return TranslateFunction(function.DelegateType, function) .WithILInstruction(function); } diff --git a/ICSharpCode.Decompiler/IL/Instructions/ILFunction.cs b/ICSharpCode.Decompiler/IL/Instructions/ILFunction.cs index 3d86c549f..257d48f78 100644 --- a/ICSharpCode.Decompiler/IL/Instructions/ILFunction.cs +++ b/ICSharpCode.Decompiler/IL/Instructions/ILFunction.cs @@ -62,12 +62,12 @@ namespace ICSharpCode.Decompiler.IL public IType AsyncReturnType; /// - /// If this is an expression tree, returns Expression{T}, otherwise null. + /// 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 ExpressionTreeType; + public IType DelegateType; - public bool IsExpressionTree => ExpressionTreeType != null; + public bool IsExpressionTree => DelegateType != null && DelegateType.FullName == "System.Linq.Expressions.Expression" && DelegateType.TypeParameterCount == 1; public readonly IType ReturnType; @@ -78,8 +78,8 @@ namespace ICSharpCode.Decompiler.IL this.Body = body; this.Method = method; this.CecilMethod = cecilMethod; - this.ReturnType = Method.ReturnType; - this.Parameters = Method.Parameters; + this.ReturnType = Method?.ReturnType; + this.Parameters = Method?.Parameters; this.Variables = new ILVariableCollection(this); } @@ -113,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/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/TransformExpressionTrees.cs b/ICSharpCode.Decompiler/IL/Transforms/TransformExpressionTrees.cs index 8b007e13e..ecbdbeae0 100644 --- a/ICSharpCode.Decompiler/IL/Transforms/TransformExpressionTrees.cs +++ b/ICSharpCode.Decompiler/IL/Transforms/TransformExpressionTrees.cs @@ -18,6 +18,7 @@ using System; using System.Collections.Generic; +using System.Diagnostics; using System.Linq; using ICSharpCode.Decompiler.CSharp.Resolver; using ICSharpCode.Decompiler.TypeSystem; @@ -150,7 +151,9 @@ namespace ICSharpCode.Decompiler.IL.Transforms var functionType = instruction.Method.ReturnType.TypeArguments[0]; var function = new ILFunction(functionType.TypeArguments.LastOrDefault() ?? context.TypeSystem.Compilation.FindType(KnownTypeCode.Void), parameterList, container); if (isQuotedLambda || lambdaStack.Count == 0) - function.ExpressionTreeType = instruction.Method.ReturnType; + function.DelegateType = instruction.Method.ReturnType; + else + function.DelegateType = functionType; function.Variables.AddRange(parameterVariablesList); lambdaStack.Push(function); var (bodyInstruction, type) = ConvertInstruction(instruction.Arguments[0]); @@ -159,11 +162,7 @@ namespace ICSharpCode.Decompiler.IL.Transforms return (null, SpecialType.UnknownType); container.ExpectedResultType = bodyInstruction.ResultType; container.Blocks.Add(new Block() { Instructions = { new Leave(container, bodyInstruction) } }); - if (!isQuotedLambda && lambdaStack.Count > 0) - return (new NewObj(functionType.GetConstructors().Single()) { - Arguments = { new LdNull(), function } - }, functionType); - return (function, function.ExpressionTreeType); + return (function, function.DelegateType); } bool ReadParameters(ILInstruction initializer, IList parameters, IList parameterVariables, ITypeResolveContext resolveContext) @@ -199,111 +198,140 @@ namespace ICSharpCode.Decompiler.IL.Transforms (ILInstruction, IType) ConvertInstruction(ILInstruction instruction) { - switch (instruction) { - case CallInstruction invocation: - if (invocation.Method.DeclaringType.FullName != "System.Linq.Expressions.Expression") - return (null, SpecialType.UnknownType); + 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; - 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 + (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); - 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); - default: - return ConvertValue(instruction, instruction.Parent); + 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) @@ -534,11 +562,11 @@ namespace ICSharpCode.Decompiler.IL.Transforms 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).Item1, false), boxType); - value = ConvertValue(arg, invocation).Item1; + return (new ExpressionTreeCast(boxType, ConvertValue(arg, invocation), false), boxType); + value = ConvertValue(arg, invocation); return (value, type); } - return ConvertValue(value, invocation); + return (ConvertValue(value, invocation), type); } (ILInstruction, IType) ConvertElementInit(CallInstruction invocation) @@ -727,7 +755,7 @@ namespace ICSharpCode.Decompiler.IL.Transforms return (null, SpecialType.UnknownType); indices[i] = index; } - return (new NewArr(type, indices), type); + return (new NewArr(type, indices), new ArrayType(context.TypeSystem.Compilation, type, arguments.Count)); } (ILInstruction, IType) ConvertNewArrayInit(CallInstruction invocation) @@ -764,10 +792,10 @@ namespace ICSharpCode.Decompiler.IL.Transforms switch (invocation.Arguments.Count) { case 1: if (MatchGetTypeFromHandle(invocation.Arguments[0], out var type)) { - var ctors = type.GetConstructors().ToArray(); - if (ctors.Length != 1 || ctors[0].Parameters.Count > 0) + var ctor = type.GetConstructors(c => c.Parameters.Count == 0).FirstOrDefault(); + if (ctor == null) return (null, SpecialType.UnknownType); - return (new NewObj(ctors[0]), type); + return (new NewObj(ctor), type); } if (MatchGetConstructorFromHandle(invocation.Arguments[0], out member)) { return (new NewObj((IMethod)member), member.DeclaringType); @@ -917,27 +945,25 @@ namespace ICSharpCode.Decompiler.IL.Transforms return (null, SpecialType.UnknownType); } - (ILInstruction, IType) ConvertValue(ILInstruction value, ILInstruction context) + 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, SpecialType.UnknownType); + return null; if (context is CallInstruction parentCall && parentCall.Method.FullName == "System.Linq.Expressions.Expression.Call" && v.StackType.IsIntegerType()) - return (new LdLoca(v), new ByReferenceType(v.Type)); - return (new LdLoc(v), v.Type); + return new LdLoca(v); + return null; } else { if (ldloc.Variable.Kind != VariableKind.StackSlot) - return (new LdLoc(ldloc.Variable), ldloc.Variable.Type); - return (null, SpecialType.UnknownType); + return new LdLoc(ldloc.Variable); + return null; } default: - if (SemanticHelper.IsPure(value.Flags)) - return (value.Clone(), value.InferType()); - return (value, value.InferType()); + return value.Clone(); } } From 3f24807fbff0b7e1940ca15b13badeffbe3d370b Mon Sep 17 00:00:00 2001 From: Siegfried Pammer Date: Sat, 25 Nov 2017 17:37:29 +0100 Subject: [PATCH 13/17] Fix bug in AssignVariableNames --- .../IL/Transforms/AssignVariableNames.cs | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/ICSharpCode.Decompiler/IL/Transforms/AssignVariableNames.cs b/ICSharpCode.Decompiler/IL/Transforms/AssignVariableNames.cs index 2c149eabe..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().SelectMany(f => f.Variables).Where(v => v.Kind == VariableKind.Parameter)) - 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); } From 372e9e1a9775bc9aa727afddf242ff0220889f58 Mon Sep 17 00:00:00 2001 From: Siegfried Pammer Date: Sat, 25 Nov 2017 18:38:39 +0100 Subject: [PATCH 14/17] Fix handling of operators in Roslyn --- .../TestCases/Pretty/ExpressionTrees.cs | 10 +- .../TestCases/Pretty/ExpressionTrees.il | 504 +++++++++++++---- .../TestCases/Pretty/ExpressionTrees.opt.il | 516 ++++++++++++----- .../Pretty/ExpressionTrees.opt.roslyn.il | 511 ++++++++++++----- .../Pretty/ExpressionTrees.roslyn.il | 517 +++++++++++++----- .../IL/Transforms/TransformExpressionTrees.cs | 28 +- 6 files changed, 1558 insertions(+), 528 deletions(-) diff --git a/ICSharpCode.Decompiler.Tests/TestCases/Pretty/ExpressionTrees.cs b/ICSharpCode.Decompiler.Tests/TestCases/Pretty/ExpressionTrees.cs index e7f2a2882..b82943af8 100644 --- a/ICSharpCode.Decompiler.Tests/TestCases/Pretty/ExpressionTrees.cs +++ b/ICSharpCode.Decompiler.Tests/TestCases/Pretty/ExpressionTrees.cs @@ -316,10 +316,18 @@ public class ExpressionTrees { 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)); diff --git a/ICSharpCode.Decompiler.Tests/TestCases/Pretty/ExpressionTrees.il b/ICSharpCode.Decompiler.Tests/TestCases/Pretty/ExpressionTrees.il index bcb43cdf2..4b08b380b 100644 --- a/ICSharpCode.Decompiler.Tests/TestCases/Pretty/ExpressionTrees.il +++ b/ICSharpCode.Decompiler.Tests/TestCases/Pretty/ExpressionTrees.il @@ -20,7 +20,7 @@ .publickeytoken = (B7 7A 5C 56 19 34 E0 89 ) // .z\V.4.. .ver 4:0:0:0 } -.assembly '05r5is52' +.assembly gj2fd1ss { .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 @@ -30,15 +30,15 @@ .hash algorithm 0x00008004 .ver 0:0:0:0 } -.module '05r5is52.dll' -// MVID: {F70BBCF1-4F46-4420-BD20-CAE864CFD4A5} +.module gj2fd1ss.dll +// MVID: {611E022F-FB4E-4130-A180-D0169E711557} .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: 0x00F10000 +// Image base: 0x03390000 // =============== CLASS MEMBERS DECLARATION =================== @@ -3164,14 +3164,32 @@ 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 562 (0x232) - .maxstack 9 + // 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.ParameterExpression[] V_2, + class [System.Core]System.Linq.Expressions.Expression[] V_3) IL_0000: nop IL_0001: call object ExpressionTrees::X() IL_0006: ldarg.0 @@ -3238,7 +3256,7 @@ 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 ExpressionTrees::Fizz(class [mscorlib]System.Func`2) + IL_00b5: ldtoken method instance bool 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 @@ -3246,142 +3264,390 @@ IL_00ca: stloc.0 IL_00cb: ldloc.0 IL_00cc: ldc.i4.0 - IL_00cd: ldtoken [mscorlib]System.Int32 + 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: ldc.i4.s 37 - IL_00e5: box [mscorlib]System.Int32 - IL_00ea: ldtoken [mscorlib]System.Int32 - 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, + 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 ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0134: pop + IL_0135: call object ExpressionTrees::X() + IL_013a: ldarg.0 + IL_013b: box ExpressionTrees + IL_0140: ldtoken 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 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 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_00f9: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Equal(class [System.Core]System.Linq.Expressions.Expression, + IL_01d6: stelem.ref + IL_01d7: ldloc.3 + IL_01d8: ldc.i4.1 + IL_01d9: ldarg.0 + IL_01da: box ExpressionTrees + IL_01df: ldtoken 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 ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0241: pop + IL_0242: call object ExpressionTrees::X() + IL_0247: ldarg.0 + IL_0248: box ExpressionTrees + IL_024d: ldtoken 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 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 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 ExpressionTrees + IL_02ec: ldtoken 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 ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_034e: pop + IL_034f: call object ExpressionTrees::X() + IL_0354: ldarg.0 + IL_0355: box ExpressionTrees + IL_035a: ldtoken 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 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_00fe: ldc.i4.1 - IL_00ff: newarr [System.Core]System.Linq.Expressions.ParameterExpression - IL_0104: stloc.2 - IL_0105: ldloc.2 - IL_0106: ldc.i4.0 - IL_0107: ldloc.1 - IL_0108: stelem.ref - IL_0109: ldloc.2 - 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, + 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_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, + 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_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, + 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_0121: call object ExpressionTrees::ToCode(object, + IL_03d5: call object ExpressionTrees::ToCode(object, class [System.Core]System.Linq.Expressions.Expression`1>) - IL_0126: pop - IL_0127: call object ExpressionTrees::X() - IL_012c: ldarg.0 - IL_012d: box ExpressionTrees - IL_0132: ldtoken ExpressionTrees - IL_0137: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) - IL_013c: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, - class [mscorlib]System.Type) - IL_0141: ldtoken method instance bool ExpressionTrees::Fizz(class [mscorlib]System.Func`2) - IL_0146: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) - IL_014b: castclass [mscorlib]System.Reflection.MethodInfo - IL_0150: ldc.i4.1 - IL_0151: newarr [System.Core]System.Linq.Expressions.Expression - IL_0156: stloc.0 - IL_0157: ldloc.0 - IL_0158: ldc.i4.0 - IL_0159: ldtoken [mscorlib]System.Int32 - IL_015e: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) - IL_0163: ldstr "x" - IL_0168: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + IL_03da: pop + IL_03db: call object ExpressionTrees::X() + IL_03e0: ldarg.0 + IL_03e1: box ExpressionTrees + IL_03e6: ldtoken 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 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_016d: stloc.1 - IL_016e: ldc.i4.1 - IL_016f: box [mscorlib]System.Boolean - IL_0174: ldtoken [mscorlib]System.Boolean - IL_0179: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) - IL_017e: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, - class [mscorlib]System.Type) - IL_0183: ldc.i4.1 - IL_0184: newarr [System.Core]System.Linq.Expressions.ParameterExpression - IL_0189: stloc.2 - IL_018a: ldloc.2 - IL_018b: ldc.i4.0 - IL_018c: ldloc.1 - IL_018d: stelem.ref - IL_018e: ldloc.2 - IL_018f: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + 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_0194: stelem.ref - IL_0195: ldloc.0 - IL_0196: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + 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_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, + 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_01a6: call object ExpressionTrees::ToCode(object, + IL_045a: call object ExpressionTrees::ToCode(object, class [System.Core]System.Linq.Expressions.Expression`1>) - IL_01ab: pop - IL_01ac: call object ExpressionTrees::X() - IL_01b1: ldarg.0 - IL_01b2: box ExpressionTrees - IL_01b7: ldtoken ExpressionTrees - IL_01bc: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) - IL_01c1: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, - class [mscorlib]System.Type) - IL_01c6: ldtoken method instance bool ExpressionTrees::Buzz(class [mscorlib]System.Func`2) - IL_01cb: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) - IL_01d0: castclass [mscorlib]System.Reflection.MethodInfo - IL_01d5: ldc.i4.1 - IL_01d6: newarr [System.Core]System.Linq.Expressions.Expression - IL_01db: stloc.0 - IL_01dc: ldloc.0 - IL_01dd: ldc.i4.0 - IL_01de: ldtoken [mscorlib]System.Int32 - IL_01e3: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) - IL_01e8: ldstr "x" - IL_01ed: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + IL_045f: pop + IL_0460: call object ExpressionTrees::X() + IL_0465: ldarg.0 + IL_0466: box ExpressionTrees + IL_046b: ldtoken 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 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_01f2: stloc.1 - IL_01f3: ldc.i4.1 - IL_01f4: box [mscorlib]System.Boolean - IL_01f9: ldtoken [mscorlib]System.Boolean - IL_01fe: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) - IL_0203: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, - class [mscorlib]System.Type) - IL_0208: ldc.i4.1 - IL_0209: newarr [System.Core]System.Linq.Expressions.ParameterExpression - IL_020e: stloc.2 - IL_020f: ldloc.2 - IL_0210: ldc.i4.0 - IL_0211: ldloc.1 - IL_0212: stelem.ref - IL_0213: ldloc.2 - IL_0214: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + 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_0219: stelem.ref - IL_021a: ldloc.0 - IL_021b: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + 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_0220: ldc.i4.0 - IL_0221: newarr [System.Core]System.Linq.Expressions.ParameterExpression - IL_0226: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(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_022b: call object ExpressionTrees::ToCode(object, + IL_04df: call object ExpressionTrees::ToCode(object, class [System.Core]System.Linq.Expressions.Expression`1>) - IL_0230: pop - IL_0231: ret + IL_04e4: pop + IL_04e5: ret } // end of method ExpressionTrees::NestedLambda2 .method public hidebysig instance void diff --git a/ICSharpCode.Decompiler.Tests/TestCases/Pretty/ExpressionTrees.opt.il b/ICSharpCode.Decompiler.Tests/TestCases/Pretty/ExpressionTrees.opt.il index 9deb6fe53..79299c4ae 100644 --- a/ICSharpCode.Decompiler.Tests/TestCases/Pretty/ExpressionTrees.opt.il +++ b/ICSharpCode.Decompiler.Tests/TestCases/Pretty/ExpressionTrees.opt.il @@ -20,7 +20,7 @@ .publickeytoken = (B7 7A 5C 56 19 34 E0 89 ) // .z\V.4.. .ver 4:0:0:0 } -.assembly mav11ctu +.assembly '0rzgxc1i' { .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 @@ -30,15 +30,15 @@ .hash algorithm 0x00008004 .ver 0:0:0:0 } -.module mav11ctu.dll -// MVID: {A57EFB8D-913F-4E31-91C8-80C6D2206F2E} +.module '0rzgxc1i.dll' +// MVID: {F81FAFBD-2291-4778-9F86-AC124E94C7DB} .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: 0x03610000 +// Image base: 0x02CE0000 // =============== CLASS MEMBERS DECLARATION =================== @@ -3091,11 +3091,22 @@ 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 583 (0x247) - .maxstack 9 + // 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, @@ -3104,10 +3115,21 @@ 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.Expression[] 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.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 ExpressionTrees::X() IL_0005: ldarg.0 IL_0006: box ExpressionTrees @@ -3173,7 +3195,7 @@ 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 ExpressionTrees::Fizz(class [mscorlib]System.Func`2) + IL_00b4: ldtoken method instance bool 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 @@ -3181,142 +3203,390 @@ IL_00c9: stloc.3 IL_00ca: ldloc.3 IL_00cb: ldc.i4.0 - IL_00cc: ldtoken [mscorlib]System.Int32 + 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: ldc.i4.s 37 - IL_00e6: box [mscorlib]System.Int32 - IL_00eb: ldtoken [mscorlib]System.Int32 - 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: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Equal(class [System.Core]System.Linq.Expressions.Expression, + 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 ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0139: pop + IL_013a: call object ExpressionTrees::X() + IL_013f: ldarg.0 + IL_0140: box ExpressionTrees + IL_0145: ldtoken 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 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 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 ExpressionTrees + IL_01eb: ldtoken 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 ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0253: pop + IL_0254: call object ExpressionTrees::X() + IL_0259: ldarg.0 + IL_025a: box ExpressionTrees + IL_025f: ldtoken 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 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 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 ExpressionTrees + IL_0305: ldtoken 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 ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_036d: pop + IL_036e: call object ExpressionTrees::X() + IL_0373: ldarg.0 + IL_0374: box ExpressionTrees + IL_0379: ldtoken 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 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_00ff: ldc.i4.1 - IL_0100: newarr [System.Core]System.Linq.Expressions.ParameterExpression - IL_0105: stloc.s V_5 - IL_0107: ldloc.s V_5 - IL_0109: ldc.i4.0 - IL_010a: ldloc.s V_4 - IL_010c: stelem.ref - IL_010d: ldloc.s V_5 - 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, + 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_0114: stelem.ref - IL_0115: ldloc.3 - IL_0116: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + 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_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, + 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_0126: call object ExpressionTrees::ToCode(object, + IL_03fd: call object ExpressionTrees::ToCode(object, class [System.Core]System.Linq.Expressions.Expression`1>) - IL_012b: pop - IL_012c: call object ExpressionTrees::X() - IL_0131: ldarg.0 - IL_0132: box ExpressionTrees - IL_0137: ldtoken ExpressionTrees - 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: ldtoken method instance bool ExpressionTrees::Fizz(class [mscorlib]System.Func`2) - IL_014b: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) - IL_0150: castclass [mscorlib]System.Reflection.MethodInfo - IL_0155: ldc.i4.1 - IL_0156: newarr [System.Core]System.Linq.Expressions.Expression - IL_015b: stloc.s V_6 - IL_015d: ldloc.s V_6 - 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: ldstr "x" - IL_016f: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + IL_0402: pop + IL_0403: call object ExpressionTrees::X() + IL_0408: ldarg.0 + IL_0409: box ExpressionTrees + IL_040e: ldtoken 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 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_0174: stloc.s V_7 - IL_0176: ldc.i4.1 - IL_0177: box [mscorlib]System.Boolean - IL_017c: ldtoken [mscorlib]System.Boolean - 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: ldc.i4.1 - IL_018c: newarr [System.Core]System.Linq.Expressions.ParameterExpression - IL_0191: stloc.s V_8 - IL_0193: ldloc.s V_8 - IL_0195: ldc.i4.0 - IL_0196: ldloc.s V_7 - IL_0198: stelem.ref - IL_0199: ldloc.s V_8 - 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, + 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_01a0: stelem.ref - IL_01a1: ldloc.s V_6 - IL_01a3: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + 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_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, + 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_01b3: call object ExpressionTrees::ToCode(object, + IL_048a: call object ExpressionTrees::ToCode(object, class [System.Core]System.Linq.Expressions.Expression`1>) - IL_01b8: pop - IL_01b9: call object ExpressionTrees::X() - IL_01be: ldarg.0 - IL_01bf: box ExpressionTrees - IL_01c4: ldtoken ExpressionTrees - IL_01c9: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) - IL_01ce: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, - class [mscorlib]System.Type) - IL_01d3: ldtoken method instance bool ExpressionTrees::Buzz(class [mscorlib]System.Func`2) - IL_01d8: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) - IL_01dd: castclass [mscorlib]System.Reflection.MethodInfo - IL_01e2: ldc.i4.1 - IL_01e3: newarr [System.Core]System.Linq.Expressions.Expression - IL_01e8: stloc.s V_9 - IL_01ea: ldloc.s V_9 - IL_01ec: ldc.i4.0 - IL_01ed: ldtoken [mscorlib]System.Int32 - IL_01f2: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) - IL_01f7: ldstr "x" - IL_01fc: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + IL_048f: pop + IL_0490: call object ExpressionTrees::X() + IL_0495: ldarg.0 + IL_0496: box ExpressionTrees + IL_049b: ldtoken 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 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_0201: stloc.s V_10 - IL_0203: ldc.i4.1 - IL_0204: box [mscorlib]System.Boolean - IL_0209: ldtoken [mscorlib]System.Boolean - IL_020e: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) - IL_0213: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, - class [mscorlib]System.Type) - IL_0218: ldc.i4.1 - IL_0219: newarr [System.Core]System.Linq.Expressions.ParameterExpression - IL_021e: stloc.s V_11 - IL_0220: ldloc.s V_11 - IL_0222: ldc.i4.0 - IL_0223: ldloc.s V_10 - IL_0225: stelem.ref - IL_0226: ldloc.s V_11 - IL_0228: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + 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_022d: stelem.ref - IL_022e: ldloc.s V_9 - IL_0230: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + 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_0235: ldc.i4.0 - IL_0236: newarr [System.Core]System.Linq.Expressions.ParameterExpression - IL_023b: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(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_0240: call object ExpressionTrees::ToCode(object, + IL_0517: call object ExpressionTrees::ToCode(object, class [System.Core]System.Linq.Expressions.Expression`1>) - IL_0245: pop - IL_0246: ret + IL_051c: pop + IL_051d: ret } // end of method ExpressionTrees::NestedLambda2 .method public hidebysig instance void diff --git a/ICSharpCode.Decompiler.Tests/TestCases/Pretty/ExpressionTrees.opt.roslyn.il b/ICSharpCode.Decompiler.Tests/TestCases/Pretty/ExpressionTrees.opt.roslyn.il index e7ee35454..d1862c220 100644 --- a/ICSharpCode.Decompiler.Tests/TestCases/Pretty/ExpressionTrees.opt.roslyn.il +++ b/ICSharpCode.Decompiler.Tests/TestCases/Pretty/ExpressionTrees.opt.roslyn.il @@ -35,14 +35,14 @@ .ver 0:0:0:0 } .module ExpressionTrees.dll -// MVID: {D518E89D-9CFD-4B4B-A974-EACAB7B2D1C7} +// MVID: {AA9C673A-BFCE-40E8-B33E-DB3A1434FD39} .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: 0x012D0000 +// Image base: 0x02C90000 // =============== CLASS MEMBERS DECLARATION =================== @@ -709,7 +709,7 @@ } // end of class '<>c__DisplayClass34_0' - .class auto ansi sealed nested private beforefieldinit '<>c__DisplayClass43_0' + .class auto ansi sealed nested private beforefieldinit '<>c__DisplayClass44_0' extends [mscorlib]System.Object { .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) @@ -724,11 +724,11 @@ IL_0000: ldarg.0 IL_0001: call instance void [mscorlib]System.Object::.ctor() IL_0006: ret - } // end of method '<>c__DisplayClass43_0'::.ctor + } // end of method '<>c__DisplayClass44_0'::.ctor - } // end of class '<>c__DisplayClass43_0' + } // end of class '<>c__DisplayClass44_0' - .class auto ansi sealed nested private beforefieldinit '<>c__DisplayClass44_0' + .class auto ansi sealed nested private beforefieldinit '<>c__DisplayClass45_0' extends [mscorlib]System.Object { .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) @@ -741,11 +741,11 @@ IL_0000: ldarg.0 IL_0001: call instance void [mscorlib]System.Object::.ctor() IL_0006: ret - } // end of method '<>c__DisplayClass44_0'::.ctor + } // end of method '<>c__DisplayClass45_0'::.ctor - } // end of class '<>c__DisplayClass44_0' + } // end of class '<>c__DisplayClass45_0' - .class auto ansi sealed nested private beforefieldinit '<>c__DisplayClass54_0' + .class auto ansi sealed nested private beforefieldinit '<>c__DisplayClass55_0' extends [mscorlib]System.Object { .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) @@ -759,9 +759,9 @@ IL_0000: ldarg.0 IL_0001: call instance void [mscorlib]System.Object::.ctor() IL_0006: ret - } // end of method '<>c__DisplayClass54_0'::.ctor + } // end of method '<>c__DisplayClass55_0'::.ctor - } // end of class '<>c__DisplayClass54_0' + } // end of class '<>c__DisplayClass55_0' .field private int32 'field' .method private hidebysig static object @@ -3348,11 +3348,22 @@ 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 509 (0x1fd) - .maxstack 11 + // Code size 1124 (0x464) + .maxstack 14 .locals init (class [System.Core]System.Linq.Expressions.ParameterExpression V_0) IL_0000: call object ExpressionTrees::X() IL_0005: ldarg.0 @@ -3406,136 +3417,352 @@ 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 ExpressionTrees::Fizz(class [mscorlib]System.Func`2) + IL_0096: ldtoken method instance bool 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.Int32 + 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: ldc.i4.s 37 - IL_00c5: box [mscorlib]System.Int32 - IL_00ca: ldtoken [mscorlib]System.Int32 - 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, + 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_00d9: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Equal(class [System.Core]System.Linq.Expressions.Expression, + 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 ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0101: pop + IL_0102: call object ExpressionTrees::X() + IL_0107: ldarg.0 + IL_0108: ldtoken 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 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 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 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 ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_01f4: pop + IL_01f5: call object ExpressionTrees::X() + IL_01fa: ldarg.0 + IL_01fb: ldtoken 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 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 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 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 ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_02e7: pop + IL_02e8: call object ExpressionTrees::X() + IL_02ed: ldarg.0 + IL_02ee: ldtoken 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 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_00de: ldc.i4.1 - IL_00df: newarr [System.Core]System.Linq.Expressions.ParameterExpression - IL_00e4: dup - IL_00e5: ldc.i4.0 - IL_00e6: ldloc.0 - IL_00e7: stelem.ref - IL_00e8: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(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_00ed: stelem.ref - IL_00ee: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + 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_00f3: ldc.i4.0 - IL_00f4: newarr [System.Core]System.Linq.Expressions.ParameterExpression - IL_00f9: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(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_00fe: call object ExpressionTrees::ToCode(object, + IL_0365: call object ExpressionTrees::ToCode(object, class [System.Core]System.Linq.Expressions.Expression`1>) - IL_0103: pop - IL_0104: call object ExpressionTrees::X() - IL_0109: ldarg.0 - IL_010a: ldtoken ExpressionTrees - IL_010f: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) - IL_0114: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, - class [mscorlib]System.Type) - IL_0119: ldtoken method instance bool ExpressionTrees::Fizz(class [mscorlib]System.Func`2) - IL_011e: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) - IL_0123: castclass [mscorlib]System.Reflection.MethodInfo - IL_0128: ldc.i4.1 - IL_0129: newarr [System.Core]System.Linq.Expressions.Expression - IL_012e: dup - IL_012f: ldc.i4.0 - IL_0130: ldtoken [mscorlib]System.Int32 - IL_0135: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) - IL_013a: ldstr "x" - IL_013f: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + IL_036a: pop + IL_036b: call object ExpressionTrees::X() + IL_0370: ldarg.0 + IL_0371: ldtoken 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 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_0144: stloc.0 - IL_0145: ldc.i4.1 - IL_0146: box [mscorlib]System.Boolean - IL_014b: ldtoken [mscorlib]System.Boolean - IL_0150: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) - IL_0155: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, - class [mscorlib]System.Type) - 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, + 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_0169: stelem.ref - IL_016a: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + 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_016f: ldc.i4.0 - IL_0170: newarr [System.Core]System.Linq.Expressions.ParameterExpression - IL_0175: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(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_017a: call object ExpressionTrees::ToCode(object, + IL_03e1: call object ExpressionTrees::ToCode(object, class [System.Core]System.Linq.Expressions.Expression`1>) - IL_017f: pop - IL_0180: call object ExpressionTrees::X() - IL_0185: ldarg.0 - IL_0186: ldtoken ExpressionTrees - 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: ldtoken method instance bool ExpressionTrees::Buzz(class [mscorlib]System.Func`2) - IL_019a: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) - IL_019f: castclass [mscorlib]System.Reflection.MethodInfo - IL_01a4: ldc.i4.1 - IL_01a5: newarr [System.Core]System.Linq.Expressions.Expression - IL_01aa: dup - IL_01ab: ldc.i4.0 - IL_01ac: ldtoken [mscorlib]System.Int32 - IL_01b1: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) - IL_01b6: ldstr "x" - IL_01bb: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + IL_03e6: pop + IL_03e7: call object ExpressionTrees::X() + IL_03ec: ldarg.0 + IL_03ed: ldtoken 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 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_01c0: stloc.0 - IL_01c1: ldc.i4.1 - IL_01c2: box [mscorlib]System.Boolean - IL_01c7: ldtoken [mscorlib]System.Boolean - 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: ldc.i4.1 - IL_01d7: newarr [System.Core]System.Linq.Expressions.ParameterExpression - IL_01dc: dup - IL_01dd: ldc.i4.0 - IL_01de: ldloc.0 - IL_01df: stelem.ref - IL_01e0: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + 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_01e5: stelem.ref - IL_01e6: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + 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_01eb: ldc.i4.0 - IL_01ec: newarr [System.Core]System.Linq.Expressions.ParameterExpression - IL_01f1: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(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_01f6: call object ExpressionTrees::ToCode(object, + IL_045d: call object ExpressionTrees::ToCode(object, class [System.Core]System.Linq.Expressions.Expression`1>) - IL_01fb: pop - IL_01fc: ret + IL_0462: pop + IL_0463: ret } // end of method ExpressionTrees::NestedLambda2 .method public hidebysig instance void @@ -3718,25 +3945,25 @@ { // Code size 270 (0x10e) .maxstack 4 - .locals init (class ExpressionTrees/'<>c__DisplayClass43_0' V_0) - IL_0000: newobj instance void ExpressionTrees/'<>c__DisplayClass43_0'::.ctor() + .locals init (class ExpressionTrees/'<>c__DisplayClass44_0' V_0) + IL_0000: newobj instance void ExpressionTrees/'<>c__DisplayClass44_0'::.ctor() IL_0005: stloc.0 IL_0006: ldloc.0 IL_0007: ldc.i4.1 - IL_0008: stfld bool ExpressionTrees/'<>c__DisplayClass43_0'::x + IL_0008: stfld bool ExpressionTrees/'<>c__DisplayClass44_0'::x IL_000d: ldloc.0 IL_000e: ldc.i4.3 - IL_000f: stfld int32 ExpressionTrees/'<>c__DisplayClass43_0'::y + IL_000f: stfld int32 ExpressionTrees/'<>c__DisplayClass44_0'::y IL_0014: ldloc.0 IL_0015: ldc.i4.s 42 - IL_0017: stfld uint8 ExpressionTrees/'<>c__DisplayClass43_0'::z + IL_0017: stfld uint8 ExpressionTrees/'<>c__DisplayClass44_0'::z IL_001c: call object ExpressionTrees::X() IL_0021: ldloc.0 - IL_0022: ldtoken ExpressionTrees/'<>c__DisplayClass43_0' + IL_0022: ldtoken ExpressionTrees/'<>c__DisplayClass44_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 ExpressionTrees/'<>c__DisplayClass43_0'::z + IL_0031: ldtoken field uint8 ExpressionTrees/'<>c__DisplayClass44_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) @@ -3762,11 +3989,11 @@ IL_007e: pop IL_007f: call object ExpressionTrees::X() IL_0084: ldloc.0 - IL_0085: ldtoken ExpressionTrees/'<>c__DisplayClass43_0' + IL_0085: ldtoken ExpressionTrees/'<>c__DisplayClass44_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 ExpressionTrees/'<>c__DisplayClass43_0'::y + IL_0094: ldtoken field int32 ExpressionTrees/'<>c__DisplayClass44_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) @@ -3788,11 +4015,11 @@ IL_00d2: pop IL_00d3: call object ExpressionTrees::X() IL_00d8: ldloc.0 - IL_00d9: ldtoken ExpressionTrees/'<>c__DisplayClass43_0' + IL_00d9: ldtoken ExpressionTrees/'<>c__DisplayClass44_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 ExpressionTrees/'<>c__DisplayClass43_0'::x + IL_00e8: ldtoken field bool ExpressionTrees/'<>c__DisplayClass44_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) @@ -3812,8 +4039,8 @@ { // Code size 288 (0x120) .maxstack 8 - .locals init (class ExpressionTrees/'<>c__DisplayClass44_0' V_0) - IL_0000: newobj instance void ExpressionTrees/'<>c__DisplayClass44_0'::.ctor() + .locals init (class ExpressionTrees/'<>c__DisplayClass45_0' V_0) + IL_0000: newobj instance void ExpressionTrees/'<>c__DisplayClass45_0'::.ctor() IL_0005: stloc.0 IL_0006: ldloc.0 IL_0007: newobj instance void [System.Xml]System.Xml.XmlReaderSettings::.ctor() @@ -3823,7 +4050,7 @@ 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 ExpressionTrees/'<>c__DisplayClass44_0'::s + IL_001a: stfld class [System.Xml]System.Xml.XmlReaderSettings ExpressionTrees/'<>c__DisplayClass45_0'::s IL_001f: call object 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) @@ -3836,11 +4063,11 @@ 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 ExpressionTrees/'<>c__DisplayClass44_0' + IL_004b: ldtoken ExpressionTrees/'<>c__DisplayClass45_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 ExpressionTrees/'<>c__DisplayClass44_0'::s + IL_005a: ldtoken field class [System.Xml]System.Xml.XmlReaderSettings ExpressionTrees/'<>c__DisplayClass45_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) @@ -3858,11 +4085,11 @@ 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 ExpressionTrees/'<>c__DisplayClass44_0' + IL_0095: ldtoken ExpressionTrees/'<>c__DisplayClass45_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 ExpressionTrees/'<>c__DisplayClass44_0'::s + IL_00a4: ldtoken field class [System.Xml]System.Xml.XmlReaderSettings ExpressionTrees/'<>c__DisplayClass45_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) @@ -3884,11 +4111,11 @@ IL_00e7: dup IL_00e8: ldc.i4.0 IL_00e9: ldloc.0 - IL_00ea: ldtoken ExpressionTrees/'<>c__DisplayClass44_0' + IL_00ea: ldtoken ExpressionTrees/'<>c__DisplayClass45_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 ExpressionTrees/'<>c__DisplayClass44_0'::s + IL_00f9: ldtoken field class [System.Xml]System.Xml.XmlReaderSettings ExpressionTrees/'<>c__DisplayClass45_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) @@ -4497,15 +4724,15 @@ { // Code size 406 (0x196) .maxstack 8 - .locals init (class ExpressionTrees/'<>c__DisplayClass54_0' V_0) - IL_0000: newobj instance void ExpressionTrees/'<>c__DisplayClass54_0'::.ctor() + .locals init (class ExpressionTrees/'<>c__DisplayClass55_0' V_0) + IL_0000: newobj instance void ExpressionTrees/'<>c__DisplayClass55_0'::.ctor() IL_0005: stloc.0 IL_0006: ldloc.0 IL_0007: ldc.i4.1 - IL_0008: stfld int32 ExpressionTrees/'<>c__DisplayClass54_0'::i + IL_0008: stfld int32 ExpressionTrees/'<>c__DisplayClass55_0'::i IL_000d: ldloc.0 IL_000e: ldstr "X" - IL_0013: stfld string ExpressionTrees/'<>c__DisplayClass54_0'::x + IL_0013: stfld string ExpressionTrees/'<>c__DisplayClass55_0'::x IL_0018: call object ExpressionTrees::X() IL_001d: ldstr "a\n\\b" IL_0022: ldtoken [mscorlib]System.String @@ -4513,22 +4740,22 @@ 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 ExpressionTrees/'<>c__DisplayClass54_0' + IL_0032: ldtoken ExpressionTrees/'<>c__DisplayClass55_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 ExpressionTrees/'<>c__DisplayClass54_0'::x + IL_0041: ldtoken field string ExpressionTrees/'<>c__DisplayClass55_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 ExpressionTrees/'<>c__DisplayClass54_0' + IL_0056: ldtoken ExpressionTrees/'<>c__DisplayClass55_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 ExpressionTrees/'<>c__DisplayClass54_0'::x + IL_0065: ldtoken field string ExpressionTrees/'<>c__DisplayClass55_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) @@ -4572,11 +4799,11 @@ 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 ExpressionTrees/'<>c__DisplayClass54_0' + IL_00fb: ldtoken ExpressionTrees/'<>c__DisplayClass55_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 ExpressionTrees/'<>c__DisplayClass54_0'::i + IL_010a: ldtoken field int32 ExpressionTrees/'<>c__DisplayClass55_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) diff --git a/ICSharpCode.Decompiler.Tests/TestCases/Pretty/ExpressionTrees.roslyn.il b/ICSharpCode.Decompiler.Tests/TestCases/Pretty/ExpressionTrees.roslyn.il index 9449949ac..d76d58768 100644 --- a/ICSharpCode.Decompiler.Tests/TestCases/Pretty/ExpressionTrees.roslyn.il +++ b/ICSharpCode.Decompiler.Tests/TestCases/Pretty/ExpressionTrees.roslyn.il @@ -35,14 +35,14 @@ .ver 0:0:0:0 } .module ExpressionTrees.dll -// MVID: {69A458ED-527F-4C9C-9A7C-CF5C957EC1ED} +// MVID: {10FA8BAD-7C03-45BA-B129-010B46E41B45} .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: 0x01390000 +// Image base: 0x02CC0000 // =============== CLASS MEMBERS DECLARATION =================== @@ -735,7 +735,7 @@ } // end of class '<>c__DisplayClass34_0' - .class auto ansi sealed nested private beforefieldinit '<>c__DisplayClass43_0' + .class auto ansi sealed nested private beforefieldinit '<>c__DisplayClass44_0' extends [mscorlib]System.Object { .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) @@ -751,11 +751,11 @@ IL_0001: call instance void [mscorlib]System.Object::.ctor() IL_0006: nop IL_0007: ret - } // end of method '<>c__DisplayClass43_0'::.ctor + } // end of method '<>c__DisplayClass44_0'::.ctor - } // end of class '<>c__DisplayClass43_0' + } // end of class '<>c__DisplayClass44_0' - .class auto ansi sealed nested private beforefieldinit '<>c__DisplayClass44_0' + .class auto ansi sealed nested private beforefieldinit '<>c__DisplayClass45_0' extends [mscorlib]System.Object { .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) @@ -769,11 +769,11 @@ IL_0001: call instance void [mscorlib]System.Object::.ctor() IL_0006: nop IL_0007: ret - } // end of method '<>c__DisplayClass44_0'::.ctor + } // end of method '<>c__DisplayClass45_0'::.ctor - } // end of class '<>c__DisplayClass44_0' + } // end of class '<>c__DisplayClass45_0' - .class auto ansi sealed nested private beforefieldinit '<>c__DisplayClass54_0' + .class auto ansi sealed nested private beforefieldinit '<>c__DisplayClass55_0' extends [mscorlib]System.Object { .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) @@ -788,9 +788,9 @@ IL_0001: call instance void [mscorlib]System.Object::.ctor() IL_0006: nop IL_0007: ret - } // end of method '<>c__DisplayClass54_0'::.ctor + } // end of method '<>c__DisplayClass55_0'::.ctor - } // end of class '<>c__DisplayClass54_0' + } // end of class '<>c__DisplayClass55_0' .field private int32 'field' .method private hidebysig static object @@ -3444,11 +3444,28 @@ 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 510 (0x1fe) - .maxstack 11 + // Code size 1125 (0x465) + .maxstack 14 .locals init (class [System.Core]System.Linq.Expressions.ParameterExpression V_0) IL_0000: nop IL_0001: call object ExpressionTrees::X() @@ -3503,136 +3520,352 @@ 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 ExpressionTrees::Fizz(class [mscorlib]System.Func`2) + IL_0097: ldtoken method instance bool 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.Int32 + 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: ldc.i4.s 37 - IL_00c6: box [mscorlib]System.Int32 - IL_00cb: ldtoken [mscorlib]System.Int32 - 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, + 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_00da: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Equal(class [System.Core]System.Linq.Expressions.Expression, + 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 ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_0102: pop + IL_0103: call object ExpressionTrees::X() + IL_0108: ldarg.0 + IL_0109: ldtoken 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 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 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 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 ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_01f5: pop + IL_01f6: call object ExpressionTrees::X() + IL_01fb: ldarg.0 + IL_01fc: ldtoken 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 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 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 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 ExpressionTrees::ToCode(object, + class [System.Core]System.Linq.Expressions.Expression`1>) + IL_02e8: pop + IL_02e9: call object ExpressionTrees::X() + IL_02ee: ldarg.0 + IL_02ef: ldtoken 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 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_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, + 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_00ee: stelem.ref - IL_00ef: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + 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_00f4: ldc.i4.0 - IL_00f5: newarr [System.Core]System.Linq.Expressions.ParameterExpression - IL_00fa: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(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_00ff: call object ExpressionTrees::ToCode(object, + IL_0366: call object ExpressionTrees::ToCode(object, class [System.Core]System.Linq.Expressions.Expression`1>) - IL_0104: pop - IL_0105: call object ExpressionTrees::X() - IL_010a: ldarg.0 - IL_010b: ldtoken ExpressionTrees - 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: ldtoken method instance bool ExpressionTrees::Fizz(class [mscorlib]System.Func`2) - 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: ldc.i4.1 - IL_012a: newarr [System.Core]System.Linq.Expressions.Expression - IL_012f: dup - IL_0130: ldc.i4.0 - IL_0131: ldtoken [mscorlib]System.Int32 - IL_0136: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) - IL_013b: ldstr "x" - IL_0140: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + IL_036b: pop + IL_036c: call object ExpressionTrees::X() + IL_0371: ldarg.0 + IL_0372: ldtoken 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 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_0145: stloc.0 - IL_0146: ldc.i4.1 - IL_0147: box [mscorlib]System.Boolean - IL_014c: ldtoken [mscorlib]System.Boolean - 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: 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, + 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_016a: stelem.ref - IL_016b: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + 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_0170: ldc.i4.0 - IL_0171: newarr [System.Core]System.Linq.Expressions.ParameterExpression - IL_0176: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(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_017b: call object ExpressionTrees::ToCode(object, + IL_03e2: call object ExpressionTrees::ToCode(object, class [System.Core]System.Linq.Expressions.Expression`1>) - IL_0180: pop - IL_0181: call object ExpressionTrees::X() - IL_0186: ldarg.0 - IL_0187: ldtoken ExpressionTrees - IL_018c: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) - IL_0191: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, - class [mscorlib]System.Type) - IL_0196: ldtoken method instance bool ExpressionTrees::Buzz(class [mscorlib]System.Func`2) - IL_019b: call class [mscorlib]System.Reflection.MethodBase [mscorlib]System.Reflection.MethodBase::GetMethodFromHandle(valuetype [mscorlib]System.RuntimeMethodHandle) - IL_01a0: castclass [mscorlib]System.Reflection.MethodInfo - IL_01a5: ldc.i4.1 - IL_01a6: newarr [System.Core]System.Linq.Expressions.Expression - IL_01ab: dup - IL_01ac: ldc.i4.0 - IL_01ad: ldtoken [mscorlib]System.Int32 - IL_01b2: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) - IL_01b7: ldstr "x" - IL_01bc: call class [System.Core]System.Linq.Expressions.ParameterExpression [System.Core]System.Linq.Expressions.Expression::Parameter(class [mscorlib]System.Type, + IL_03e7: pop + IL_03e8: call object ExpressionTrees::X() + IL_03ed: ldarg.0 + IL_03ee: ldtoken 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 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_01c1: stloc.0 - IL_01c2: ldc.i4.1 - IL_01c3: box [mscorlib]System.Boolean - IL_01c8: ldtoken [mscorlib]System.Boolean - IL_01cd: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) - IL_01d2: call class [System.Core]System.Linq.Expressions.ConstantExpression [System.Core]System.Linq.Expressions.Expression::Constant(object, - class [mscorlib]System.Type) - IL_01d7: ldc.i4.1 - IL_01d8: newarr [System.Core]System.Linq.Expressions.ParameterExpression - IL_01dd: dup - IL_01de: ldc.i4.0 - IL_01df: ldloc.0 - IL_01e0: stelem.ref - IL_01e1: call class [System.Core]System.Linq.Expressions.Expression`1 [System.Core]System.Linq.Expressions.Expression::Lambda>(class [System.Core]System.Linq.Expressions.Expression, + 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_01e6: stelem.ref - IL_01e7: call class [System.Core]System.Linq.Expressions.MethodCallExpression [System.Core]System.Linq.Expressions.Expression::Call(class [System.Core]System.Linq.Expressions.Expression, + 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_01ec: ldc.i4.0 - IL_01ed: newarr [System.Core]System.Linq.Expressions.ParameterExpression - 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, + 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_01f7: call object ExpressionTrees::ToCode(object, + IL_045e: call object ExpressionTrees::ToCode(object, class [System.Core]System.Linq.Expressions.Expression`1>) - IL_01fc: pop - IL_01fd: ret + IL_0463: pop + IL_0464: ret } // end of method ExpressionTrees::NestedLambda2 .method public hidebysig instance void @@ -3818,26 +4051,26 @@ { // Code size 271 (0x10f) .maxstack 4 - .locals init (class ExpressionTrees/'<>c__DisplayClass43_0' V_0) - IL_0000: newobj instance void ExpressionTrees/'<>c__DisplayClass43_0'::.ctor() + .locals init (class ExpressionTrees/'<>c__DisplayClass44_0' V_0) + IL_0000: newobj instance void ExpressionTrees/'<>c__DisplayClass44_0'::.ctor() IL_0005: stloc.0 IL_0006: nop IL_0007: ldloc.0 IL_0008: ldc.i4.1 - IL_0009: stfld bool ExpressionTrees/'<>c__DisplayClass43_0'::x + IL_0009: stfld bool ExpressionTrees/'<>c__DisplayClass44_0'::x IL_000e: ldloc.0 IL_000f: ldc.i4.3 - IL_0010: stfld int32 ExpressionTrees/'<>c__DisplayClass43_0'::y + IL_0010: stfld int32 ExpressionTrees/'<>c__DisplayClass44_0'::y IL_0015: ldloc.0 IL_0016: ldc.i4.s 42 - IL_0018: stfld uint8 ExpressionTrees/'<>c__DisplayClass43_0'::z + IL_0018: stfld uint8 ExpressionTrees/'<>c__DisplayClass44_0'::z IL_001d: call object ExpressionTrees::X() IL_0022: ldloc.0 - IL_0023: ldtoken ExpressionTrees/'<>c__DisplayClass43_0' + IL_0023: ldtoken ExpressionTrees/'<>c__DisplayClass44_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 ExpressionTrees/'<>c__DisplayClass43_0'::z + IL_0032: ldtoken field uint8 ExpressionTrees/'<>c__DisplayClass44_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) @@ -3863,11 +4096,11 @@ IL_007f: pop IL_0080: call object ExpressionTrees::X() IL_0085: ldloc.0 - IL_0086: ldtoken ExpressionTrees/'<>c__DisplayClass43_0' + IL_0086: ldtoken ExpressionTrees/'<>c__DisplayClass44_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 ExpressionTrees/'<>c__DisplayClass43_0'::y + IL_0095: ldtoken field int32 ExpressionTrees/'<>c__DisplayClass44_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) @@ -3889,11 +4122,11 @@ IL_00d3: pop IL_00d4: call object ExpressionTrees::X() IL_00d9: ldloc.0 - IL_00da: ldtoken ExpressionTrees/'<>c__DisplayClass43_0' + IL_00da: ldtoken ExpressionTrees/'<>c__DisplayClass44_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 ExpressionTrees/'<>c__DisplayClass43_0'::x + IL_00e9: ldtoken field bool ExpressionTrees/'<>c__DisplayClass44_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) @@ -3913,8 +4146,8 @@ { // Code size 291 (0x123) .maxstack 8 - .locals init (class ExpressionTrees/'<>c__DisplayClass44_0' V_0) - IL_0000: newobj instance void ExpressionTrees/'<>c__DisplayClass44_0'::.ctor() + .locals init (class ExpressionTrees/'<>c__DisplayClass45_0' V_0) + IL_0000: newobj instance void ExpressionTrees/'<>c__DisplayClass45_0'::.ctor() IL_0005: stloc.0 IL_0006: nop IL_0007: ldloc.0 @@ -3927,7 +4160,7 @@ 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 ExpressionTrees/'<>c__DisplayClass44_0'::s + IL_001d: stfld class [System.Xml]System.Xml.XmlReaderSettings ExpressionTrees/'<>c__DisplayClass45_0'::s IL_0022: call object 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) @@ -3940,11 +4173,11 @@ 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 ExpressionTrees/'<>c__DisplayClass44_0' + IL_004e: ldtoken ExpressionTrees/'<>c__DisplayClass45_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 ExpressionTrees/'<>c__DisplayClass44_0'::s + IL_005d: ldtoken field class [System.Xml]System.Xml.XmlReaderSettings ExpressionTrees/'<>c__DisplayClass45_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) @@ -3962,11 +4195,11 @@ 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 ExpressionTrees/'<>c__DisplayClass44_0' + IL_0098: ldtoken ExpressionTrees/'<>c__DisplayClass45_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 ExpressionTrees/'<>c__DisplayClass44_0'::s + IL_00a7: ldtoken field class [System.Xml]System.Xml.XmlReaderSettings ExpressionTrees/'<>c__DisplayClass45_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) @@ -3988,11 +4221,11 @@ IL_00ea: dup IL_00eb: ldc.i4.0 IL_00ec: ldloc.0 - IL_00ed: ldtoken ExpressionTrees/'<>c__DisplayClass44_0' + IL_00ed: ldtoken ExpressionTrees/'<>c__DisplayClass45_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 ExpressionTrees/'<>c__DisplayClass44_0'::s + IL_00fc: ldtoken field class [System.Xml]System.Xml.XmlReaderSettings ExpressionTrees/'<>c__DisplayClass45_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) @@ -4610,16 +4843,16 @@ { // Code size 407 (0x197) .maxstack 8 - .locals init (class ExpressionTrees/'<>c__DisplayClass54_0' V_0) - IL_0000: newobj instance void ExpressionTrees/'<>c__DisplayClass54_0'::.ctor() + .locals init (class ExpressionTrees/'<>c__DisplayClass55_0' V_0) + IL_0000: newobj instance void ExpressionTrees/'<>c__DisplayClass55_0'::.ctor() IL_0005: stloc.0 IL_0006: nop IL_0007: ldloc.0 IL_0008: ldc.i4.1 - IL_0009: stfld int32 ExpressionTrees/'<>c__DisplayClass54_0'::i + IL_0009: stfld int32 ExpressionTrees/'<>c__DisplayClass55_0'::i IL_000e: ldloc.0 IL_000f: ldstr "X" - IL_0014: stfld string ExpressionTrees/'<>c__DisplayClass54_0'::x + IL_0014: stfld string ExpressionTrees/'<>c__DisplayClass55_0'::x IL_0019: call object ExpressionTrees::X() IL_001e: ldstr "a\n\\b" IL_0023: ldtoken [mscorlib]System.String @@ -4627,22 +4860,22 @@ 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 ExpressionTrees/'<>c__DisplayClass54_0' + IL_0033: ldtoken ExpressionTrees/'<>c__DisplayClass55_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 ExpressionTrees/'<>c__DisplayClass54_0'::x + IL_0042: ldtoken field string ExpressionTrees/'<>c__DisplayClass55_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 ExpressionTrees/'<>c__DisplayClass54_0' + IL_0057: ldtoken ExpressionTrees/'<>c__DisplayClass55_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 ExpressionTrees/'<>c__DisplayClass54_0'::x + IL_0066: ldtoken field string ExpressionTrees/'<>c__DisplayClass55_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) @@ -4686,11 +4919,11 @@ 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 ExpressionTrees/'<>c__DisplayClass54_0' + IL_00fc: ldtoken ExpressionTrees/'<>c__DisplayClass55_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 ExpressionTrees/'<>c__DisplayClass54_0'::i + IL_010b: ldtoken field int32 ExpressionTrees/'<>c__DisplayClass55_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) diff --git a/ICSharpCode.Decompiler/IL/Transforms/TransformExpressionTrees.cs b/ICSharpCode.Decompiler/IL/Transforms/TransformExpressionTrees.cs index ecbdbeae0..985254f82 100644 --- a/ICSharpCode.Decompiler/IL/Transforms/TransformExpressionTrees.cs +++ b/ICSharpCode.Decompiler/IL/Transforms/TransformExpressionTrees.cs @@ -21,6 +21,8 @@ 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; @@ -93,11 +95,13 @@ namespace ICSharpCode.Decompiler.IL.Transforms 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(); @@ -248,7 +252,7 @@ namespace ICSharpCode.Decompiler.IL.Transforms case "GreaterThan": return ConvertComparison(invocation, ComparisonKind.GreaterThan); case "GreaterThanOrEqual": - return ConvertComparison(invocation, ComparisonKind.GreaterThanOrEqual); + return ConvertComparison(invocation, ComparisonKind.GreaterThanOrEqual); case "Invoke": return ConvertInvoke(invocation); case "Lambda": @@ -534,6 +538,28 @@ namespace ICSharpCode.Decompiler.IL.Transforms } 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); } From 2b669debdbf70b5c921212008584595397e6f316 Mon Sep 17 00:00:00 2001 From: Siegfried Pammer Date: Sat, 25 Nov 2017 19:32:39 +0100 Subject: [PATCH 15/17] Extend expression tree tests --- .../TestCases/Pretty/ExpressionTrees.cs | 978 +- .../TestCases/Pretty/ExpressionTrees.il | 6341 +++++++- .../TestCases/Pretty/ExpressionTrees.opt.il | 5993 +++++++- .../Pretty/ExpressionTrees.opt.roslyn.il | 12624 +++++++++++----- .../Pretty/ExpressionTrees.roslyn.il | 6817 +++++++-- .../IL/Transforms/TransformExpressionTrees.cs | 2 +- 6 files changed, 26593 insertions(+), 6162 deletions(-) diff --git a/ICSharpCode.Decompiler.Tests/TestCases/Pretty/ExpressionTrees.cs b/ICSharpCode.Decompiler.Tests/TestCases/Pretty/ExpressionTrees.cs index b82943af8..5996351a4 100644 --- a/ICSharpCode.Decompiler.Tests/TestCases/Pretty/ExpressionTrees.cs +++ b/ICSharpCode.Decompiler.Tests/TestCases/Pretty/ExpressionTrees.cs @@ -22,87 +22,100 @@ using System.Linq; using System.Linq.Expressions; using System.Xml; -public class ExpressionTrees +namespace ICSharpCode.Decompiler.Tests.TestCases.Pretty { - private class GenericClass + + public class ExpressionTrees { - public static X StaticField; - public X InstanceField; + private class GenericClass + { + public static X StaticField; + public X InstanceField; - public static X StaticProperty { - get; - set; + public static X StaticProperty { + get; + set; + } + + public X InstanceProperty { + get; + set; + } + + public static bool GenericMethod() + { + return false; + } } - public X InstanceProperty { - get; - set; + private int field; + + private static object ToCode(object x, Expression> expr) + { + return expr; } - public static bool GenericMethod() + private static object ToCode(object x, Expression> expr) { - return false; + return expr; } - } - - 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] { + 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] { + } + + public void ArrayLengthAndDoubles() + { + ExpressionTrees.ToCode(ExpressionTrees.X(), () => new double[3] { 1.0, 2.01, 3.5 @@ -110,42 +123,42 @@ public class ExpressionTrees 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 { + } + + 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 @@ -159,184 +172,184 @@ public class ExpressionTrees 4 } }.Count == 3); - } - - public void ListInitializer2() - { - ExpressionTrees.ToCode(ExpressionTrees.X(), () => new List(50) { + } + + public void ListInitializer2() + { + ExpressionTrees.ToCode(ExpressionTrees.X(), () => new List(50) { 1, 2, 3 }.Count == 3); - } - - public void ListInitializer3() - { - ExpressionTrees.ToCode(ExpressionTrees.X(), () => new List { + } + + 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] { + 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] { + } + + 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] { + + 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] { + + 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] { + 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); - } + public void CurriedLambda() + { + ExpressionTrees.ToCode(ExpressionTrees.X(), (Expression>>>)((int a) => (int b) => (int c) => a + b + c)); + } - private bool Buzz(Func a) - { - return a(42); - } + private bool Fizz(Func a) + { + return a(42); + } - private bool Fizz(Func a) - { - return a("42"); - } + private bool Buzz(Func a) + { + return a(42); + } - private bool Fizz(Func a) - { - return a(null); - } + private bool Fizz(Func a) + { + return a("42"); + } - 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] { + 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 @@ -345,113 +358,404 @@ public class ExpressionTrees 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" + } + + 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 + }); } - 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() + + internal class MyClass { - ExpressionTrees.ToCode(ExpressionTrees.X(), () => new Type[2] { - typeof(int), - typeof(string) - }); + public static MyClass operator +(MyClass a, MyClass b) + { + return new MyClass(); + } } - - public void StaticCallImplicitCast() + + internal class SimpleType { - ExpressionTrees.ToCode(ExpressionTrees.X(), () => object.Equals(3, 0)); + 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; + } } - - public void StaticMembers() + + internal class SimpleTypeWithCtor { - ExpressionTrees.ToCode(ExpressionTrees.X(), () => (DateTime.Now > DateTime.Now + TimeSpan.FromMilliseconds(10.001)).ToString() == "False"); + public SimpleTypeWithCtor(int i) + { + } } - - public void Strings() + + internal class SimpleTypeWithMultipleCtors { - 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 SimpleTypeWithMultipleCtors() + { + } + + public SimpleTypeWithMultipleCtors(int i) + { + } } - - public void GenericClassInstance() + + internal class GenericClassWithCtor { - ExpressionTrees.ToCode(ExpressionTrees.X(), () => (double)new GenericClass().InstanceField + new GenericClass().InstanceProperty); } - - public void GenericClassStatic() + + internal class GenericClassWithMultipleCtors { - ExpressionTrees.ToCode(ExpressionTrees.X(), () => (double)GenericClass.StaticField + GenericClass.StaticProperty); + public GenericClassWithMultipleCtors() + { + } + + public GenericClassWithMultipleCtors(int x) + { + } } - - public void InvokeGenericMethod() + + internal class GenericClass { - ExpressionTrees.ToCode(ExpressionTrees.X(), () => GenericClass.GenericMethod()); } -} +} \ No newline at end of file diff --git a/ICSharpCode.Decompiler.Tests/TestCases/Pretty/ExpressionTrees.il b/ICSharpCode.Decompiler.Tests/TestCases/Pretty/ExpressionTrees.il index 4b08b380b..75cd310b8 100644 --- a/ICSharpCode.Decompiler.Tests/TestCases/Pretty/ExpressionTrees.il +++ b/ICSharpCode.Decompiler.Tests/TestCases/Pretty/ExpressionTrees.il @@ -20,30 +20,30 @@ .publickeytoken = (B7 7A 5C 56 19 34 E0 89 ) // .z\V.4.. .ver 4:0:0:0 } -.assembly gj2fd1ss +.assembly '3qhjq0hu' { - .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilationRelaxationsAttribute::.ctor(int32) = ( 01 00 08 00 00 00 00 00 ) .custom instance void [mscorlib]System.Runtime.CompilerServices.RuntimeCompatibilityAttribute::.ctor() = ( 01 00 01 00 54 02 16 57 72 61 70 4E 6F 6E 45 78 // ....T..WrapNonEx 63 65 70 74 69 6F 6E 54 68 72 6F 77 73 01 ) // ceptionThrows. + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilationRelaxationsAttribute::.ctor(int32) = ( 01 00 08 00 00 00 00 00 ) .permissionset reqmin = {[mscorlib]System.Security.Permissions.SecurityPermissionAttribute = {property bool 'SkipVerification' = bool(true)}} .hash algorithm 0x00008004 .ver 0:0:0:0 } -.module gj2fd1ss.dll -// MVID: {611E022F-FB4E-4130-A180-D0169E711557} +.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: 0x03390000 +// Image base: 0x02FC0000 // =============== CLASS MEMBERS DECLARATION =================== -.class public auto ansi beforefieldinit ExpressionTrees +.class public auto ansi beforefieldinit ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees extends [mscorlib]System.Object { .class auto ansi nested private beforefieldinit GenericClass`1 @@ -62,7 +62,7 @@ // Code size 10 (0xa) .maxstack 1 .locals init (!X V_0) - IL_0000: ldsfld !0 class ExpressionTrees/GenericClass`1::'k__BackingField' + 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 @@ -77,7 +77,7 @@ // Code size 7 (0x7) .maxstack 8 IL_0000: ldarg.0 - IL_0001: stsfld !0 class ExpressionTrees/GenericClass`1::'k__BackingField' + 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 @@ -89,7 +89,7 @@ .maxstack 1 .locals init (!X V_0) IL_0000: ldarg.0 - IL_0001: ldfld !0 class ExpressionTrees/GenericClass`1::'k__BackingField' + 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 @@ -105,7 +105,7 @@ .maxstack 8 IL_0000: ldarg.0 IL_0001: ldarg.1 - IL_0002: stfld !0 class ExpressionTrees/GenericClass`1::'k__BackingField' + 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 @@ -136,13 +136,13 @@ .property !X StaticProperty() { - .get !X ExpressionTrees/GenericClass`1::get_StaticProperty() - .set void ExpressionTrees/GenericClass`1::set_StaticProperty(!X) + .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 ExpressionTrees/GenericClass`1::set_InstanceProperty(!X) - .get instance !X ExpressionTrees/GenericClass`1::get_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 @@ -338,6 +338,38 @@ } // 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 ) @@ -345,6 +377,144 @@ .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 @@ -377,6 +547,22 @@ 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 { @@ -397,17 +583,17 @@ { // Code size 59 (0x3b) .maxstack 3 - .locals init (class ExpressionTrees/'<>c__DisplayClass0' V_0) - IL_0000: newobj instance void ExpressionTrees/'<>c__DisplayClass0'::.ctor() + .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 ExpressionTrees/'<>c__DisplayClass0'::a + IL_0008: stfld bool ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass0'::a IL_000d: nop - IL_000e: call object ExpressionTrees::X() + 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 ExpressionTrees/'<>c__DisplayClass0'::a + 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) @@ -415,8 +601,8 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 @@ -427,17 +613,17 @@ { // Code size 59 (0x3b) .maxstack 3 - .locals init (class ExpressionTrees/'<>c__DisplayClass2' V_0) - IL_0000: newobj instance void ExpressionTrees/'<>c__DisplayClass2'::.ctor() + .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 ExpressionTrees/'<>c__DisplayClass2'::a - IL_000e: call object ExpressionTrees::X() + 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 ExpressionTrees/'<>c__DisplayClass2'::a + 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) @@ -445,8 +631,8 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 @@ -460,7 +646,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: call object ExpressionTrees::X() + 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" @@ -478,8 +664,8 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 @@ -489,14 +675,14 @@ { // Code size 111 (0x6f) .maxstack 4 - .locals init (class ExpressionTrees/'<>c__DisplayClass4' V_0) - IL_0000: newobj instance void ExpressionTrees/'<>c__DisplayClass4'::.ctor() + .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 ExpressionTrees/'<>c__DisplayClass4'::x + IL_0008: stfld int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass4'::x IL_000d: nop - IL_000e: call object ExpressionTrees::X() + 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 @@ -505,7 +691,7 @@ 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 ExpressionTrees/'<>c__DisplayClass4'::x + 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) @@ -523,8 +709,8 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 @@ -538,7 +724,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 ExpressionTrees::X() + 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' @@ -593,8 +779,8 @@ 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 ExpressionTrees::ToCodef__AnonymousType0`2'>(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 @@ -606,7 +792,7 @@ .maxstack 6 .locals init (class [System.Core]System.Linq.Expressions.Expression[] V_0) IL_0000: nop - IL_0001: call object ExpressionTrees::X() + 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 @@ -680,8 +866,8 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 @@ -695,7 +881,7 @@ 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 ExpressionTrees::X() + 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) @@ -794,8 +980,8 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 @@ -806,7 +992,7 @@ // Code size 65 (0x41) .maxstack 3 IL_0000: nop - IL_0001: call object ExpressionTrees::X() + 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 @@ -822,8 +1008,8 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 @@ -837,7 +1023,7 @@ 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 ExpressionTrees::X() + 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" @@ -886,8 +1072,8 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 @@ -900,7 +1086,7 @@ .locals init (class [System.Core]System.Linq.Expressions.Expression[] V_0, valuetype [mscorlib]System.TimeSpan V_1) IL_0000: nop - IL_0001: call object ExpressionTrees::X() + IL_0001: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() IL_0006: ldtoken method instance void [mscorlib]System.TimeSpan::.ctor(int32, int32, int32) @@ -960,8 +1146,8 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 @@ -973,7 +1159,7 @@ .maxstack 7 .locals init (class [System.Core]System.Linq.Expressions.Expression[] V_0) IL_0000: nop - IL_0001: call object ExpressionTrees::X() + 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 @@ -1008,8 +1194,8 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 @@ -1019,9 +1205,9 @@ { // Code size 184 (0xb8) .maxstack 7 - .locals init (class ExpressionTrees/'<>c__DisplayClass8' V_0, + .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 ExpressionTrees/'<>c__DisplayClass8'::.ctor() + 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 @@ -1029,24 +1215,24 @@ 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 ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate7' + 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 ExpressionTrees::'b__6'(int32) + 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 ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate7' + 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 ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate7' + 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 ExpressionTrees/'<>c__DisplayClass8'::dict - IL_0039: call object ExpressionTrees::X() + 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 ExpressionTrees/'<>c__DisplayClass8'::dict + 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) @@ -1082,8 +1268,8 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 @@ -1095,7 +1281,7 @@ // Code size 65 (0x41) .maxstack 3 IL_0000: nop - IL_0001: call object ExpressionTrees::X() + 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 @@ -1111,8 +1297,8 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 @@ -1125,7 +1311,7 @@ .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 ExpressionTrees::X() + 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, @@ -1259,8 +1445,8 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 @@ -1273,7 +1459,7 @@ .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 ExpressionTrees::X() + 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, @@ -1388,8 +1574,8 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 @@ -1402,7 +1588,7 @@ .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 ExpressionTrees::X() + 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, @@ -1506,8 +1692,8 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 @@ -1519,7 +1705,7 @@ .maxstack 6 .locals init (class [System.Core]System.Linq.Expressions.Expression[] V_0) IL_0000: nop - IL_0001: call object ExpressionTrees::X() + 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) @@ -1565,8 +1751,8 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 @@ -1578,7 +1764,7 @@ .maxstack 7 .locals init (class [System.Core]System.Linq.Expressions.Expression[] V_0) IL_0000: nop - IL_0001: call object ExpressionTrees::X() + 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) @@ -1619,8 +1805,8 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 @@ -1630,17 +1816,17 @@ { // Code size 378 (0x17a) .maxstack 8 - .locals init (class ExpressionTrees/'<>c__DisplayClassa' V_0) - IL_0000: newobj instance void ExpressionTrees/'<>c__DisplayClassa'::.ctor() + .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 ExpressionTrees/'<>c__DisplayClassa'::i + 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 ExpressionTrees/'<>c__DisplayClassa'::x - IL_0019: call object ExpressionTrees::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) @@ -1648,7 +1834,7 @@ 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 ExpressionTrees/'<>c__DisplayClassa'::x + 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) @@ -1656,7 +1842,7 @@ 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 ExpressionTrees/'<>c__DisplayClassa'::x + 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) @@ -1701,7 +1887,7 @@ 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 ExpressionTrees/'<>c__DisplayClassa'::i + 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) @@ -1742,8 +1928,8 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 @@ -1754,17 +1940,17 @@ { // Code size 106 (0x6a) .maxstack 4 - .locals init (class ExpressionTrees/'<>c__DisplayClassc' V_0) - IL_0000: newobj instance void ExpressionTrees/'<>c__DisplayClassc'::.ctor() + .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 ExpressionTrees/'<>c__DisplayClassc'::z - IL_000f: call object ExpressionTrees::X() + 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 ExpressionTrees/'<>c__DisplayClassc'::z + 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) @@ -1785,8 +1971,8 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 @@ -1799,7 +1985,7 @@ .maxstack 7 .locals init (class [System.Core]System.Linq.Expressions.Expression[] V_0) IL_0000: nop - IL_0001: call object ExpressionTrees::X() + 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 @@ -1827,10 +2013,10 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 ExpressionTrees::X() + 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 @@ -1864,10 +2050,10 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 ExpressionTrees::X() + 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) @@ -1890,10 +2076,10 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 ExpressionTrees::X() + 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 @@ -1931,8 +2117,8 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 @@ -1945,7 +2131,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 ExpressionTrees::X() + 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 @@ -1972,10 +2158,10 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 ExpressionTrees::X() + 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 @@ -1999,10 +2185,10 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 ExpressionTrees::X() + 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 @@ -2018,10 +2204,10 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 ExpressionTrees::X() + 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 @@ -2039,10 +2225,10 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 ExpressionTrees::X() + 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 @@ -2069,10 +2255,10 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 ExpressionTrees::X() + 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 @@ -2103,10 +2289,10 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 ExpressionTrees::X() + 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 @@ -2127,8 +2313,8 @@ 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 ExpressionTrees::ToCode>(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 @@ -2140,24 +2326,24 @@ .maxstack 8 .locals init (class [System.Core]System.Linq.Expressions.Expression[] V_0) IL_0000: nop - IL_0001: call object ExpressionTrees::X() + IL_0001: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() IL_0006: ldarg.0 - IL_0007: box ExpressionTrees - IL_000c: ldtoken ExpressionTrees + 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 ExpressionTrees::'field' + 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 ExpressionTrees - IL_0030: ldtoken ExpressionTrees + 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 ExpressionTrees::C() + 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 @@ -2171,10 +2357,10 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 ExpressionTrees::X() + 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) @@ -2186,15 +2372,15 @@ IL_008b: ldloc.0 IL_008c: ldc.i4.0 IL_008d: ldarg.0 - IL_008e: box ExpressionTrees - IL_0093: ldtoken ExpressionTrees + 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 ExpressionTrees::.ctor() + 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 @@ -2211,17 +2397,17 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 ExpressionTrees::X() + IL_00dc: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() IL_00e1: ldarg.0 - IL_00e2: box ExpressionTrees - IL_00e7: ldtoken ExpressionTrees + 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 ExpressionTrees::MyEquals(class ExpressionTrees) + 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 @@ -2230,8 +2416,8 @@ IL_010c: ldloc.0 IL_010d: ldc.i4.0 IL_010e: ldarg.0 - IL_010f: box ExpressionTrees - IL_0114: ldtoken ExpressionTrees + 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) @@ -2241,12 +2427,12 @@ class [mscorlib]System.Reflection.MethodInfo, class [System.Core]System.Linq.Expressions.Expression[]) IL_012a: ldarg.0 - IL_012b: box ExpressionTrees - IL_0130: ldtoken ExpressionTrees + 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 ExpressionTrees::MyEquals(class ExpressionTrees) + 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 @@ -2255,8 +2441,8 @@ IL_0155: ldloc.0 IL_0156: ldc.i4.0 IL_0157: ldnull - IL_0158: box ExpressionTrees - IL_015d: ldtoken ExpressionTrees + 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) @@ -2272,8 +2458,8 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 @@ -2289,7 +2475,7 @@ } // end of method ExpressionTrees::C .method private hidebysig instance bool - MyEquals(class ExpressionTrees other) cil managed + MyEquals(class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees other) cil managed { // Code size 7 (0x7) .maxstack 8 @@ -2306,7 +2492,7 @@ .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 ExpressionTrees::X() + 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 @@ -2395,8 +2581,8 @@ 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 ExpressionTrees::ToCode>(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 @@ -2406,13 +2592,13 @@ { // Code size 900 (0x384) .maxstack 11 - .locals init (class ExpressionTrees/'<>c__DisplayClass10' V_0, + .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 ExpressionTrees/'<>c__DisplayClass10'::.ctor() + 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 ExpressionTrees::X() + 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) @@ -2520,13 +2706,13 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 ExpressionTrees/'<>c__DisplayClass10'::set - IL_0154: call object ExpressionTrees::X() + 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) @@ -2615,7 +2801,7 @@ 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 ExpressionTrees/'<>c__DisplayClass10'::set + 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) @@ -2637,26 +2823,26 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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> ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegatef' + 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 ExpressionTrees::'b__e'(class [mscorlib]System.Func`3) + 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> ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegatef' + 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> ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegatef' - IL_02c0: stfld class [mscorlib]System.Func`2,bool> ExpressionTrees/'<>c__DisplayClass10'::sink - IL_02c5: call object ExpressionTrees::X() + 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> ExpressionTrees/'<>c__DisplayClass10'::sink + 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) @@ -2715,8 +2901,8 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 @@ -2728,7 +2914,7 @@ // Code size 101 (0x65) .maxstack 4 IL_0000: nop - IL_0001: call object ExpressionTrees::X() + 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 @@ -2755,8 +2941,8 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 @@ -2767,7 +2953,7 @@ // Code size 143 (0x8f) .maxstack 4 IL_0000: nop - IL_0001: call object ExpressionTrees::X() + 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 @@ -2807,8 +2993,8 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 @@ -2818,32 +3004,32 @@ { // Code size 562 (0x232) .maxstack 10 - .locals init (class ExpressionTrees/'<>c__DisplayClass14' V_0, + .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 ExpressionTrees/'<>c__DisplayClass14'::.ctor() + 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> ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate13' + 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 ExpressionTrees::'b__12'(class [mscorlib]System.Func`1) + 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> ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate13' + 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> ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate13' - IL_0027: stfld class [mscorlib]System.Func`2,int32> ExpressionTrees/'<>c__DisplayClass14'::'call' - IL_002c: call object ExpressionTrees::X() + 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> ExpressionTrees/'<>c__DisplayClass14'::'call' + 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) @@ -2870,10 +3056,10 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 ExpressionTrees::X() + 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) @@ -2947,10 +3133,10 @@ 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 ExpressionTrees::ToCode>(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 ExpressionTrees::X() + 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) @@ -3034,8 +3220,8 @@ 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 ExpressionTrees::ToCode>(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 @@ -3051,7 +3237,7 @@ 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 ExpressionTrees::X() + 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" @@ -3107,8 +3293,8 @@ 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 ExpressionTrees::ToCode>>(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 @@ -3191,14 +3377,14 @@ 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 ExpressionTrees::X() + IL_0001: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() IL_0006: ldarg.0 - IL_0007: box ExpressionTrees - IL_000c: ldtoken ExpressionTrees + 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 ExpressionTrees::Fizz(class [mscorlib]System.Func`2) + 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 @@ -3246,17 +3432,17 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 ExpressionTrees::X() + IL_009b: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() IL_00a0: ldarg.0 - IL_00a1: box ExpressionTrees - IL_00a6: ldtoken ExpressionTrees + 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 ExpressionTrees::Fizz(class [mscorlib]System.Func`2) + 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 @@ -3304,17 +3490,17 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 ExpressionTrees::X() + IL_0135: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() IL_013a: ldarg.0 - IL_013b: box ExpressionTrees - IL_0140: ldtoken ExpressionTrees + 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 ExpressionTrees::Fizz(class [mscorlib]System.Func`2) + 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 @@ -3329,7 +3515,7 @@ string) IL_017b: stloc.1 IL_017c: ldloc.1 - IL_017d: ldtoken method instance void ExpressionTrees::NestedLambda2() + 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 @@ -3357,8 +3543,8 @@ IL_01d7: ldloc.3 IL_01d8: ldc.i4.1 IL_01d9: ldarg.0 - IL_01da: box ExpressionTrees - IL_01df: ldtoken ExpressionTrees + 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) @@ -3399,17 +3585,17 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 ExpressionTrees::X() + IL_0242: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() IL_0247: ldarg.0 - IL_0248: box ExpressionTrees - IL_024d: ldtoken ExpressionTrees + 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 ExpressionTrees::Fizz(class [mscorlib]System.Func`2) + 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 @@ -3424,7 +3610,7 @@ string) IL_0288: stloc.1 IL_0289: ldloc.1 - IL_028a: ldtoken method instance void ExpressionTrees::NestedLambda2() + 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 @@ -3452,8 +3638,8 @@ IL_02e4: ldloc.3 IL_02e5: ldc.i4.1 IL_02e6: ldarg.0 - IL_02e7: box ExpressionTrees - IL_02ec: ldtoken ExpressionTrees + 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) @@ -3494,17 +3680,17 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 ExpressionTrees::X() + IL_034f: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() IL_0354: ldarg.0 - IL_0355: box ExpressionTrees - IL_035a: ldtoken ExpressionTrees + 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 ExpressionTrees::Fizz(class [mscorlib]System.Func`2) + 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 @@ -3546,17 +3732,17 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 ExpressionTrees::X() + IL_03db: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() IL_03e0: ldarg.0 - IL_03e1: box ExpressionTrees - IL_03e6: ldtoken ExpressionTrees + 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 ExpressionTrees::Fizz(class [mscorlib]System.Func`2) + 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 @@ -3595,17 +3781,17 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 ExpressionTrees::X() + IL_0460: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() IL_0465: ldarg.0 - IL_0466: box ExpressionTrees - IL_046b: ldtoken ExpressionTrees + 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 ExpressionTrees::Buzz(class [mscorlib]System.Func`2) + 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 @@ -3644,8 +3830,8 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 @@ -3658,7 +3844,7 @@ .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 ExpressionTrees::X() + 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) @@ -3751,8 +3937,8 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 @@ -3764,7 +3950,7 @@ .maxstack 6 .locals init (class [System.Core]System.Linq.Expressions.Expression[] V_0) IL_0000: nop - IL_0001: call object ExpressionTrees::X() + 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 @@ -3808,8 +3994,8 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 @@ -3820,7 +4006,7 @@ // Code size 81 (0x51) .maxstack 4 IL_0000: nop - IL_0001: call object ExpressionTrees::X() + 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 @@ -3841,8 +4027,8 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 @@ -3852,23 +4038,23 @@ { // Code size 242 (0xf2) .maxstack 4 - .locals init (class ExpressionTrees/'<>c__DisplayClass16' V_0) - IL_0000: newobj instance void ExpressionTrees/'<>c__DisplayClass16'::.ctor() + .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 ExpressionTrees/'<>c__DisplayClass16'::x + 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 ExpressionTrees/'<>c__DisplayClass16'::y + 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 ExpressionTrees/'<>c__DisplayClass16'::z - IL_001d: call object ExpressionTrees::X() + 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 ExpressionTrees/'<>c__DisplayClass16'::z + 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) @@ -3889,13 +4075,13 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 ExpressionTrees::X() + 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 ExpressionTrees/'<>c__DisplayClass16'::y + 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) @@ -3912,13 +4098,13 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 ExpressionTrees::X() + 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 ExpressionTrees/'<>c__DisplayClass16'::x + 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) @@ -3927,8 +4113,8 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 @@ -3940,10 +4126,10 @@ // Code size 279 (0x117) .maxstack 7 .locals init (class [System.Xml]System.Xml.XmlReaderSettings V_0, - class ExpressionTrees/'<>c__DisplayClass19' V_1, + 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 ExpressionTrees/'<>c__DisplayClass19'::.ctor() + 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 @@ -3958,8 +4144,8 @@ 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 ExpressionTrees/'<>c__DisplayClass19'::s - IL_0024: call object ExpressionTrees::X() + 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 @@ -3977,7 +4163,7 @@ 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 ExpressionTrees/'<>c__DisplayClass19'::s + 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) @@ -3996,7 +4182,7 @@ 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 ExpressionTrees/'<>c__DisplayClass19'::s + 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) @@ -4021,7 +4207,7 @@ 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 ExpressionTrees/'<>c__DisplayClass19'::s + 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) @@ -4034,8 +4220,8 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 @@ -4050,7 +4236,7 @@ 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 ExpressionTrees::X() + 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" @@ -4111,8 +4297,8 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 @@ -4124,10 +4310,10 @@ .maxstack 8 .locals init (class [System.Core]System.Linq.Expressions.Expression[] V_0) IL_0000: nop - IL_0001: call object ExpressionTrees::X() + IL_0001: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() IL_0006: ldnull - IL_0007: ldtoken method object ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 @@ -4136,7 +4322,7 @@ IL_001d: ldloc.0 IL_001e: ldc.i4.0 IL_001f: ldnull - IL_0020: ldtoken method object ExpressionTrees::X() + 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 @@ -4186,8 +4372,8 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 @@ -4205,7 +4391,7 @@ 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 ExpressionTrees::X() + 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) @@ -4341,8 +4527,8 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 @@ -4354,7 +4540,7 @@ .maxstack 7 .locals init (class [System.Core]System.Linq.Expressions.Expression[] V_0) IL_0000: nop - IL_0001: call object ExpressionTrees::X() + 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) @@ -4397,8 +4583,8 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 @@ -4410,10 +4596,10 @@ .maxstack 7 .locals init (class [System.Core]System.Linq.Expressions.Expression[] V_0) IL_0000: nop - IL_0001: call object ExpressionTrees::X() + IL_0001: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() IL_0006: ldarg.0 - IL_0007: box ExpressionTrees - IL_000c: ldtoken ExpressionTrees + 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) @@ -4445,8 +4631,8 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 @@ -4458,7 +4644,7 @@ .maxstack 7 .locals init (class [System.Core]System.Linq.Expressions.Expression[] V_0) IL_0000: nop - IL_0001: call object ExpressionTrees::X() + 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) @@ -4470,8 +4656,8 @@ IL_001d: ldloc.0 IL_001e: ldc.i4.0 IL_001f: ldarg.0 - IL_0020: box ExpressionTrees - IL_0025: ldtoken ExpressionTrees + 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) @@ -4497,8 +4683,8 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 @@ -4510,7 +4696,7 @@ .maxstack 6 .locals init (class [System.Core]System.Linq.Expressions.Expression[] V_0) IL_0000: nop - IL_0001: call object ExpressionTrees::X() + 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 @@ -4543,8 +4729,8 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 @@ -4556,7 +4742,7 @@ .maxstack 7 .locals init (class [System.Core]System.Linq.Expressions.Expression[] V_0) IL_0000: nop - IL_0001: call object ExpressionTrees::X() + 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) @@ -4599,8 +4785,8 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 @@ -4612,7 +4798,7 @@ .maxstack 9 .locals init (class [System.Core]System.Linq.Expressions.Expression[] V_0) IL_0000: nop - IL_0001: call object ExpressionTrees::X() + 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) @@ -4687,8 +4873,8 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 @@ -4698,17 +4884,17 @@ { // Code size 378 (0x17a) .maxstack 8 - .locals init (class ExpressionTrees/'<>c__DisplayClass1b' V_0) - IL_0000: newobj instance void ExpressionTrees/'<>c__DisplayClass1b'::.ctor() + .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 ExpressionTrees/'<>c__DisplayClass1b'::i + 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 ExpressionTrees/'<>c__DisplayClass1b'::x - IL_0019: call object ExpressionTrees::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) @@ -4716,7 +4902,7 @@ 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 ExpressionTrees/'<>c__DisplayClass1b'::x + 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) @@ -4724,7 +4910,7 @@ 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 ExpressionTrees/'<>c__DisplayClass1b'::x + 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) @@ -4769,7 +4955,7 @@ 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 ExpressionTrees/'<>c__DisplayClass1b'::i + 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) @@ -4810,8 +4996,8 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 @@ -4823,9 +5009,9 @@ // Code size 151 (0x97) .maxstack 5 IL_0000: nop - IL_0001: call object ExpressionTrees::X() - IL_0006: ldtoken method instance void class ExpressionTrees/GenericClass`1::.ctor() - IL_000b: ldtoken class ExpressionTrees/GenericClass`1 + 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 @@ -4833,8 +5019,8 @@ 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 ExpressionTrees/GenericClass`1::InstanceField - IL_002a: ldtoken class ExpressionTrees/GenericClass`1 + 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, @@ -4843,8 +5029,8 @@ 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 ExpressionTrees/GenericClass`1::.ctor() - IL_004d: ldtoken class ExpressionTrees/GenericClass`1 + 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 @@ -4852,8 +5038,8 @@ 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 ExpressionTrees/GenericClass`1::get_InstanceProperty() - IL_006c: ldtoken class ExpressionTrees/GenericClass`1 + 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 @@ -4865,8 +5051,8 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 @@ -4877,10 +5063,10 @@ // Code size 91 (0x5b) .maxstack 5 IL_0000: nop - IL_0001: call object ExpressionTrees::X() + IL_0001: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() IL_0006: ldnull - IL_0007: ldtoken field !0 class ExpressionTrees/GenericClass`1::StaticField - IL_000c: ldtoken class ExpressionTrees/GenericClass`1 + 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, @@ -4890,8 +5076,8 @@ 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 ExpressionTrees/GenericClass`1::get_StaticProperty() - IL_0030: ldtoken class ExpressionTrees/GenericClass`1 + 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 @@ -4903,8 +5089,8 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 @@ -4915,10 +5101,10 @@ // Code size 56 (0x38) .maxstack 8 IL_0000: nop - IL_0001: call object ExpressionTrees::X() + IL_0001: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() IL_0006: ldnull - IL_0007: ldtoken method bool class ExpressionTrees/GenericClass`1::GenericMethod() - IL_000c: ldtoken class ExpressionTrees/GenericClass`1 + 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 @@ -4931,73 +5117,5192 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 public hidebysig specialname rtspecialname - instance void .ctor() cil managed + .method private hidebysig static void Test(!!T delegateExpression, + class [System.Core]System.Linq.Expressions.Expression`1 expressionTree) cil managed { - // Code size 7 (0x7) + // Code size 2 (0x2) .maxstack 8 - IL_0000: ldarg.0 - IL_0001: call instance void [mscorlib]System.Object::.ctor() - IL_0006: ret - } // end of method ExpressionTrees::.ctor + IL_0000: nop + IL_0001: ret + } // end of method ExpressionTrees::Test - .method private hidebysig static string - 'b__6'(int32 n) cil managed + .method public hidebysig static void ArrayIndexer() 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' + // 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 private hidebysig static bool 'b__e'(class [mscorlib]System.Func`3 f) cil managed + .method public hidebysig static void NewObj() 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 + // 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_000b: ldloc.0 - IL_000c: ret - } // end of method ExpressionTrees::'b__e' + 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 private hidebysig static int32 - 'b__12'(class [mscorlib]System.Func`1 f) cil managed + .method public hidebysig static void TypeOfExpr() 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 + // 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' -} // end of class ExpressionTrees + .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 @@ -5371,8 +10676,214 @@ } // 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 index 79299c4ae..18d861a19 100644 --- a/ICSharpCode.Decompiler.Tests/TestCases/Pretty/ExpressionTrees.opt.il +++ b/ICSharpCode.Decompiler.Tests/TestCases/Pretty/ExpressionTrees.opt.il @@ -20,30 +20,30 @@ .publickeytoken = (B7 7A 5C 56 19 34 E0 89 ) // .z\V.4.. .ver 4:0:0:0 } -.assembly '0rzgxc1i' +.assembly tngduxjw { - .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilationRelaxationsAttribute::.ctor(int32) = ( 01 00 08 00 00 00 00 00 ) .custom instance void [mscorlib]System.Runtime.CompilerServices.RuntimeCompatibilityAttribute::.ctor() = ( 01 00 01 00 54 02 16 57 72 61 70 4E 6F 6E 45 78 // ....T..WrapNonEx 63 65 70 74 69 6F 6E 54 68 72 6F 77 73 01 ) // ceptionThrows. + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilationRelaxationsAttribute::.ctor(int32) = ( 01 00 08 00 00 00 00 00 ) .permissionset reqmin = {[mscorlib]System.Security.Permissions.SecurityPermissionAttribute = {property bool 'SkipVerification' = bool(true)}} .hash algorithm 0x00008004 .ver 0:0:0:0 } -.module '0rzgxc1i.dll' -// MVID: {F81FAFBD-2291-4778-9F86-AC124E94C7DB} +.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: 0x02CE0000 +// Image base: 0x04A60000 // =============== CLASS MEMBERS DECLARATION =================== -.class public auto ansi beforefieldinit ExpressionTrees +.class public auto ansi beforefieldinit ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees extends [mscorlib]System.Object { .class auto ansi nested private beforefieldinit GenericClass`1 @@ -61,7 +61,7 @@ .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) // Code size 6 (0x6) .maxstack 8 - IL_0000: ldsfld !0 class ExpressionTrees/GenericClass`1::'k__BackingField' + 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 @@ -72,7 +72,7 @@ // Code size 7 (0x7) .maxstack 8 IL_0000: ldarg.0 - IL_0001: stsfld !0 class ExpressionTrees/GenericClass`1::'k__BackingField' + 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 @@ -83,7 +83,7 @@ // Code size 7 (0x7) .maxstack 8 IL_0000: ldarg.0 - IL_0001: ldfld !0 class ExpressionTrees/GenericClass`1::'k__BackingField' + 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 @@ -95,7 +95,7 @@ .maxstack 8 IL_0000: ldarg.0 IL_0001: ldarg.1 - IL_0002: stfld !0 class ExpressionTrees/GenericClass`1::'k__BackingField' + 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 @@ -120,13 +120,13 @@ .property !X StaticProperty() { - .get !X ExpressionTrees/GenericClass`1::get_StaticProperty() - .set void ExpressionTrees/GenericClass`1::set_StaticProperty(!X) + .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 ExpressionTrees/GenericClass`1::set_InstanceProperty(!X) - .get instance !X ExpressionTrees/GenericClass`1::get_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 @@ -322,6 +322,33 @@ } // 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 ) @@ -329,6 +356,138 @@ .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 @@ -349,6 +508,16 @@ 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 { @@ -363,16 +532,16 @@ { // Code size 57 (0x39) .maxstack 3 - .locals init (class ExpressionTrees/'<>c__DisplayClass0' V_0) - IL_0000: newobj instance void ExpressionTrees/'<>c__DisplayClass0'::.ctor() + .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 ExpressionTrees/'<>c__DisplayClass0'::a - IL_000d: call object ExpressionTrees::X() + 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 ExpressionTrees/'<>c__DisplayClass0'::a + 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) @@ -380,8 +549,8 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 @@ -391,16 +560,16 @@ { // Code size 57 (0x39) .maxstack 3 - .locals init (class ExpressionTrees/'<>c__DisplayClass2' V_0) - IL_0000: newobj instance void ExpressionTrees/'<>c__DisplayClass2'::.ctor() + .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 ExpressionTrees/'<>c__DisplayClass2'::a - IL_000d: call object ExpressionTrees::X() + 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 ExpressionTrees/'<>c__DisplayClass2'::a + 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) @@ -408,8 +577,8 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 @@ -421,7 +590,7 @@ .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 ExpressionTrees::X() + 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" @@ -439,8 +608,8 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 @@ -450,13 +619,13 @@ { // Code size 109 (0x6d) .maxstack 4 - .locals init (class ExpressionTrees/'<>c__DisplayClass4' V_0) - IL_0000: newobj instance void ExpressionTrees/'<>c__DisplayClass4'::.ctor() + .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 ExpressionTrees/'<>c__DisplayClass4'::x - IL_000d: call object ExpressionTrees::X() + 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 @@ -465,7 +634,7 @@ 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 ExpressionTrees/'<>c__DisplayClass4'::x + 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) @@ -483,8 +652,8 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 @@ -496,7 +665,7 @@ .maxstack 7 .locals init (class [System.Core]System.Linq.Expressions.Expression[] V_0, class [mscorlib]System.Reflection.MethodInfo[] V_1) - IL_0000: call object ExpressionTrees::X() + 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' @@ -551,8 +720,8 @@ 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 ExpressionTrees::ToCodef__AnonymousType0`2'>(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 @@ -563,7 +732,7 @@ // Code size 232 (0xe8) .maxstack 6 .locals init (class [System.Core]System.Linq.Expressions.Expression[] V_0) - IL_0000: call object ExpressionTrees::X() + 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 @@ -637,8 +806,8 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 @@ -652,7 +821,7 @@ 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 ExpressionTrees::X() + 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) @@ -751,8 +920,8 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 @@ -762,7 +931,7 @@ { // Code size 64 (0x40) .maxstack 3 - IL_0000: call object ExpressionTrees::X() + 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 @@ -778,8 +947,8 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 @@ -792,7 +961,7 @@ .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 ExpressionTrees::X() + 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" @@ -841,8 +1010,8 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 @@ -854,7 +1023,7 @@ .maxstack 6 .locals init (class [System.Core]System.Linq.Expressions.Expression[] V_0, valuetype [mscorlib]System.TimeSpan V_1) - IL_0000: call object ExpressionTrees::X() + IL_0000: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() IL_0005: ldtoken method instance void [mscorlib]System.TimeSpan::.ctor(int32, int32, int32) @@ -914,8 +1083,8 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 @@ -926,7 +1095,7 @@ // Code size 116 (0x74) .maxstack 7 .locals init (class [System.Core]System.Linq.Expressions.Expression[] V_0) - IL_0000: call object ExpressionTrees::X() + 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 @@ -961,8 +1130,8 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 @@ -972,31 +1141,31 @@ { // Code size 180 (0xb4) .maxstack 7 - .locals init (class ExpressionTrees/'<>c__DisplayClass8' V_0, + .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 ExpressionTrees/'<>c__DisplayClass8'::.ctor() + 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 ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate7' + 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 ExpressionTrees::'b__6'(int32) + 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 ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate7' - IL_0027: ldsfld class [mscorlib]System.Func`2 ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate7' + 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 ExpressionTrees/'<>c__DisplayClass8'::dict - IL_0036: call object ExpressionTrees::X() + 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 ExpressionTrees/'<>c__DisplayClass8'::dict + 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) @@ -1032,8 +1201,8 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 @@ -1043,7 +1212,7 @@ { // Code size 64 (0x40) .maxstack 3 - IL_0000: call object ExpressionTrees::X() + 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 @@ -1059,8 +1228,8 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 @@ -1074,7 +1243,7 @@ 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 ExpressionTrees::X() + 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, @@ -1208,8 +1377,8 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 @@ -1224,7 +1393,7 @@ 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 ExpressionTrees::X() + 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, @@ -1339,8 +1508,8 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 @@ -1354,7 +1523,7 @@ 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 ExpressionTrees::X() + 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, @@ -1458,8 +1627,8 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 @@ -1470,7 +1639,7 @@ // Code size 146 (0x92) .maxstack 6 .locals init (class [System.Core]System.Linq.Expressions.Expression[] V_0) - IL_0000: call object ExpressionTrees::X() + 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) @@ -1516,8 +1685,8 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 @@ -1528,7 +1697,7 @@ // Code size 137 (0x89) .maxstack 7 .locals init (class [System.Core]System.Linq.Expressions.Expression[] V_0) - IL_0000: call object ExpressionTrees::X() + 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) @@ -1569,8 +1738,8 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 @@ -1580,16 +1749,16 @@ { // Code size 376 (0x178) .maxstack 8 - .locals init (class ExpressionTrees/'<>c__DisplayClassa' V_0) - IL_0000: newobj instance void ExpressionTrees/'<>c__DisplayClassa'::.ctor() + .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 ExpressionTrees/'<>c__DisplayClassa'::i + 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 ExpressionTrees/'<>c__DisplayClassa'::x - IL_0018: call object ExpressionTrees::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) @@ -1597,7 +1766,7 @@ 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 ExpressionTrees/'<>c__DisplayClassa'::x + 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) @@ -1605,7 +1774,7 @@ 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 ExpressionTrees/'<>c__DisplayClassa'::x + 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) @@ -1650,7 +1819,7 @@ 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 ExpressionTrees/'<>c__DisplayClassa'::i + 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) @@ -1691,8 +1860,8 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 @@ -1702,16 +1871,16 @@ { // Code size 104 (0x68) .maxstack 4 - .locals init (class ExpressionTrees/'<>c__DisplayClassc' V_0) - IL_0000: newobj instance void ExpressionTrees/'<>c__DisplayClassc'::.ctor() + .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 ExpressionTrees/'<>c__DisplayClassc'::z - IL_000e: call object ExpressionTrees::X() + 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 ExpressionTrees/'<>c__DisplayClassc'::z + 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) @@ -1732,8 +1901,8 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 @@ -1745,7 +1914,7 @@ .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 ExpressionTrees::X() + 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 @@ -1773,10 +1942,10 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 ExpressionTrees::X() + 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 @@ -1810,10 +1979,10 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 ExpressionTrees::X() + 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) @@ -1836,10 +2005,10 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 ExpressionTrees::X() + 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 @@ -1877,8 +2046,8 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 @@ -1890,7 +2059,7 @@ .maxstack 7 .locals init (valuetype [mscorlib]System.DateTime V_0, class [System.Core]System.Linq.Expressions.Expression[] V_1) - IL_0000: call object ExpressionTrees::X() + 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 @@ -1917,10 +2086,10 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 ExpressionTrees::X() + 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 @@ -1944,10 +2113,10 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 ExpressionTrees::X() + 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 @@ -1963,10 +2132,10 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 ExpressionTrees::X() + 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 @@ -1984,10 +2153,10 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 ExpressionTrees::X() + 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 @@ -2014,10 +2183,10 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 ExpressionTrees::X() + 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 @@ -2048,10 +2217,10 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 ExpressionTrees::X() + 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 @@ -2072,8 +2241,8 @@ 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 ExpressionTrees::ToCode>(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 @@ -2086,24 +2255,24 @@ .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 ExpressionTrees::X() + IL_0000: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() IL_0005: ldarg.0 - IL_0006: box ExpressionTrees - IL_000b: ldtoken ExpressionTrees + 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 ExpressionTrees::'field' + 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 ExpressionTrees - IL_002f: ldtoken ExpressionTrees + 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 ExpressionTrees::C() + 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 @@ -2117,10 +2286,10 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 ExpressionTrees::X() + 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) @@ -2132,15 +2301,15 @@ IL_008a: ldloc.0 IL_008b: ldc.i4.0 IL_008c: ldarg.0 - IL_008d: box ExpressionTrees - IL_0092: ldtoken ExpressionTrees + 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 ExpressionTrees::.ctor() + 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 @@ -2157,17 +2326,17 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 ExpressionTrees::X() + IL_00db: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() IL_00e0: ldarg.0 - IL_00e1: box ExpressionTrees - IL_00e6: ldtoken ExpressionTrees + 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 ExpressionTrees::MyEquals(class ExpressionTrees) + 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 @@ -2176,8 +2345,8 @@ IL_010b: ldloc.1 IL_010c: ldc.i4.0 IL_010d: ldarg.0 - IL_010e: box ExpressionTrees - IL_0113: ldtoken ExpressionTrees + 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) @@ -2187,12 +2356,12 @@ class [mscorlib]System.Reflection.MethodInfo, class [System.Core]System.Linq.Expressions.Expression[]) IL_0129: ldarg.0 - IL_012a: box ExpressionTrees - IL_012f: ldtoken ExpressionTrees + 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 ExpressionTrees::MyEquals(class ExpressionTrees) + 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 @@ -2201,8 +2370,8 @@ IL_0154: ldloc.2 IL_0155: ldc.i4.0 IL_0156: ldnull - IL_0157: box ExpressionTrees - IL_015c: ldtoken ExpressionTrees + 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) @@ -2218,8 +2387,8 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 @@ -2234,7 +2403,7 @@ } // end of method ExpressionTrees::C .method private hidebysig instance bool - MyEquals(class ExpressionTrees other) cil managed + MyEquals(class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees other) cil managed { // Code size 6 (0x6) .maxstack 8 @@ -2249,7 +2418,7 @@ .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 ExpressionTrees::X() + 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 @@ -2338,8 +2507,8 @@ 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 ExpressionTrees::ToCode>(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 @@ -2349,7 +2518,7 @@ { // Code size 917 (0x395) .maxstack 11 - .locals init (class ExpressionTrees/'<>c__DisplayClass10' V_0, + .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, @@ -2358,9 +2527,9 @@ 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 ExpressionTrees/'<>c__DisplayClass10'::.ctor() + IL_0000: newobj instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass10'::.ctor() IL_0005: stloc.0 - IL_0006: call object ExpressionTrees::X() + 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) @@ -2468,13 +2637,13 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 ExpressionTrees/'<>c__DisplayClass10'::set - IL_0153: call object ExpressionTrees::X() + 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) @@ -2563,7 +2732,7 @@ 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 ExpressionTrees/'<>c__DisplayClass10'::set + 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) @@ -2585,24 +2754,24 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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> ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegatef' + 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 ExpressionTrees::'b__e'(class [mscorlib]System.Func`3) + 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> ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegatef' - IL_02c6: ldsfld class [mscorlib]System.Func`2,bool> ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegatef' - IL_02cb: stfld class [mscorlib]System.Func`2,bool> ExpressionTrees/'<>c__DisplayClass10'::sink - IL_02d0: call object ExpressionTrees::X() + 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> ExpressionTrees/'<>c__DisplayClass10'::sink + 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) @@ -2661,8 +2830,8 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 @@ -2672,7 +2841,7 @@ { // Code size 100 (0x64) .maxstack 4 - IL_0000: call object ExpressionTrees::X() + 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 @@ -2699,8 +2868,8 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 @@ -2710,7 +2879,7 @@ { // Code size 142 (0x8e) .maxstack 4 - IL_0000: call object ExpressionTrees::X() + 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 @@ -2750,8 +2919,8 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 @@ -2761,7 +2930,7 @@ { // Code size 572 (0x23c) .maxstack 10 - .locals init (class ExpressionTrees/'<>c__DisplayClass14' V_0, + .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, @@ -2772,23 +2941,23 @@ 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 ExpressionTrees/'<>c__DisplayClass14'::.ctor() + 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> ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate13' + 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 ExpressionTrees::'b__12'(class [mscorlib]System.Func`1) + 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> ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate13' - IL_001f: ldsfld class [mscorlib]System.Func`2,int32> ExpressionTrees::'CS$<>9__CachedAnonymousMethodDelegate13' - IL_0024: stfld class [mscorlib]System.Func`2,int32> ExpressionTrees/'<>c__DisplayClass14'::'call' - IL_0029: call object ExpressionTrees::X() + 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> ExpressionTrees/'<>c__DisplayClass14'::'call' + 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) @@ -2815,10 +2984,10 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 ExpressionTrees::X() + 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) @@ -2892,10 +3061,10 @@ 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 ExpressionTrees::ToCode>(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 ExpressionTrees::X() + 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) @@ -2979,8 +3148,8 @@ 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 ExpressionTrees::ToCode>(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 @@ -2996,7 +3165,7 @@ 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 ExpressionTrees::X() + 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" @@ -3052,8 +3221,8 @@ 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 ExpressionTrees::ToCode>>(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 @@ -3130,14 +3299,14 @@ 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 ExpressionTrees::X() + IL_0000: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() IL_0005: ldarg.0 - IL_0006: box ExpressionTrees - IL_000b: ldtoken ExpressionTrees + 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 ExpressionTrees::Fizz(class [mscorlib]System.Func`2) + 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 @@ -3185,17 +3354,17 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 ExpressionTrees::X() + IL_009a: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() IL_009f: ldarg.0 - IL_00a0: box ExpressionTrees - IL_00a5: ldtoken ExpressionTrees + 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 ExpressionTrees::Fizz(class [mscorlib]System.Func`2) + 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 @@ -3243,17 +3412,17 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 ExpressionTrees::X() + IL_013a: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() IL_013f: ldarg.0 - IL_0140: box ExpressionTrees - IL_0145: ldtoken ExpressionTrees + 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 ExpressionTrees::Fizz(class [mscorlib]System.Func`2) + 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 @@ -3268,7 +3437,7 @@ string) IL_0182: stloc.s V_7 IL_0184: ldloc.s V_7 - IL_0186: ldtoken method instance void ExpressionTrees::NestedLambda2() + 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 @@ -3296,8 +3465,8 @@ IL_01e2: ldloc.s V_8 IL_01e4: ldc.i4.1 IL_01e5: ldarg.0 - IL_01e6: box ExpressionTrees - IL_01eb: ldtoken ExpressionTrees + 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) @@ -3338,17 +3507,17 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 ExpressionTrees::X() + IL_0254: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() IL_0259: ldarg.0 - IL_025a: box ExpressionTrees - IL_025f: ldtoken ExpressionTrees + 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 ExpressionTrees::Fizz(class [mscorlib]System.Func`2) + 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 @@ -3363,7 +3532,7 @@ string) IL_029c: stloc.s V_11 IL_029e: ldloc.s V_11 - IL_02a0: ldtoken method instance void ExpressionTrees::NestedLambda2() + 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 @@ -3391,8 +3560,8 @@ IL_02fc: ldloc.s V_12 IL_02fe: ldc.i4.1 IL_02ff: ldarg.0 - IL_0300: box ExpressionTrees - IL_0305: ldtoken ExpressionTrees + 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) @@ -3433,17 +3602,17 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 ExpressionTrees::X() + IL_036e: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() IL_0373: ldarg.0 - IL_0374: box ExpressionTrees - IL_0379: ldtoken ExpressionTrees + 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 ExpressionTrees::Fizz(class [mscorlib]System.Func`2) + 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 @@ -3485,17 +3654,17 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 ExpressionTrees::X() + IL_0403: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() IL_0408: ldarg.0 - IL_0409: box ExpressionTrees - IL_040e: ldtoken ExpressionTrees + 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 ExpressionTrees::Fizz(class [mscorlib]System.Func`2) + 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 @@ -3534,17 +3703,17 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 ExpressionTrees::X() + IL_0490: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() IL_0495: ldarg.0 - IL_0496: box ExpressionTrees - IL_049b: ldtoken ExpressionTrees + 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 ExpressionTrees::Buzz(class [mscorlib]System.Func`2) + 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 @@ -3583,8 +3752,8 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 @@ -3597,7 +3766,7 @@ .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 ExpressionTrees::X() + 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) @@ -3690,8 +3859,8 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 @@ -3702,7 +3871,7 @@ // Code size 140 (0x8c) .maxstack 6 .locals init (class [System.Core]System.Linq.Expressions.Expression[] V_0) - IL_0000: call object ExpressionTrees::X() + 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 @@ -3746,8 +3915,8 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 @@ -3757,7 +3926,7 @@ { // Code size 80 (0x50) .maxstack 4 - IL_0000: call object ExpressionTrees::X() + 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 @@ -3778,8 +3947,8 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 @@ -3789,22 +3958,22 @@ { // Code size 240 (0xf0) .maxstack 4 - .locals init (class ExpressionTrees/'<>c__DisplayClass16' V_0) - IL_0000: newobj instance void ExpressionTrees/'<>c__DisplayClass16'::.ctor() + .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 ExpressionTrees/'<>c__DisplayClass16'::x + 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 ExpressionTrees/'<>c__DisplayClass16'::y + 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 ExpressionTrees/'<>c__DisplayClass16'::z - IL_001c: call object ExpressionTrees::X() + 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 ExpressionTrees/'<>c__DisplayClass16'::z + 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) @@ -3825,13 +3994,13 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 ExpressionTrees::X() + 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 ExpressionTrees/'<>c__DisplayClass16'::y + 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) @@ -3848,13 +4017,13 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 ExpressionTrees::X() + 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 ExpressionTrees/'<>c__DisplayClass16'::x + 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) @@ -3863,8 +4032,8 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 @@ -3875,10 +4044,10 @@ // Code size 275 (0x113) .maxstack 7 .locals init (class [System.Xml]System.Xml.XmlReaderSettings V_0, - class ExpressionTrees/'<>c__DisplayClass19' V_1, + 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 ExpressionTrees/'<>c__DisplayClass19'::.ctor() + 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() @@ -3890,8 +4059,8 @@ 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 ExpressionTrees/'<>c__DisplayClass19'::s - IL_0021: call object ExpressionTrees::X() + 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 @@ -3909,7 +4078,7 @@ 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 ExpressionTrees/'<>c__DisplayClass19'::s + 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) @@ -3928,7 +4097,7 @@ 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 ExpressionTrees/'<>c__DisplayClass19'::s + 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) @@ -3953,7 +4122,7 @@ 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 ExpressionTrees/'<>c__DisplayClass19'::s + 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) @@ -3966,8 +4135,8 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 @@ -3980,7 +4149,7 @@ .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 ExpressionTrees::X() + 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" @@ -4041,8 +4210,8 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 @@ -4054,10 +4223,10 @@ .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 ExpressionTrees::X() + IL_0000: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() IL_0005: ldnull - IL_0006: ldtoken method object ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 @@ -4066,7 +4235,7 @@ IL_001c: ldloc.0 IL_001d: ldc.i4.0 IL_001e: ldnull - IL_001f: ldtoken method object ExpressionTrees::X() + 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 @@ -4116,8 +4285,8 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 @@ -4134,7 +4303,7 @@ 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 ExpressionTrees::X() + 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) @@ -4270,8 +4439,8 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 @@ -4282,7 +4451,7 @@ // Code size 130 (0x82) .maxstack 7 .locals init (class [System.Core]System.Linq.Expressions.Expression[] V_0) - IL_0000: call object ExpressionTrees::X() + 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) @@ -4325,8 +4494,8 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 @@ -4337,10 +4506,10 @@ // Code size 116 (0x74) .maxstack 7 .locals init (class [System.Core]System.Linq.Expressions.Expression[] V_0) - IL_0000: call object ExpressionTrees::X() + IL_0000: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() IL_0005: ldarg.0 - IL_0006: box ExpressionTrees - IL_000b: ldtoken ExpressionTrees + 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) @@ -4372,8 +4541,8 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 @@ -4384,7 +4553,7 @@ // Code size 115 (0x73) .maxstack 7 .locals init (class [System.Core]System.Linq.Expressions.Expression[] V_0) - IL_0000: call object ExpressionTrees::X() + 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) @@ -4396,8 +4565,8 @@ IL_001c: ldloc.0 IL_001d: ldc.i4.0 IL_001e: ldarg.0 - IL_001f: box ExpressionTrees - IL_0024: ldtoken ExpressionTrees + 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) @@ -4423,8 +4592,8 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 @@ -4435,7 +4604,7 @@ // Code size 112 (0x70) .maxstack 6 .locals init (class [System.Core]System.Linq.Expressions.Expression[] V_0) - IL_0000: call object ExpressionTrees::X() + 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 @@ -4468,8 +4637,8 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 @@ -4480,7 +4649,7 @@ // Code size 130 (0x82) .maxstack 7 .locals init (class [System.Core]System.Linq.Expressions.Expression[] V_0) - IL_0000: call object ExpressionTrees::X() + 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) @@ -4523,8 +4692,8 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 @@ -4535,7 +4704,7 @@ // Code size 234 (0xea) .maxstack 9 .locals init (class [System.Core]System.Linq.Expressions.Expression[] V_0) - IL_0000: call object ExpressionTrees::X() + 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) @@ -4610,8 +4779,8 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 @@ -4621,16 +4790,16 @@ { // Code size 376 (0x178) .maxstack 8 - .locals init (class ExpressionTrees/'<>c__DisplayClass1b' V_0) - IL_0000: newobj instance void ExpressionTrees/'<>c__DisplayClass1b'::.ctor() + .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 ExpressionTrees/'<>c__DisplayClass1b'::i + 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 ExpressionTrees/'<>c__DisplayClass1b'::x - IL_0018: call object ExpressionTrees::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) @@ -4638,7 +4807,7 @@ 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 ExpressionTrees/'<>c__DisplayClass1b'::x + 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) @@ -4646,7 +4815,7 @@ 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 ExpressionTrees/'<>c__DisplayClass1b'::x + 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) @@ -4691,7 +4860,7 @@ 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 ExpressionTrees/'<>c__DisplayClass1b'::i + 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) @@ -4732,8 +4901,8 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 @@ -4743,9 +4912,9 @@ { // Code size 150 (0x96) .maxstack 5 - IL_0000: call object ExpressionTrees::X() - IL_0005: ldtoken method instance void class ExpressionTrees/GenericClass`1::.ctor() - IL_000a: ldtoken class ExpressionTrees/GenericClass`1 + 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 @@ -4753,8 +4922,8 @@ 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 ExpressionTrees/GenericClass`1::InstanceField - IL_0029: ldtoken class ExpressionTrees/GenericClass`1 + 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, @@ -4763,8 +4932,8 @@ 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 ExpressionTrees/GenericClass`1::.ctor() - IL_004c: ldtoken class ExpressionTrees/GenericClass`1 + 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 @@ -4772,8 +4941,8 @@ 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 ExpressionTrees/GenericClass`1::get_InstanceProperty() - IL_006b: ldtoken class ExpressionTrees/GenericClass`1 + 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 @@ -4785,8 +4954,8 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 @@ -4796,10 +4965,10 @@ { // Code size 90 (0x5a) .maxstack 5 - IL_0000: call object ExpressionTrees::X() + IL_0000: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() IL_0005: ldnull - IL_0006: ldtoken field !0 class ExpressionTrees/GenericClass`1::StaticField - IL_000b: ldtoken class ExpressionTrees/GenericClass`1 + 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, @@ -4809,8 +4978,8 @@ 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 ExpressionTrees/GenericClass`1::get_StaticProperty() - IL_002f: ldtoken class ExpressionTrees/GenericClass`1 + 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 @@ -4822,8 +4991,8 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 @@ -4833,10 +5002,10 @@ { // Code size 55 (0x37) .maxstack 8 - IL_0000: call object ExpressionTrees::X() + IL_0000: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() IL_0005: ldnull - IL_0006: ldtoken method bool class ExpressionTrees/GenericClass`1::GenericMethod() - IL_000b: ldtoken class ExpressionTrees/GenericClass`1 + 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 @@ -4849,130 +5018,4834 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 public hidebysig specialname rtspecialname - instance void .ctor() cil managed + .method private hidebysig static void Test(!!T delegateExpression, + class [System.Core]System.Linq.Expressions.Expression`1 expressionTree) cil managed { - // Code size 7 (0x7) + // Code size 1 (0x1) .maxstack 8 - IL_0000: ldarg.0 - IL_0001: call instance void [mscorlib]System.Object::.ctor() - IL_0006: ret - } // end of method ExpressionTrees::.ctor + IL_0000: ret + } // end of method ExpressionTrees::Test - .method private hidebysig static string - 'b__6'(int32 n) cil managed + .method public hidebysig static void ArrayIndexer() 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' + // 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 - .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' + 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 - .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' + 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 -} // end of class ExpressionTrees + 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 -.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 + 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 - .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 + 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 specialname instance !'j__TPar' - get_A() cil managed + .method public hidebysig static void ArrayLength() 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 + // 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 - .method public hidebysig virtual instance string - ToString() cil managed + 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 { - .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 + // 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) @@ -5222,8 +10095,188 @@ } // 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 index d1862c220..64f5a2744 100644 --- a/ICSharpCode.Decompiler.Tests/TestCases/Pretty/ExpressionTrees.opt.roslyn.il +++ b/ICSharpCode.Decompiler.Tests/TestCases/Pretty/ExpressionTrees.opt.roslyn.il @@ -35,14 +35,14 @@ .ver 0:0:0:0 } .module ExpressionTrees.dll -// MVID: {AA9C673A-BFCE-40E8-B33E-DB3A1434FD39} +// 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: 0x02C90000 +// Image base: 0x048B0000 // =============== CLASS MEMBERS DECLARATION =================== @@ -421,7 +421,194 @@ } // end of property '<>f__AnonymousType1`2'::Y } // end of class '<>f__AnonymousType1`2' -.class public auto ansi beforefieldinit ExpressionTrees +.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 @@ -439,7 +626,7 @@ .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) // Code size 6 (0x6) .maxstack 8 - IL_0000: ldsfld !0 class ExpressionTrees/GenericClass`1::'k__BackingField' + 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 @@ -450,7 +637,7 @@ // Code size 7 (0x7) .maxstack 8 IL_0000: ldarg.0 - IL_0001: stsfld !0 class ExpressionTrees/GenericClass`1::'k__BackingField' + 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 @@ -461,7 +648,7 @@ // Code size 7 (0x7) .maxstack 8 IL_0000: ldarg.0 - IL_0001: ldfld !0 class ExpressionTrees/GenericClass`1::'k__BackingField' + 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 @@ -473,7 +660,7 @@ .maxstack 8 IL_0000: ldarg.0 IL_0001: ldarg.1 - IL_0002: stfld !0 class ExpressionTrees/GenericClass`1::'k__BackingField' + 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 @@ -498,17 +685,17 @@ .property !X StaticProperty() { - .get !X ExpressionTrees/GenericClass`1::get_StaticProperty() - .set void ExpressionTrees/GenericClass`1::set_StaticProperty(!X) + .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 ExpressionTrees/GenericClass`1::get_InstanceProperty() - .set instance void ExpressionTrees/GenericClass`1::set_InstanceProperty(!X) + .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__DisplayClass5_0' + .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 ) @@ -521,11 +708,11 @@ IL_0000: ldarg.0 IL_0001: call instance void [mscorlib]System.Object::.ctor() IL_0006: ret - } // end of method '<>c__DisplayClass5_0'::.ctor + } // end of method '<>c__DisplayClass7_0'::.ctor - } // end of class '<>c__DisplayClass5_0' + } // end of class '<>c__DisplayClass7_0' - .class auto ansi sealed nested private beforefieldinit '<>c__DisplayClass6_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 ) @@ -538,11 +725,11 @@ IL_0000: ldarg.0 IL_0001: call instance void [mscorlib]System.Object::.ctor() IL_0006: ret - } // end of method '<>c__DisplayClass6_0'::.ctor + } // end of method '<>c__DisplayClass8_0'::.ctor - } // end of class '<>c__DisplayClass6_0' + } // end of class '<>c__DisplayClass8_0' - .class auto ansi sealed nested private beforefieldinit '<>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 ) @@ -555,11 +742,11 @@ 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 method '<>c__DisplayClass10_0'::.ctor - } // end of class '<>c__DisplayClass8_0' + } // end of class '<>c__DisplayClass10_0' - .class auto ansi sealed nested private beforefieldinit '<>c__DisplayClass16_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 ) @@ -572,25 +759,86 @@ IL_0000: ldarg.0 IL_0001: call instance void [mscorlib]System.Object::.ctor() IL_0006: ret - } // end of method '<>c__DisplayClass16_0'::.ctor + } // end of method '<>c__DisplayClass18_0'::.ctor - } // end of class '<>c__DisplayClass16_0' + } // 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 ExpressionTrees/'<>c' '<>9' - .field public static class [mscorlib]System.Func`2 '<>9__16_0' - .field public static class [mscorlib]System.Func`2,bool> '<>9__31_0' - .field public static class [mscorlib]System.Func`2,int32> '<>9__34_0' + .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 ExpressionTrees/'<>c'::.ctor() - IL_0005: stsfld class ExpressionTrees/'<>c' ExpressionTrees/'<>c'::'<>9' + 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 @@ -605,17 +853,17 @@ } // end of method '<>c'::.ctor .method assembly hidebysig instance string - 'b__16_0'(int32 n) cil managed + '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__16_0' + } // end of method '<>c'::'b__18_0' .method assembly hidebysig instance bool - 'b__31_0'(class [mscorlib]System.Func`3 f) cil managed + 'b__33_0'(class [mscorlib]System.Func`3 f) cil managed { // Code size 9 (0x9) .maxstack 8 @@ -625,4336 +873,8761 @@ IL_0003: callvirt instance !2 class [mscorlib]System.Func`3::Invoke(!0, !1) IL_0008: ret - } // end of method '<>c'::'b__31_0' + } // end of method '<>c'::'b__33_0' .method assembly hidebysig instance int32 - 'b__34_0'(class [mscorlib]System.Func`1 f) cil managed + '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__34_0' - - } // end of class '<>c' + } // end of method '<>c'::'b__36_0' - .class auto ansi sealed nested private beforefieldinit '<>c__DisplayClass23_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 + .method assembly hidebysig instance int32 + 'b__62_0'(int32[] 'array') cil managed { - // Code size 7 (0x7) + // Code size 4 (0x4) .maxstack 8 - IL_0000: ldarg.0 - IL_0001: call instance void [mscorlib]System.Object::.ctor() - IL_0006: ret - } // end of method '<>c__DisplayClass23_0'::.ctor + IL_0000: ldarg.1 + IL_0001: ldc.i4.0 + IL_0002: ldelem.i4 + IL_0003: ret + } // end of method '<>c'::'b__62_0' - } // end of class '<>c__DisplayClass23_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' - .class auto ansi sealed nested private beforefieldinit '<>c__DisplayClass24_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 + .method assembly hidebysig instance int32 + 'b__62_2'(int32[0...,0...] 'array') cil managed { - // Code size 7 (0x7) + // Code size 9 (0x9) .maxstack 8 - IL_0000: ldarg.0 - IL_0001: call instance void [mscorlib]System.Object::.ctor() - IL_0006: ret - } // end of method '<>c__DisplayClass24_0'::.ctor + 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' - } // end of class '<>c__DisplayClass24_0' + .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' - .class auto ansi sealed nested private beforefieldinit '<>c__DisplayClass31_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 + .method assembly hidebysig instance int32 + 'b__62_4'(int32[][] 'array', + int32 index) cil managed { - // Code size 7 (0x7) + // Code size 6 (0x6) .maxstack 8 - IL_0000: ldarg.0 - IL_0001: call instance void [mscorlib]System.Object::.ctor() - IL_0006: ret - } // end of method '<>c__DisplayClass31_0'::.ctor + 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' - } // end of class '<>c__DisplayClass31_0' + .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' - .class auto ansi sealed nested private beforefieldinit '<>c__DisplayClass34_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 + .method assembly hidebysig instance int32 + 'b__63_1'() cil managed { // Code size 7 (0x7) .maxstack 8 - IL_0000: ldarg.0 - IL_0001: call instance void [mscorlib]System.Object::.ctor() + IL_0000: ldnull + IL_0001: callvirt instance int32 [mscorlib]System.Array::get_Length() IL_0006: ret - } // end of method '<>c__DisplayClass34_0'::.ctor + } // end of method '<>c'::'b__63_1' - } // end of class '<>c__DisplayClass34_0' + .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' - .class auto ansi sealed nested private beforefieldinit '<>c__DisplayClass44_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 + .method assembly hidebysig instance object + 'b__64_1'() cil managed { // Code size 7 (0x7) .maxstack 8 - IL_0000: ldarg.0 - IL_0001: call instance void [mscorlib]System.Object::.ctor() + 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__DisplayClass44_0'::.ctor + } // end of method '<>c'::'b__64_1' - } // end of class '<>c__DisplayClass44_0' + .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' - .class auto ansi sealed nested private beforefieldinit '<>c__DisplayClass45_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 + .method assembly hidebysig instance object + 'b__64_3'() cil managed { // Code size 7 (0x7) .maxstack 8 - IL_0000: ldarg.0 - IL_0001: call instance void [mscorlib]System.Object::.ctor() + 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__DisplayClass45_0'::.ctor + } // end of method '<>c'::'b__64_3' - } // end of class '<>c__DisplayClass45_0' + .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' - .class auto ansi sealed nested private beforefieldinit '<>c__DisplayClass55_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 + .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: ldarg.0 - IL_0001: call instance void [mscorlib]System.Object::.ctor() + 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__DisplayClass55_0'::.ctor + } // end of method '<>c'::'b__64_6' - } // end of class '<>c__DisplayClass55_0' + .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' - .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 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 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 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 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 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 public hidebysig instance void - Parameter(bool a) cil managed - { - // Code size 67 (0x43) - .maxstack 3 - .locals init (class ExpressionTrees/'<>c__DisplayClass5_0' V_0) - IL_0000: newobj instance void ExpressionTrees/'<>c__DisplayClass5_0'::.ctor() - IL_0005: stloc.0 - IL_0006: ldloc.0 - IL_0007: ldarg.1 - IL_0008: stfld bool ExpressionTrees/'<>c__DisplayClass5_0'::a - IL_000d: call object ExpressionTrees::X() - IL_0012: ldloc.0 - IL_0013: ldtoken ExpressionTrees/'<>c__DisplayClass5_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 ExpressionTrees/'<>c__DisplayClass5_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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) - IL_0041: pop - IL_0042: ret - } // end of method ExpressionTrees::Parameter + .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 public hidebysig instance void - LocalVariable() cil managed - { - // Code size 67 (0x43) - .maxstack 3 - .locals init (class ExpressionTrees/'<>c__DisplayClass6_0' V_0) - IL_0000: newobj instance void ExpressionTrees/'<>c__DisplayClass6_0'::.ctor() - IL_0005: stloc.0 - IL_0006: ldloc.0 - IL_0007: ldc.i4.1 - IL_0008: stfld bool ExpressionTrees/'<>c__DisplayClass6_0'::a - IL_000d: call object ExpressionTrees::X() - IL_0012: ldloc.0 - IL_0013: ldtoken ExpressionTrees/'<>c__DisplayClass6_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 ExpressionTrees/'<>c__DisplayClass6_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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) - IL_0041: pop - IL_0042: ret - } // end of method ExpressionTrees::LocalVariable + .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 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 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) - IL_002f: pop - IL_0030: ret - } // end of method ExpressionTrees::LambdaParameter + .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 public hidebysig instance void - AddOperator(int32 x) cil managed - { - // Code size 119 (0x77) - .maxstack 4 - .locals init (class ExpressionTrees/'<>c__DisplayClass8_0' V_0) - IL_0000: newobj instance void ExpressionTrees/'<>c__DisplayClass8_0'::.ctor() - IL_0005: stloc.0 - IL_0006: ldloc.0 - IL_0007: ldarg.1 - IL_0008: stfld int32 ExpressionTrees/'<>c__DisplayClass8_0'::x - IL_000d: call object 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 ExpressionTrees/'<>c__DisplayClass8_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 ExpressionTrees/'<>c__DisplayClass8_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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) - IL_0075: pop - IL_0076: ret - } // end of method ExpressionTrees::AddOperator + .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 public hidebysig instance void - AnonymousClasses() cil managed - { - // Code size 153 (0x99) - .maxstack 8 - IL_0000: call object 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 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 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 public hidebysig instance void - ArrayIndex() cil managed - { - // Code size 230 (0xe6) - .maxstack 7 - IL_0000: call object 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) + .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, + 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_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, + 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_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, + 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_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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) - IL_00e4: pop - IL_00e5: ret - } // end of method ExpressionTrees::ArrayIndex + 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 - ArrayLengthAndDoubles() cil managed + ListInitializer2() cil managed { - // Code size 293 (0x125) - .maxstack 17 - IL_0000: call object 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, + // 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_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, + 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_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, + 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_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, + 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_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, + 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_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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) - IL_0123: pop - IL_0124: ret - } // end of method ExpressionTrees::ArrayLengthAndDoubles + 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 - AsOperator() cil managed + ListInitializer3() cil managed { - // Code size 53 (0x35) - .maxstack 8 - IL_0000: call object ExpressionTrees::X() - IL_0005: ldtoken [mscorlib]System.Object + // 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: 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) - IL_0033: pop - IL_0034: ret - } // end of method ExpressionTrees::AsOperator + 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 - ComplexGenericName() cil managed + LiteralCharAndProperty() cil managed { - // Code size 136 (0x88) + // Code size 144 (0x90) .maxstack 7 - .locals init (class [System.Core]System.Linq.Expressions.ParameterExpression V_0) - IL_0000: call object 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_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: 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, + 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_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, + 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_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_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: 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, + 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_0081: call object ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) - IL_0086: pop - IL_0087: ret - } // end of method ExpressionTrees::ComplexGenericName + 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 - DefaultValue() cil managed + StringsImplicitCast() cil managed { - // Code size 171 (0xab) - .maxstack 7 - .locals init (valuetype [mscorlib]System.TimeSpan V_0) - IL_0000: call object 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 + // 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: 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, + 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_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, + 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_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, + 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_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 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 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, + 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_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, + 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_0060: call object ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) - IL_0065: pop - IL_0066: ret - } // end of method ExpressionTrees::EnumConstant + 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 - IndexerAccess() cil managed + NotImplicitCast() cil managed { - // Code size 190 (0xbe) - .maxstack 8 - .locals init (class ExpressionTrees/'<>c__DisplayClass16_0' V_0) - IL_0000: newobj instance void ExpressionTrees/'<>c__DisplayClass16_0'::.ctor() + // 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.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 ExpressionTrees/'<>c'::'<>9__16_0' - IL_0014: dup - IL_0015: brtrue.s IL_002e - - IL_0017: pop - IL_0018: ldsfld class ExpressionTrees/'<>c' ExpressionTrees/'<>c'::'<>9' - IL_001d: ldftn instance string ExpressionTrees/'<>c'::'b__16_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 ExpressionTrees/'<>c'::'<>9__16_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 ExpressionTrees/'<>c__DisplayClass16_0'::dict - IL_0038: call object ExpressionTrees::X() - IL_003d: ldloc.0 - IL_003e: ldtoken ExpressionTrees/'<>c__DisplayClass16_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, + 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_004d: ldtoken field class [mscorlib]System.Collections.Generic.Dictionary`2 ExpressionTrees/'<>c__DisplayClass16_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, + 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_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, + 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_00a7: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Equal(class [System.Core]System.Linq.Expressions.Expression, + 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_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, + 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_00b7: call object ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) - IL_00bc: pop - IL_00bd: ret - } // end of method ExpressionTrees::IndexerAccess + 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 - IsOperator() cil managed + MembersBuiltin() cil managed { - // Code size 53 (0x35) + // Code size 401 (0x191) .maxstack 8 - IL_0000: call object 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 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 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, + 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_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, + 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_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, + 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_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, + 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_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, + 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_0143: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Equal(class [System.Core]System.Linq.Expressions.Expression, + 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: 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, + 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_0153: call object ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) - IL_0158: pop - IL_0159: ret - } // end of method ExpressionTrees::ListInitializer + 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 - ListInitializer2() cil managed + MembersDefault() cil managed { - // Code size 315 (0x13b) - .maxstack 11 - IL_0000: call object 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, + // 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_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, + 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_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, + 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_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, + 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_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, + 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_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, + 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_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, + 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_0124: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Equal(class [System.Core]System.Linq.Expressions.Expression, + 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_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, + 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_0134: call object ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) - IL_0139: pop - IL_013a: ret - } // end of method ExpressionTrees::ListInitializer2 + 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 - ListInitializer3() cil managed + DoAssert() cil managed { - // Code size 274 (0x112) - .maxstack 11 - IL_0000: call object 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, + // 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_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, + 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_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, + 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_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_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: 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, + 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_010b: call object ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) - IL_0110: pop - IL_0111: ret - } // end of method ExpressionTrees::ListInitializer3 + 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 - LiteralCharAndProperty() cil managed + MethodGroupAsExtensionMethod() cil managed { - // Code size 144 (0x90) - .maxstack 7 - IL_0000: call object ExpressionTrees::X() - IL_0005: ldtoken method instance void [mscorlib]System.String::.ctor(char, - int32) + // 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.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, + 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_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, + 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_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, + 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_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 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 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, + 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_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, + 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_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, + 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_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, + 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_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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) - IL_0085: pop - IL_0086: ret - } // end of method ExpressionTrees::CharNoCast + 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 - StringsImplicitCast() cil managed + MethodGroupConstant() cil managed { - // Code size 406 (0x196) - .maxstack 8 - .locals init (class ExpressionTrees/'<>c__DisplayClass23_0' V_0) - IL_0000: newobj instance void ExpressionTrees/'<>c__DisplayClass23_0'::.ctor() + // 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: ldloc.0 - IL_0007: ldc.i4.1 - IL_0008: stfld int32 ExpressionTrees/'<>c__DisplayClass23_0'::i - IL_000d: ldloc.0 - IL_000e: ldstr "X" - IL_0013: stfld string ExpressionTrees/'<>c__DisplayClass23_0'::x - IL_0018: call object 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, + 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_0031: ldloc.0 - IL_0032: ldtoken ExpressionTrees/'<>c__DisplayClass23_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, + 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_0041: ldtoken field string ExpressionTrees/'<>c__DisplayClass23_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 ExpressionTrees/'<>c__DisplayClass23_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, + 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_0065: ldtoken field string ExpressionTrees/'<>c__DisplayClass23_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, + 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_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, + 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_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, + 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_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, + 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_00fa: ldloc.0 - IL_00fb: ldtoken ExpressionTrees/'<>c__DisplayClass23_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, + 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_010a: ldtoken field int32 ExpressionTrees/'<>c__DisplayClass23_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, + 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_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, + 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_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 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 ExpressionTrees/'<>c__DisplayClass24_0' V_0) - IL_0000: newobj instance void ExpressionTrees/'<>c__DisplayClass24_0'::.ctor() - IL_0005: stloc.0 - IL_0006: ldloc.0 - IL_0007: ldc.i4.s 42 - IL_0009: stfld uint8 ExpressionTrees/'<>c__DisplayClass24_0'::z - IL_000e: call object ExpressionTrees::X() - IL_0013: ldloc.0 - IL_0014: ldtoken ExpressionTrees/'<>c__DisplayClass24_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, + 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_0023: ldtoken field uint8 ExpressionTrees/'<>c__DisplayClass24_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, + 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_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 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 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, + 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_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, + 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_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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) - IL_004e: pop - IL_004f: call object 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, + 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_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, + 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_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, + 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_00b9: call object ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) - IL_00be: pop - IL_00bf: call object 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, + 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_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, + 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_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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) - IL_0116: pop - IL_0117: call object 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, + 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_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, + 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_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, + 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_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, + 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_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, + 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_018a: call object ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) - IL_018f: pop - IL_0190: ret - } // end of method ExpressionTrees::MembersBuiltin + 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 - MembersDefault() cil managed + MultipleDots() cil managed { - // Code size 540 (0x21c) - .maxstack 7 - .locals init (valuetype [mscorlib]System.DateTime V_0) - IL_0000: call object 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, + // 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_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, + 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_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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) - IL_0061: pop - IL_0062: call object ExpressionTrees::X() - IL_0067: ldnull - IL_0068: ldtoken [mscorlib]System.Array + 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: 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, + 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_00b0: call object ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) - IL_00b5: pop - IL_00b6: call object 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, + 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_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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) - IL_00ef: pop - IL_00f0: call object 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, + 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_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, + 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_0129: call object ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) - IL_012e: pop - IL_012f: call object 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, + 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_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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) - IL_0183: pop - IL_0184: call object 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, + 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_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, + 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_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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) - IL_01d5: pop - IL_01d6: call object 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, + 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_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_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: 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, + 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_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 ExpressionTrees::ToCode>(object, - class [System.Core]System.Linq.Expressions.Expression`1>) - IL_021a: pop - IL_021b: ret - } // end of method ExpressionTrees::MembersDefault + 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 - DoAssert() cil managed + CurriedLambda() cil managed { - // Code size 346 (0x15a) - .maxstack 9 - IL_0000: call object ExpressionTrees::X() + // 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 ExpressionTrees + 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 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 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, + 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_0034: ldtoken method instance int32 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, + 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_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, + 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_005e: call object ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) - IL_0063: pop - IL_0064: call object 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 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, + 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_0091: stelem.ref - IL_0092: dup - IL_0093: ldc.i4.1 - IL_0094: ldtoken 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, + 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_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, + 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_00b9: call object ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) - IL_00be: pop - IL_00bf: call object ExpressionTrees::X() - IL_00c4: ldarg.0 - IL_00c5: ldtoken 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, + 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_00d4: ldtoken method instance bool ExpressionTrees::MyEquals(class 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 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, + 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_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 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, + 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_0111: ldtoken method instance bool ExpressionTrees::MyEquals(class 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 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, + 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_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, + 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_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 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 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 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, + 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_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, + 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_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, + 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_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, + 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_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, + 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_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, + 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_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 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 ExpressionTrees/'<>c__DisplayClass31_0' V_0) - IL_0000: newobj instance void ExpressionTrees/'<>c__DisplayClass31_0'::.ctor() - IL_0005: stloc.0 - IL_0006: call object 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, + 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_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, + 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_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, + 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_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, + 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_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, + 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_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, + 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_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, + 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_0132: call object 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 ExpressionTrees/'<>c__DisplayClass31_0'::set - IL_0143: call object 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, + 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_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, + 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_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, + 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_01df: stelem.ref - IL_01e0: call class [System.Core]System.Linq.Expressions.NewArrayExpression [System.Core]System.Linq.Expressions.Expression::NewArrayInit(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_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, + 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_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, + 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_023b: stelem.ref - IL_023c: dup - IL_023d: ldc.i4.1 - IL_023e: ldloc.0 - IL_023f: ldtoken ExpressionTrees/'<>c__DisplayClass31_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, + 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_024e: ldtoken field class [System.Core]System.Collections.Generic.HashSet`1 ExpressionTrees/'<>c__DisplayClass31_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, + 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_0283: call object 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> ExpressionTrees/'<>c'::'<>9__31_0' - IL_028f: dup - IL_0290: brtrue.s IL_02a9 + 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 - IL_0292: pop - IL_0293: ldsfld class ExpressionTrees/'<>c' ExpressionTrees/'<>c'::'<>9' - IL_0298: ldftn instance bool ExpressionTrees/'<>c'::'b__31_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> ExpressionTrees/'<>c'::'<>9__31_0' - IL_02a9: stfld class [mscorlib]System.Func`2,bool> ExpressionTrees/'<>c__DisplayClass31_0'::sink - IL_02ae: call object ExpressionTrees::X() - IL_02b3: ldloc.0 - IL_02b4: ldtoken ExpressionTrees/'<>c__DisplayClass31_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, + .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_02c3: ldtoken field class [mscorlib]System.Func`2,bool> ExpressionTrees/'<>c__DisplayClass31_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, + 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_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, + 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_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, + 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_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, + 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_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, + 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_0361: call object ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) - IL_0366: pop - IL_0367: ret - } // end of method ExpressionTrees::MethodGroupConstant + 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 - MultipleCasts() cil managed + ObjectInitializers() cil managed { - // Code size 100 (0x64) - .maxstack 4 - IL_0000: call object 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, + // 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_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, + 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_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, + 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_005d: call object ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) - IL_0062: pop - IL_0063: ret - } // end of method ExpressionTrees::MultipleCasts + 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 - MultipleDots() cil managed + Quoted() cil managed { - // Code size 142 (0x8e) - .maxstack 4 - IL_0000: call object 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, + // 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_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, + 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_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, + 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_0087: call object ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) - IL_008c: pop - IL_008d: ret - } // end of method ExpressionTrees::MultipleDots + 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 - NestedLambda() cil managed + Quoted2() cil managed { - // Code size 547 (0x223) - .maxstack 12 - .locals init (class ExpressionTrees/'<>c__DisplayClass34_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 ExpressionTrees/'<>c__DisplayClass34_0'::.ctor() - IL_0005: stloc.0 - IL_0006: ldloc.0 - IL_0007: ldsfld class [mscorlib]System.Func`2,int32> ExpressionTrees/'<>c'::'<>9__34_0' - IL_000c: dup - IL_000d: brtrue.s IL_0026 - - IL_000f: pop - IL_0010: ldsfld class ExpressionTrees/'<>c' ExpressionTrees/'<>c'::'<>9' - IL_0015: ldftn instance int32 ExpressionTrees/'<>c'::'b__34_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> ExpressionTrees/'<>c'::'<>9__34_0' - IL_0026: stfld class [mscorlib]System.Func`2,int32> ExpressionTrees/'<>c__DisplayClass34_0'::'call' - IL_002b: call object ExpressionTrees::X() - IL_0030: ldloc.0 - IL_0031: ldtoken ExpressionTrees/'<>c__DisplayClass34_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> ExpressionTrees/'<>c__DisplayClass34_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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) - IL_008e: pop - IL_008f: call object 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, + // 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_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, + 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_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, + 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_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 ExpressionTrees::ToCode>(object, - class [System.Core]System.Linq.Expressions.Expression`1>) - IL_014b: pop - IL_014c: call object 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, + 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_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, + 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_01aa: stelem.ref - IL_01ab: call class [System.Core]System.Linq.Expressions.NewArrayExpression [System.Core]System.Linq.Expressions.Expression::NewArrayInit(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_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, + 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_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, + 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_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, + 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_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 ExpressionTrees::ToCode>(object, - class [System.Core]System.Linq.Expressions.Expression`1>) - IL_0221: pop - IL_0222: ret - } // end of method ExpressionTrees::NestedLambda + 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 - 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 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 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 + ThisCall() cil managed { - // Code size 9 (0x9) + // Code size 109 (0x6d) .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 + 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 private hidebysig instance bool - Buzz(class [mscorlib]System.Func`2 a) cil managed + .method public hidebysig instance void + ThisExplicit() cil managed { - // Code size 9 (0x9) + // Code size 108 (0x6c) .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 + 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 private hidebysig instance bool - Fizz(class [mscorlib]System.Func`2 a) cil managed + .method public hidebysig instance void + TypedConstant() 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 + // 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 private hidebysig instance bool - Fizz(class [mscorlib]System.Func`2 a) cil managed + .method public hidebysig instance void + StaticCallImplicitCast() cil managed { - // Code size 8 (0x8) + // Code size 128 (0x80) .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 + 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 - NestedLambda2() cil managed + StaticMembers() cil managed { - // Code size 1124 (0x464) - .maxstack 14 - .locals init (class [System.Core]System.Linq.Expressions.ParameterExpression V_0) - IL_0000: call object ExpressionTrees::X() - IL_0005: ldarg.0 - IL_0006: ldtoken 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 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, + // 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_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, + 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_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, + 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_007b: call object ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) - IL_0080: pop - IL_0081: call object ExpressionTrees::X() - IL_0086: ldarg.0 - IL_0087: ldtoken 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, + 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_0096: ldtoken method instance bool 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, + 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_00d7: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::NotEqual(class [System.Core]System.Linq.Expressions.Expression, + 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_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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) - IL_0101: pop - IL_0102: call object ExpressionTrees::X() - IL_0107: ldarg.0 - IL_0108: ldtoken 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, + 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_0117: ldtoken method instance bool 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 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, + 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_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, + 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_0192: stelem.ref - IL_0193: dup - IL_0194: ldc.i4.1 - IL_0195: ldarg.0 - IL_0196: ldtoken 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, + 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_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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) - IL_01f4: pop - IL_01f5: call object ExpressionTrees::X() - IL_01fa: ldarg.0 - IL_01fb: ldtoken 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, + 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_020a: ldtoken method instance bool 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 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, + 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_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, + 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_0285: stelem.ref - IL_0286: dup - IL_0287: ldc.i4.1 - IL_0288: ldarg.0 - IL_0289: ldtoken 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, + 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_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, + 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_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, + 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_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, + 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_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, + 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_02e2: call object ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) - IL_02e7: pop - IL_02e8: call object ExpressionTrees::X() - IL_02ed: ldarg.0 - IL_02ee: ldtoken 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 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, + 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_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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) - IL_036a: pop - IL_036b: call object ExpressionTrees::X() - IL_0370: ldarg.0 - IL_0371: ldtoken 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, + 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_0380: ldtoken method instance bool 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, + 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_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, + 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_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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) - IL_03e6: pop - IL_03e7: call object ExpressionTrees::X() - IL_03ec: ldarg.0 - IL_03ed: ldtoken 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, + 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_03fc: ldtoken method instance bool 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, + 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_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, + 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_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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) - IL_0462: pop - IL_0463: ret - } // end of method ExpressionTrees::NestedLambda2 + 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 instance void - NewArrayAndExtensionMethod() cil managed + .method public hidebysig static void NewObj() cil managed { - // Code size 290 (0x122) - .maxstack 12 - IL_0000: call object 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 + // 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: 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, + 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_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, + 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_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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) - IL_0120: pop - IL_0121: ret - } // end of method ExpressionTrees::NewArrayAndExtensionMethod + 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 instance void - NewMultiDimArray() cil managed + .method public hidebysig static void UnaryLogicalOperators() cil managed { - // Code size 138 (0x8a) - .maxstack 7 - IL_0000: call object 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 + // 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: 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, + 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_0073: call class [System.Core]System.Linq.Expressions.BinaryExpression [System.Core]System.Linq.Expressions.Expression::Equal(class [System.Core]System.Linq.Expressions.Expression, + 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_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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) - IL_0088: pop - IL_0089: ret - } // end of method ExpressionTrees::NewMultiDimArray + 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 instance void - NewObject() cil managed + .method public hidebysig static void BinaryArithmeticOperators() cil managed { - // Code size 58 (0x3a) - .maxstack 8 - IL_0000: call object 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, + // 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_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 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 ExpressionTrees/'<>c__DisplayClass44_0' V_0) - IL_0000: newobj instance void ExpressionTrees/'<>c__DisplayClass44_0'::.ctor() - IL_0005: stloc.0 - IL_0006: ldloc.0 - IL_0007: ldc.i4.1 - IL_0008: stfld bool ExpressionTrees/'<>c__DisplayClass44_0'::x - IL_000d: ldloc.0 - IL_000e: ldc.i4.3 - IL_000f: stfld int32 ExpressionTrees/'<>c__DisplayClass44_0'::y - IL_0014: ldloc.0 - IL_0015: ldc.i4.s 42 - IL_0017: stfld uint8 ExpressionTrees/'<>c__DisplayClass44_0'::z - IL_001c: call object ExpressionTrees::X() - IL_0021: ldloc.0 - IL_0022: ldtoken ExpressionTrees/'<>c__DisplayClass44_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 ExpressionTrees/'<>c__DisplayClass44_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, + 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_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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) - IL_007e: pop - IL_007f: call object ExpressionTrees::X() - IL_0084: ldloc.0 - IL_0085: ldtoken ExpressionTrees/'<>c__DisplayClass44_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 ExpressionTrees/'<>c__DisplayClass44_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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) - IL_00d2: pop - IL_00d3: call object ExpressionTrees::X() - IL_00d8: ldloc.0 - IL_00d9: ldtoken ExpressionTrees/'<>c__DisplayClass44_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 ExpressionTrees/'<>c__DisplayClass44_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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) - IL_010c: pop - IL_010d: ret - } // end of method ExpressionTrees::NotOperator + 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 instance void - ObjectInitializers() cil managed + .method public hidebysig static void BitOperators() cil managed { - // Code size 288 (0x120) - .maxstack 8 - .locals init (class ExpressionTrees/'<>c__DisplayClass45_0' V_0) - IL_0000: newobj instance void ExpressionTrees/'<>c__DisplayClass45_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 ExpressionTrees/'<>c__DisplayClass45_0'::s - IL_001f: call object 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 ExpressionTrees/'<>c__DisplayClass45_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 ExpressionTrees/'<>c__DisplayClass45_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 ExpressionTrees/'<>c__DisplayClass45_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 ExpressionTrees/'<>c__DisplayClass45_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 ExpressionTrees/'<>c__DisplayClass45_0' + // 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: 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 ExpressionTrees/'<>c__DisplayClass45_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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) - IL_011e: pop - IL_011f: ret - } // end of method ExpressionTrees::ObjectInitializers + 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 instance void - Quoted() cil managed + .method public hidebysig static void ShiftOperators() cil managed { - // Code size 173 (0xad) + // Code size 397 (0x18d) .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 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, + .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_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, + 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_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, + 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_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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) - IL_00ab: pop - IL_00ac: ret - } // end of method ExpressionTrees::Quoted + 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 instance void - Quoted2() cil managed + .method public hidebysig static void SimpleExpressions() cil managed { - // Code size 165 (0xa5) - .maxstack 9 - IL_0000: call object ExpressionTrees::X() - IL_0005: ldnull - IL_0006: ldtoken method object 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 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, + // 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_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, + 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_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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) - IL_00a3: pop - IL_00a4: ret - } // end of method ExpressionTrees::Quoted2 + 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 instance void - QuotedWithAnonymous() cil managed + .method public hidebysig static void FieldAndPropertyAccess() cil managed { - // Code size 347 (0x15b) - .maxstack 22 + // Code size 432 (0x1b0) + .maxstack 6 .locals init (class [System.Core]System.Linq.Expressions.ParameterExpression V_0) - IL_0000: call object 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, + 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_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, + 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_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, + 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_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, + 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_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, + 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_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, + 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_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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) - IL_0159: pop - IL_015a: ret - } // end of method ExpressionTrees::QuotedWithAnonymous + 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 - .method public hidebysig instance void - StaticCall() cil managed - { - // Code size 128 (0x80) - .maxstack 8 - IL_0000: call object 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, + 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_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 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 ExpressionTrees::X() - IL_0005: ldarg.0 - IL_0006: ldtoken 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, + 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_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, + 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_0066: call object ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) - IL_006b: pop - IL_006c: ret - } // end of method ExpressionTrees::ThisCall + 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 instance void - ThisExplicit() cil managed + .method public hidebysig static void Quote() cil managed { - // Code size 108 (0x6c) - .maxstack 8 - IL_0000: call object 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 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, + // 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_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, + 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_0065: call object ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) - IL_006a: pop - IL_006b: ret - } // end of method ExpressionTrees::ThisExplicit + 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 instance void - TypedConstant() cil managed - { - // Code size 100 (0x64) - .maxstack 7 - IL_0000: call object 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, + .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_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, + 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_004c: stelem.ref - IL_004d: call class [System.Core]System.Linq.Expressions.NewArrayExpression [System.Core]System.Linq.Expressions.Expression::NewArrayInit(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_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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) - IL_0062: pop - IL_0063: ret - } // end of method ExpressionTrees::TypedConstant + 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 instance void - StaticCallImplicitCast() cil managed + .method public hidebysig static void AnonymousTypes() cil managed { - // Code size 128 (0x80) + // Code size 178 (0xb2) .maxstack 8 - IL_0000: call object 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, + 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_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_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: 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_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.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: 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 + } // end of method ExpressionTrees::ObjectInit - .method public hidebysig instance void - StaticMembers() cil managed + .method public hidebysig specialname rtspecialname + instance void .ctor() cil managed { - // Code size 216 (0xd8) - .maxstack 10 - IL_0000: call object 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) - IL_00d6: pop - IL_00d7: ret - } // end of method ExpressionTrees::StaticMembers + // 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 - .method public hidebysig instance void - Strings() cil managed +.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 406 (0x196) + // Code size 7 (0x7) .maxstack 8 - .locals init (class ExpressionTrees/'<>c__DisplayClass55_0' V_0) - IL_0000: newobj instance void ExpressionTrees/'<>c__DisplayClass55_0'::.ctor() - IL_0005: stloc.0 - IL_0006: ldloc.0 - IL_0007: ldc.i4.1 - IL_0008: stfld int32 ExpressionTrees/'<>c__DisplayClass55_0'::i - IL_000d: ldloc.0 - IL_000e: ldstr "X" - IL_0013: stfld string ExpressionTrees/'<>c__DisplayClass55_0'::x - IL_0018: call object 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 ExpressionTrees/'<>c__DisplayClass55_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 ExpressionTrees/'<>c__DisplayClass55_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 ExpressionTrees/'<>c__DisplayClass55_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 ExpressionTrees/'<>c__DisplayClass55_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 ExpressionTrees/'<>c__DisplayClass55_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 ExpressionTrees/'<>c__DisplayClass55_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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) - IL_0194: pop - IL_0195: ret - } // end of method ExpressionTrees::Strings + IL_0000: ldarg.0 + IL_0001: call instance void [mscorlib]System.Object::.ctor() + IL_0006: ret + } // end of method SimpleTypeWithCtor::.ctor - .method public hidebysig instance void - GenericClassInstance() cil managed +} // 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 118 (0x76) - .maxstack 5 - IL_0000: call object ExpressionTrees::X() - IL_0005: ldtoken class 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 ExpressionTrees/GenericClass`1::InstanceField - IL_0019: ldtoken class 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 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 ExpressionTrees/GenericClass`1::get_InstanceProperty() - IL_004b: ldtoken class 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) - IL_0074: pop - IL_0075: ret - } // end of method ExpressionTrees::GenericClassInstance + // 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 instance void - GenericClassStatic() cil managed + .method public hidebysig specialname rtspecialname + instance void .ctor(int32 i) cil managed { - // Code size 90 (0x5a) - .maxstack 5 - IL_0000: call object ExpressionTrees::X() - IL_0005: ldnull - IL_0006: ldtoken field !0 class ExpressionTrees/GenericClass`1::StaticField - IL_000b: ldtoken class 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 ExpressionTrees/GenericClass`1::get_StaticProperty() - IL_002f: ldtoken class 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) - IL_0058: pop - IL_0059: ret - } // end of method ExpressionTrees::GenericClassStatic + // 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 instance void - InvokeGenericMethod() cil managed +} // 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 55 (0x37) + // Code size 7 (0x7) .maxstack 8 - IL_0000: call object ExpressionTrees::X() - IL_0005: ldnull - IL_0006: ldtoken method bool class ExpressionTrees/GenericClass`1::GenericMethod() - IL_000b: ldtoken class 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) - IL_0035: pop - IL_0036: ret - } // end of method ExpressionTrees::InvokeGenericMethod + 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 { @@ -4963,11 +9636,52 @@ IL_0000: ldarg.0 IL_0001: call instance void [mscorlib]System.Object::.ctor() IL_0006: ret - } // end of method ExpressionTrees::.ctor + } // 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' -} // end of class ExpressionTrees + .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 index d76d58768..d31de64dc 100644 --- a/ICSharpCode.Decompiler.Tests/TestCases/Pretty/ExpressionTrees.roslyn.il +++ b/ICSharpCode.Decompiler.Tests/TestCases/Pretty/ExpressionTrees.roslyn.il @@ -35,14 +35,14 @@ .ver 0:0:0:0 } .module ExpressionTrees.dll -// MVID: {10FA8BAD-7C03-45BA-B129-010B46E41B45} +// 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: 0x02CC0000 +// Image base: 0x02EE0000 // =============== CLASS MEMBERS DECLARATION =================== @@ -429,7 +429,198 @@ } // end of property '<>f__AnonymousType1`2'::Y } // end of class '<>f__AnonymousType1`2' -.class public auto ansi beforefieldinit ExpressionTrees +.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 @@ -449,7 +640,7 @@ .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) // Code size 6 (0x6) .maxstack 8 - IL_0000: ldsfld !0 class ExpressionTrees/GenericClass`1::'k__BackingField' + 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 @@ -460,7 +651,7 @@ // Code size 7 (0x7) .maxstack 8 IL_0000: ldarg.0 - IL_0001: stsfld !0 class ExpressionTrees/GenericClass`1::'k__BackingField' + 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 @@ -471,7 +662,7 @@ // Code size 7 (0x7) .maxstack 8 IL_0000: ldarg.0 - IL_0001: ldfld !0 class ExpressionTrees/GenericClass`1::'k__BackingField' + 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 @@ -483,7 +674,7 @@ .maxstack 8 IL_0000: ldarg.0 IL_0001: ldarg.1 - IL_0002: stfld !0 class ExpressionTrees/GenericClass`1::'k__BackingField' + 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 @@ -515,17 +706,17 @@ .property !X StaticProperty() { - .get !X ExpressionTrees/GenericClass`1::get_StaticProperty() - .set void ExpressionTrees/GenericClass`1::set_StaticProperty(!X) + .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 ExpressionTrees/GenericClass`1::get_InstanceProperty() - .set instance void ExpressionTrees/GenericClass`1::set_InstanceProperty(!X) + .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__DisplayClass5_0' + .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 ) @@ -539,11 +730,11 @@ IL_0001: call instance void [mscorlib]System.Object::.ctor() IL_0006: nop IL_0007: ret - } // end of method '<>c__DisplayClass5_0'::.ctor + } // end of method '<>c__DisplayClass7_0'::.ctor - } // end of class '<>c__DisplayClass5_0' + } // end of class '<>c__DisplayClass7_0' - .class auto ansi sealed nested private beforefieldinit '<>c__DisplayClass6_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 ) @@ -557,11 +748,11 @@ IL_0001: call instance void [mscorlib]System.Object::.ctor() IL_0006: nop IL_0007: ret - } // end of method '<>c__DisplayClass6_0'::.ctor + } // end of method '<>c__DisplayClass8_0'::.ctor - } // end of class '<>c__DisplayClass6_0' + } // end of class '<>c__DisplayClass8_0' - .class auto ansi sealed nested private beforefieldinit '<>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 ) @@ -575,11 +766,11 @@ IL_0001: call instance void [mscorlib]System.Object::.ctor() IL_0006: nop IL_0007: ret - } // end of method '<>c__DisplayClass8_0'::.ctor + } // end of method '<>c__DisplayClass10_0'::.ctor - } // end of class '<>c__DisplayClass8_0' + } // end of class '<>c__DisplayClass10_0' - .class auto ansi sealed nested private beforefieldinit '<>c__DisplayClass16_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 ) @@ -593,25 +784,86 @@ IL_0001: call instance void [mscorlib]System.Object::.ctor() IL_0006: nop IL_0007: ret - } // end of method '<>c__DisplayClass16_0'::.ctor + } // end of method '<>c__DisplayClass18_0'::.ctor - } // end of class '<>c__DisplayClass16_0' + } // 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 ExpressionTrees/'<>c' '<>9' - .field public static class [mscorlib]System.Func`2 '<>9__16_0' - .field public static class [mscorlib]System.Func`2,bool> '<>9__31_0' - .field public static class [mscorlib]System.Func`2,int32> '<>9__34_0' + .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 ExpressionTrees/'<>c'::.ctor() - IL_0005: stsfld class ExpressionTrees/'<>c' ExpressionTrees/'<>c'::'<>9' + 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 @@ -627,17 +879,17 @@ } // end of method '<>c'::.ctor .method assembly hidebysig instance string - 'b__16_0'(int32 n) cil managed + '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__16_0' + } // end of method '<>c'::'b__18_0' .method assembly hidebysig instance bool - 'b__31_0'(class [mscorlib]System.Func`3 f) cil managed + 'b__33_0'(class [mscorlib]System.Func`3 f) cil managed { // Code size 9 (0x9) .maxstack 8 @@ -647,133 +899,753 @@ IL_0003: callvirt instance !2 class [mscorlib]System.Func`3::Invoke(!0, !1) IL_0008: ret - } // end of method '<>c'::'b__31_0' + } // end of method '<>c'::'b__33_0' .method assembly hidebysig instance int32 - 'b__34_0'(class [mscorlib]System.Func`1 f) cil managed + '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__34_0' - - } // end of class '<>c' + } // end of method '<>c'::'b__36_0' - .class auto ansi sealed nested private beforefieldinit '<>c__DisplayClass23_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 + .method assembly hidebysig instance int32 + 'b__62_0'(int32[] 'array') cil managed { - // Code size 8 (0x8) + // Code size 4 (0x4) .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__DisplayClass23_0'::.ctor + IL_0000: ldarg.1 + IL_0001: ldc.i4.0 + IL_0002: ldelem.i4 + IL_0003: ret + } // end of method '<>c'::'b__62_0' - } // end of class '<>c__DisplayClass23_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' - .class auto ansi sealed nested private beforefieldinit '<>c__DisplayClass24_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 + .method assembly hidebysig instance int32 + 'b__62_2'(int32[0...,0...] 'array') cil managed { - // Code size 8 (0x8) + // Code size 9 (0x9) .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__DisplayClass24_0'::.ctor + 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' - } // end of class '<>c__DisplayClass24_0' + .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' - .class auto ansi sealed nested private beforefieldinit '<>c__DisplayClass31_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 + .method assembly hidebysig instance int32 + 'b__62_4'(int32[][] 'array', + int32 index) cil managed { - // Code size 8 (0x8) + // Code size 6 (0x6) .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__DisplayClass31_0'::.ctor + 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' - } // end of class '<>c__DisplayClass31_0' + .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' - .class auto ansi sealed nested private beforefieldinit '<>c__DisplayClass34_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 + .method assembly hidebysig instance int32 + 'b__63_1'() cil managed { - // Code size 8 (0x8) + // Code size 7 (0x7) .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__DisplayClass34_0'::.ctor + IL_0000: ldnull + IL_0001: callvirt instance int32 [mscorlib]System.Array::get_Length() + IL_0006: ret + } // end of method '<>c'::'b__63_1' - } // end of class '<>c__DisplayClass34_0' + .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' - .class auto ansi sealed nested private beforefieldinit '<>c__DisplayClass44_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 + .method assembly hidebysig instance object + 'b__64_1'() cil managed { - // Code size 8 (0x8) + // Code size 7 (0x7) .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__DisplayClass44_0'::.ctor + 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' - } // end of class '<>c__DisplayClass44_0' + .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' - .class auto ansi sealed nested private beforefieldinit '<>c__DisplayClass45_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 + .method assembly hidebysig instance object + 'b__64_3'() cil managed { - // Code size 8 (0x8) + // Code size 7 (0x7) .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__DisplayClass45_0'::.ctor + 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' - } // end of class '<>c__DisplayClass45_0' + .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' - .class auto ansi sealed nested private beforefieldinit '<>c__DisplayClass55_0' + .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 ) @@ -788,22 +1660,178 @@ IL_0001: call instance void [mscorlib]System.Object::.ctor() IL_0006: nop IL_0007: ret - } // end of method '<>c__DisplayClass55_0'::.ctor + } // end of method '<>c__DisplayClass25_0'::.ctor - } // end of class '<>c__DisplayClass55_0' + } // end of class '<>c__DisplayClass25_0' - .field private int32 'field' - .method private hidebysig static object - ToCode(object x, - class [System.Core]System.Linq.Expressions.Expression`1> expr) cil managed + .class auto ansi sealed nested private beforefieldinit '<>c__DisplayClass26_0' + extends [mscorlib]System.Object { - // 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 + .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 @@ -825,6 +1853,22 @@ 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 { @@ -845,20 +1889,20 @@ { // Code size 68 (0x44) .maxstack 3 - .locals init (class ExpressionTrees/'<>c__DisplayClass5_0' V_0) - IL_0000: newobj instance void ExpressionTrees/'<>c__DisplayClass5_0'::.ctor() + .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 ExpressionTrees/'<>c__DisplayClass5_0'::a + IL_0008: stfld bool ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass7_0'::a IL_000d: nop - IL_000e: call object ExpressionTrees::X() + IL_000e: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() IL_0013: ldloc.0 - IL_0014: ldtoken ExpressionTrees/'<>c__DisplayClass5_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 ExpressionTrees/'<>c__DisplayClass5_0'::a + 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) @@ -866,8 +1910,8 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 @@ -877,20 +1921,20 @@ { // Code size 68 (0x44) .maxstack 3 - .locals init (class ExpressionTrees/'<>c__DisplayClass6_0' V_0) - IL_0000: newobj instance void ExpressionTrees/'<>c__DisplayClass6_0'::.ctor() + .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 ExpressionTrees/'<>c__DisplayClass6_0'::a - IL_000e: call object ExpressionTrees::X() + 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 ExpressionTrees/'<>c__DisplayClass6_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 ExpressionTrees/'<>c__DisplayClass6_0'::a + 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) @@ -898,8 +1942,8 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 @@ -911,7 +1955,7 @@ .maxstack 6 .locals init (class [System.Core]System.Linq.Expressions.ParameterExpression V_0) IL_0000: nop - IL_0001: call object ExpressionTrees::X() + 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" @@ -927,8 +1971,8 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 @@ -938,14 +1982,14 @@ { // Code size 120 (0x78) .maxstack 4 - .locals init (class ExpressionTrees/'<>c__DisplayClass8_0' V_0) - IL_0000: newobj instance void ExpressionTrees/'<>c__DisplayClass8_0'::.ctor() + .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 ExpressionTrees/'<>c__DisplayClass8_0'::x + IL_0008: stfld int32 ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees/'<>c__DisplayClass10_0'::x IL_000d: nop - IL_000e: call object ExpressionTrees::X() + 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 @@ -953,11 +1997,11 @@ 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 ExpressionTrees/'<>c__DisplayClass8_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 ExpressionTrees/'<>c__DisplayClass8_0'::x + 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) @@ -975,8 +2019,8 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 @@ -987,7 +2031,7 @@ // Code size 154 (0x9a) .maxstack 8 IL_0000: nop - IL_0001: call object ExpressionTrees::X() + 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' @@ -1038,8 +2082,8 @@ 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 ExpressionTrees::ToCodef__AnonymousType0`2'>(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 @@ -1050,7 +2094,7 @@ // Code size 231 (0xe7) .maxstack 7 IL_0000: nop - IL_0001: call object ExpressionTrees::X() + 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 @@ -1122,8 +2166,8 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 @@ -1134,7 +2178,7 @@ // Code size 294 (0x126) .maxstack 17 IL_0000: nop - IL_0001: call object ExpressionTrees::X() + 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) @@ -1225,8 +2269,8 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 @@ -1237,7 +2281,7 @@ // Code size 54 (0x36) .maxstack 8 IL_0000: nop - IL_0001: call object ExpressionTrees::X() + 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) @@ -1249,8 +2293,8 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 @@ -1262,7 +2306,7 @@ .maxstack 7 .locals init (class [System.Core]System.Linq.Expressions.ParameterExpression V_0) IL_0000: nop - IL_0001: call object ExpressionTrees::X() + 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" @@ -1307,8 +2351,8 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 @@ -1320,7 +2364,7 @@ .maxstack 7 .locals init (valuetype [mscorlib]System.TimeSpan V_0) IL_0000: nop - IL_0001: call object ExpressionTrees::X() + IL_0001: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() IL_0006: ldtoken method instance void [mscorlib]System.TimeSpan::.ctor(int32, int32, int32) @@ -1378,8 +2422,8 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 @@ -1390,7 +2434,7 @@ // Code size 104 (0x68) .maxstack 8 IL_0000: nop - IL_0001: call object ExpressionTrees::X() + 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) @@ -1419,8 +2463,8 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 @@ -1430,8 +2474,8 @@ { // Code size 191 (0xbf) .maxstack 8 - .locals init (class ExpressionTrees/'<>c__DisplayClass16_0' V_0) - IL_0000: newobj instance void ExpressionTrees/'<>c__DisplayClass16_0'::.ctor() + .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 @@ -1439,27 +2483,27 @@ 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 ExpressionTrees/'<>c'::'<>9__16_0' + 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 ExpressionTrees/'<>c' ExpressionTrees/'<>c'::'<>9' - IL_001e: ldftn instance string ExpressionTrees/'<>c'::'b__16_0'(int32) + 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 ExpressionTrees/'<>c'::'<>9__16_0' + 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 ExpressionTrees/'<>c__DisplayClass16_0'::dict - IL_0039: call object ExpressionTrees::X() + 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 ExpressionTrees/'<>c__DisplayClass16_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 ExpressionTrees/'<>c__DisplayClass16_0'::dict + 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) @@ -1493,8 +2537,8 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 @@ -1505,7 +2549,7 @@ // Code size 54 (0x36) .maxstack 8 IL_0000: nop - IL_0001: call object ExpressionTrees::X() + 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) @@ -1517,8 +2561,8 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 @@ -1529,7 +2573,7 @@ // Code size 347 (0x15b) .maxstack 11 IL_0000: nop - IL_0001: call object ExpressionTrees::X() + 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) @@ -1649,8 +2693,8 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 @@ -1661,7 +2705,7 @@ // Code size 316 (0x13c) .maxstack 11 IL_0000: nop - IL_0001: call object ExpressionTrees::X() + 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, @@ -1766,8 +2810,8 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 @@ -1778,7 +2822,7 @@ // Code size 275 (0x113) .maxstack 11 IL_0000: nop - IL_0001: call object ExpressionTrees::X() + 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) @@ -1868,8 +2912,8 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 @@ -1880,7 +2924,7 @@ // Code size 145 (0x91) .maxstack 7 IL_0000: nop - IL_0001: call object ExpressionTrees::X() + 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) @@ -1924,8 +2968,8 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 @@ -1936,7 +2980,7 @@ // Code size 136 (0x88) .maxstack 8 IL_0000: nop - IL_0001: call object ExpressionTrees::X() + 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) @@ -1975,8 +3019,8 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 @@ -1986,39 +3030,39 @@ { // Code size 407 (0x197) .maxstack 8 - .locals init (class ExpressionTrees/'<>c__DisplayClass23_0' V_0) - IL_0000: newobj instance void ExpressionTrees/'<>c__DisplayClass23_0'::.ctor() + .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 ExpressionTrees/'<>c__DisplayClass23_0'::i + 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 ExpressionTrees/'<>c__DisplayClass23_0'::x - IL_0019: call object ExpressionTrees::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 ExpressionTrees/'<>c__DisplayClass23_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 ExpressionTrees/'<>c__DisplayClass23_0'::x + 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 ExpressionTrees/'<>c__DisplayClass23_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 ExpressionTrees/'<>c__DisplayClass23_0'::x + 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) @@ -2062,11 +3106,11 @@ 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 ExpressionTrees/'<>c__DisplayClass23_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 ExpressionTrees/'<>c__DisplayClass23_0'::i + 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) @@ -2107,8 +3151,8 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 @@ -2118,20 +3162,20 @@ { // Code size 115 (0x73) .maxstack 4 - .locals init (class ExpressionTrees/'<>c__DisplayClass24_0' V_0) - IL_0000: newobj instance void ExpressionTrees/'<>c__DisplayClass24_0'::.ctor() + .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 ExpressionTrees/'<>c__DisplayClass24_0'::z - IL_000f: call object ExpressionTrees::X() + 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 ExpressionTrees/'<>c__DisplayClass24_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 ExpressionTrees/'<>c__DisplayClass24_0'::z + 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) @@ -2152,8 +3196,8 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 @@ -2164,7 +3208,7 @@ // Code size 402 (0x192) .maxstack 8 IL_0000: nop - IL_0001: call object ExpressionTrees::X() + 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 @@ -2192,10 +3236,10 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 ExpressionTrees::X() + 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 @@ -2227,10 +3271,10 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 ExpressionTrees::X() + 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) @@ -2253,10 +3297,10 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 ExpressionTrees::X() + 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 @@ -2292,8 +3336,8 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 @@ -2305,7 +3349,7 @@ .maxstack 7 .locals init (valuetype [mscorlib]System.DateTime V_0) IL_0000: nop - IL_0001: call object ExpressionTrees::X() + 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 @@ -2332,10 +3376,10 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 ExpressionTrees::X() + 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) @@ -2358,10 +3402,10 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 ExpressionTrees::X() + 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) @@ -2376,10 +3420,10 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 ExpressionTrees::X() + 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) @@ -2396,10 +3440,10 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 ExpressionTrees::X() + 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) @@ -2424,10 +3468,10 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 ExpressionTrees::X() + 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) @@ -2451,10 +3495,10 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 ExpressionTrees::X() + 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) @@ -2474,8 +3518,8 @@ 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 ExpressionTrees::ToCode>(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 @@ -2486,22 +3530,22 @@ // Code size 347 (0x15b) .maxstack 9 IL_0000: nop - IL_0001: call object ExpressionTrees::X() + IL_0001: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() IL_0006: ldarg.0 - IL_0007: ldtoken ExpressionTrees + 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 ExpressionTrees::'field' + 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 ExpressionTrees + 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 ExpressionTrees::C() + 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 @@ -2515,10 +3559,10 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 ExpressionTrees::X() + 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) @@ -2529,14 +3573,14 @@ IL_0080: dup IL_0081: ldc.i4.0 IL_0082: ldarg.0 - IL_0083: ldtoken ExpressionTrees + 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 ExpressionTrees + 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 @@ -2548,16 +3592,16 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 ExpressionTrees::X() + IL_00c0: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() IL_00c5: ldarg.0 - IL_00c6: ldtoken ExpressionTrees + 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 ExpressionTrees::MyEquals(class ExpressionTrees) + 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 @@ -2565,7 +3609,7 @@ IL_00ea: dup IL_00eb: ldc.i4.0 IL_00ec: ldarg.0 - IL_00ed: ldtoken ExpressionTrees + 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) @@ -2574,11 +3618,11 @@ class [mscorlib]System.Reflection.MethodInfo, class [System.Core]System.Linq.Expressions.Expression[]) IL_0102: ldarg.0 - IL_0103: ldtoken ExpressionTrees + 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 ExpressionTrees::MyEquals(class ExpressionTrees) + 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 @@ -2586,7 +3630,7 @@ IL_0127: dup IL_0128: ldc.i4.0 IL_0129: ldnull - IL_012a: ldtoken ExpressionTrees + 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) @@ -2601,8 +3645,8 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 @@ -2618,7 +3662,7 @@ } // end of method ExpressionTrees::C .method private hidebysig instance bool - MyEquals(class ExpressionTrees other) cil managed + MyEquals(class ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees other) cil managed { // Code size 7 (0x7) .maxstack 8 @@ -2633,7 +3677,7 @@ // Code size 274 (0x112) .maxstack 12 IL_0000: nop - IL_0001: call object ExpressionTrees::X() + 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 @@ -2716,8 +3760,8 @@ 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 ExpressionTrees::ToCode>(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 @@ -2727,11 +3771,11 @@ { // Code size 873 (0x369) .maxstack 13 - .locals init (class ExpressionTrees/'<>c__DisplayClass31_0' V_0) - IL_0000: newobj instance void ExpressionTrees/'<>c__DisplayClass31_0'::.ctor() + .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 ExpressionTrees::X() + 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) @@ -2831,13 +3875,13 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 ExpressionTrees/'<>c__DisplayClass31_0'::set - IL_0144: call object ExpressionTrees::X() + 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) @@ -2919,11 +3963,11 @@ IL_023d: dup IL_023e: ldc.i4.1 IL_023f: ldloc.0 - IL_0240: ldtoken ExpressionTrees/'<>c__DisplayClass31_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 ExpressionTrees/'<>c__DisplayClass31_0'::set + 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) @@ -2943,29 +3987,29 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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> ExpressionTrees/'<>c'::'<>9__31_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 ExpressionTrees/'<>c' ExpressionTrees/'<>c'::'<>9' - IL_0299: ldftn instance bool ExpressionTrees/'<>c'::'b__31_0'(class [mscorlib]System.Func`3) + 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> ExpressionTrees/'<>c'::'<>9__31_0' - IL_02aa: stfld class [mscorlib]System.Func`2,bool> ExpressionTrees/'<>c__DisplayClass31_0'::sink - IL_02af: call object ExpressionTrees::X() + 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 ExpressionTrees/'<>c__DisplayClass31_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> ExpressionTrees/'<>c__DisplayClass31_0'::sink + 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) @@ -3018,8 +4062,8 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 @@ -3030,7 +4074,7 @@ // Code size 101 (0x65) .maxstack 4 IL_0000: nop - IL_0001: call object ExpressionTrees::X() + 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 @@ -3057,8 +4101,8 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 @@ -3069,7 +4113,7 @@ // Code size 143 (0x8f) .maxstack 4 IL_0000: nop - IL_0001: call object ExpressionTrees::X() + 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 @@ -3109,8 +4153,8 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 @@ -3120,32 +4164,32 @@ { // Code size 548 (0x224) .maxstack 12 - .locals init (class ExpressionTrees/'<>c__DisplayClass34_0' V_0, + .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 ExpressionTrees/'<>c__DisplayClass34_0'::.ctor() + 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> ExpressionTrees/'<>c'::'<>9__34_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 ExpressionTrees/'<>c' ExpressionTrees/'<>c'::'<>9' - IL_0016: ldftn instance int32 ExpressionTrees/'<>c'::'b__34_0'(class [mscorlib]System.Func`1) + 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> ExpressionTrees/'<>c'::'<>9__34_0' - IL_0027: stfld class [mscorlib]System.Func`2,int32> ExpressionTrees/'<>c__DisplayClass34_0'::'call' - IL_002c: call object ExpressionTrees::X() + 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 ExpressionTrees/'<>c__DisplayClass34_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> ExpressionTrees/'<>c__DisplayClass34_0'::'call' + 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) @@ -3170,10 +4214,10 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 ExpressionTrees::X() + 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) @@ -3241,10 +4285,10 @@ 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 ExpressionTrees::ToCode>(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 ExpressionTrees::X() + 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) @@ -3322,8 +4366,8 @@ 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 ExpressionTrees::ToCode>(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 @@ -3337,7 +4381,7 @@ 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 ExpressionTrees::X() + 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" @@ -3387,8 +4431,8 @@ 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 ExpressionTrees::ToCode>>(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 @@ -3468,13 +4512,13 @@ .maxstack 14 .locals init (class [System.Core]System.Linq.Expressions.ParameterExpression V_0) IL_0000: nop - IL_0001: call object ExpressionTrees::X() + IL_0001: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() IL_0006: ldarg.0 - IL_0007: ldtoken ExpressionTrees + 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 ExpressionTrees::Fizz(class [mscorlib]System.Func`2) + 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 @@ -3511,16 +4555,16 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 ExpressionTrees::X() + IL_0082: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() IL_0087: ldarg.0 - IL_0088: ldtoken ExpressionTrees + 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 ExpressionTrees::Fizz(class [mscorlib]System.Func`2) + 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 @@ -3557,16 +4601,16 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 ExpressionTrees::X() + IL_0103: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() IL_0108: ldarg.0 - IL_0109: ldtoken ExpressionTrees + 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 ExpressionTrees::Fizz(class [mscorlib]System.Func`2) + 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 @@ -3580,7 +4624,7 @@ string) IL_0143: stloc.0 IL_0144: ldloc.0 - IL_0145: ldtoken method instance void ExpressionTrees::NestedLambda2() + 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 @@ -3605,7 +4649,7 @@ IL_0194: dup IL_0195: ldc.i4.1 IL_0196: ldarg.0 - IL_0197: ldtoken ExpressionTrees + 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) @@ -3642,16 +4686,16 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 ExpressionTrees::X() + IL_01f6: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() IL_01fb: ldarg.0 - IL_01fc: ldtoken ExpressionTrees + 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 ExpressionTrees::Fizz(class [mscorlib]System.Func`2) + 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 @@ -3665,7 +4709,7 @@ string) IL_0236: stloc.0 IL_0237: ldloc.0 - IL_0238: ldtoken method instance void ExpressionTrees::NestedLambda2() + 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 @@ -3690,7 +4734,7 @@ IL_0287: dup IL_0288: ldc.i4.1 IL_0289: ldarg.0 - IL_028a: ldtoken ExpressionTrees + 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) @@ -3727,16 +4771,16 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 ExpressionTrees::X() + IL_02e9: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() IL_02ee: ldarg.0 - IL_02ef: ldtoken ExpressionTrees + 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 ExpressionTrees::Fizz(class [mscorlib]System.Func`2) + 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 @@ -3774,16 +4818,16 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 ExpressionTrees::X() + IL_036c: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() IL_0371: ldarg.0 - IL_0372: ldtoken ExpressionTrees + 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 ExpressionTrees::Fizz(class [mscorlib]System.Func`2) + 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 @@ -3818,16 +4862,16 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 ExpressionTrees::X() + IL_03e8: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() IL_03ed: ldarg.0 - IL_03ee: ldtoken ExpressionTrees + 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 ExpressionTrees::Buzz(class [mscorlib]System.Func`2) + 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 @@ -3862,8 +4906,8 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 @@ -3874,7 +4918,7 @@ // Code size 291 (0x123) .maxstack 12 IL_0000: nop - IL_0001: call object ExpressionTrees::X() + 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) @@ -3961,8 +5005,8 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 @@ -3973,7 +5017,7 @@ // Code size 139 (0x8b) .maxstack 7 IL_0000: nop - IL_0001: call object ExpressionTrees::X() + 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 @@ -4015,8 +5059,8 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 @@ -4027,7 +5071,7 @@ // Code size 59 (0x3b) .maxstack 8 IL_0000: nop - IL_0001: call object ExpressionTrees::X() + 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) @@ -4040,8 +5084,8 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 @@ -4051,26 +5095,26 @@ { // Code size 271 (0x10f) .maxstack 4 - .locals init (class ExpressionTrees/'<>c__DisplayClass44_0' V_0) - IL_0000: newobj instance void ExpressionTrees/'<>c__DisplayClass44_0'::.ctor() + .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 ExpressionTrees/'<>c__DisplayClass44_0'::x + 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 ExpressionTrees/'<>c__DisplayClass44_0'::y + 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 ExpressionTrees/'<>c__DisplayClass44_0'::z - IL_001d: call object ExpressionTrees::X() + 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 ExpressionTrees/'<>c__DisplayClass44_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 ExpressionTrees/'<>c__DisplayClass44_0'::z + 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) @@ -4091,16 +5135,16 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 ExpressionTrees::X() + IL_0080: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() IL_0085: ldloc.0 - IL_0086: ldtoken ExpressionTrees/'<>c__DisplayClass44_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 ExpressionTrees/'<>c__DisplayClass44_0'::y + 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) @@ -4117,16 +5161,16 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 ExpressionTrees::X() + IL_00d4: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() IL_00d9: ldloc.0 - IL_00da: ldtoken ExpressionTrees/'<>c__DisplayClass44_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 ExpressionTrees/'<>c__DisplayClass44_0'::x + 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) @@ -4135,8 +5179,8 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 @@ -4146,8 +5190,8 @@ { // Code size 291 (0x123) .maxstack 8 - .locals init (class ExpressionTrees/'<>c__DisplayClass45_0' V_0) - IL_0000: newobj instance void ExpressionTrees/'<>c__DisplayClass45_0'::.ctor() + .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 @@ -4160,8 +5204,8 @@ 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 ExpressionTrees/'<>c__DisplayClass45_0'::s - IL_0022: call object ExpressionTrees::X() + 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) @@ -4173,11 +5217,11 @@ 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 ExpressionTrees/'<>c__DisplayClass45_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 ExpressionTrees/'<>c__DisplayClass45_0'::s + 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) @@ -4195,11 +5239,11 @@ 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 ExpressionTrees/'<>c__DisplayClass45_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 ExpressionTrees/'<>c__DisplayClass45_0'::s + 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) @@ -4221,11 +5265,11 @@ IL_00ea: dup IL_00eb: ldc.i4.0 IL_00ec: ldloc.0 - IL_00ed: ldtoken ExpressionTrees/'<>c__DisplayClass45_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 ExpressionTrees/'<>c__DisplayClass45_0'::s + 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) @@ -4237,8 +5281,8 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 @@ -4251,7 +5295,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: call object ExpressionTrees::X() + 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" @@ -4309,8 +5353,8 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 @@ -4321,10 +5365,10 @@ // Code size 166 (0xa6) .maxstack 9 IL_0000: nop - IL_0001: call object ExpressionTrees::X() + IL_0001: call object ICSharpCode.Decompiler.Tests.TestCases.Pretty.ExpressionTrees::X() IL_0006: ldnull - IL_0007: ldtoken method object ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 @@ -4332,7 +5376,7 @@ IL_001c: dup IL_001d: ldc.i4.0 IL_001e: ldnull - IL_001f: ldtoken method object ExpressionTrees::X() + 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 @@ -4378,8 +5422,8 @@ 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 @@ -4391,7 +5435,7 @@ .maxstack 22 .locals init (class [System.Core]System.Linq.Expressions.ParameterExpression V_0) IL_0000: nop - IL_0001: call object ExpressionTrees::X() + 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) @@ -4480,604 +5524,4393 @@ 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, + 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_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, + 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_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, + 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_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 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 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, + 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_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 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 ExpressionTrees::X() - IL_0006: ldarg.0 - IL_0007: ldtoken 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, + 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_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, + 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_0067: call object ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) - IL_006c: pop - IL_006d: ret - } // end of method ExpressionTrees::ThisCall + 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 instance void - ThisExplicit() cil managed + .method public hidebysig static void Quote() cil managed { - // Code size 109 (0x6d) - .maxstack 8 + // 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: call object 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 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, + 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_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, + 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_0066: call object ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) - IL_006b: pop - IL_006c: ret - } // end of method ExpressionTrees::ThisExplicit + 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 instance void - TypedConstant() cil managed + .method public hidebysig static void ArrayInitializer() cil managed { - // Code size 101 (0x65) - .maxstack 7 + // Code size 611 (0x263) + .maxstack 11 IL_0000: nop - IL_0001: call object 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, + 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_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, + 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_004d: stelem.ref - IL_004e: call class [System.Core]System.Linq.Expressions.NewArrayExpression [System.Core]System.Linq.Expressions.Expression::NewArrayInit(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_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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) - IL_0063: pop - IL_0064: ret - } // end of method ExpressionTrees::TypedConstant + 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 instance void - StaticCallImplicitCast() cil managed + .method public hidebysig static void AnonymousTypes() cil managed { - // Code size 129 (0x81) + // Code size 180 (0xb4) .maxstack 8 IL_0000: nop - IL_0001: call object 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, + 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_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_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: 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_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.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: 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) + 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 + } // end of method ExpressionTrees::ObjectInit - .method public hidebysig instance void - StaticMembers() cil managed + .method public hidebysig specialname rtspecialname + instance void .ctor() cil managed { - // Code size 217 (0xd9) - .maxstack 10 + // 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: call object 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) - IL_00d7: pop - IL_00d8: ret - } // end of method ExpressionTrees::StaticMembers + 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 - .method public hidebysig instance void - Strings() cil managed +.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 407 (0x197) + // Code size 9 (0x9) .maxstack 8 - .locals init (class ExpressionTrees/'<>c__DisplayClass55_0' V_0) - IL_0000: newobj instance void ExpressionTrees/'<>c__DisplayClass55_0'::.ctor() - IL_0005: stloc.0 + IL_0000: ldarg.0 + IL_0001: call instance void [mscorlib]System.Object::.ctor() IL_0006: nop - IL_0007: ldloc.0 - IL_0008: ldc.i4.1 - IL_0009: stfld int32 ExpressionTrees/'<>c__DisplayClass55_0'::i - IL_000e: ldloc.0 - IL_000f: ldstr "X" - IL_0014: stfld string ExpressionTrees/'<>c__DisplayClass55_0'::x - IL_0019: call object 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 ExpressionTrees/'<>c__DisplayClass55_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 ExpressionTrees/'<>c__DisplayClass55_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 ExpressionTrees/'<>c__DisplayClass55_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 ExpressionTrees/'<>c__DisplayClass55_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 ExpressionTrees/'<>c__DisplayClass55_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 ExpressionTrees/'<>c__DisplayClass55_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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) - IL_0195: pop - IL_0196: ret - } // end of method ExpressionTrees::Strings + IL_0007: nop + IL_0008: ret + } // end of method SimpleTypeWithCtor::.ctor - .method public hidebysig instance void - GenericClassInstance() cil managed +} // 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 119 (0x77) - .maxstack 5 - IL_0000: nop - IL_0001: call object ExpressionTrees::X() - IL_0006: ldtoken class 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 ExpressionTrees/GenericClass`1::InstanceField - IL_001a: ldtoken class 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 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 ExpressionTrees/GenericClass`1::get_InstanceProperty() - IL_004c: ldtoken class 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) - IL_0075: pop - IL_0076: ret - } // end of method ExpressionTrees::GenericClassInstance + // 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 instance void - GenericClassStatic() cil managed + .method public hidebysig specialname rtspecialname + instance void .ctor(int32 i) cil managed { - // Code size 91 (0x5b) - .maxstack 5 - IL_0000: nop - IL_0001: call object ExpressionTrees::X() - IL_0006: ldnull - IL_0007: ldtoken field !0 class ExpressionTrees/GenericClass`1::StaticField - IL_000c: ldtoken class 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 ExpressionTrees/GenericClass`1::get_StaticProperty() - IL_0030: ldtoken class 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) - IL_0059: pop - IL_005a: ret - } // end of method ExpressionTrees::GenericClassStatic + // 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 instance void - InvokeGenericMethod() cil managed +} // 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 56 (0x38) + // Code size 8 (0x8) .maxstack 8 - IL_0000: nop - IL_0001: call object ExpressionTrees::X() - IL_0006: ldnull - IL_0007: ldtoken method bool class ExpressionTrees/GenericClass`1::GenericMethod() - IL_000c: ldtoken class 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 ExpressionTrees::ToCode(object, - class [System.Core]System.Linq.Expressions.Expression`1>) - IL_0036: pop - IL_0037: ret - } // end of method ExpressionTrees::InvokeGenericMethod + 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 { @@ -5087,11 +9920,27 @@ IL_0001: call instance void [mscorlib]System.Object::.ctor() IL_0006: nop IL_0007: ret - } // end of method ExpressionTrees::.ctor + } // 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' -} // end of class ExpressionTrees + .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/IL/Transforms/TransformExpressionTrees.cs b/ICSharpCode.Decompiler/IL/Transforms/TransformExpressionTrees.cs index 985254f82..9679a84c3 100644 --- a/ICSharpCode.Decompiler/IL/Transforms/TransformExpressionTrees.cs +++ b/ICSharpCode.Decompiler/IL/Transforms/TransformExpressionTrees.cs @@ -153,7 +153,7 @@ namespace ICSharpCode.Decompiler.IL.Transforms 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.TypeArguments.LastOrDefault() ?? context.TypeSystem.Compilation.FindType(KnownTypeCode.Void), parameterList, container); + var function = new ILFunction(functionType.GetDelegateInvokeMethod()?.ReturnType, parameterList, container); if (isQuotedLambda || lambdaStack.Count == 0) function.DelegateType = instruction.Method.ReturnType; else From a2376d6f3edbe73388f8684cea09fc247f479b9f Mon Sep 17 00:00:00 2001 From: Siegfried Pammer Date: Sat, 25 Nov 2017 20:54:18 +0100 Subject: [PATCH 16/17] Fix performance bug in TransformExpressionTrees --- .../IL/Transforms/TransformExpressionTrees.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ICSharpCode.Decompiler/IL/Transforms/TransformExpressionTrees.cs b/ICSharpCode.Decompiler/IL/Transforms/TransformExpressionTrees.cs index 9679a84c3..122d642ea 100644 --- a/ICSharpCode.Decompiler/IL/Transforms/TransformExpressionTrees.cs +++ b/ICSharpCode.Decompiler/IL/Transforms/TransformExpressionTrees.cs @@ -115,8 +115,8 @@ namespace ICSharpCode.Decompiler.IL.Transforms foreach (var inst in instructionsToRemove) block.Instructions.Remove(inst); instructionsToRemove.Clear(); - continue; } + break; } } From 31f791cc2f62a166f2a43ff08c19739a5d34bb03 Mon Sep 17 00:00:00 2001 From: Siegfried Pammer Date: Sat, 25 Nov 2017 21:18:37 +0100 Subject: [PATCH 17/17] Add negative test-case to Correctness/ExpressionTrees.cs --- .../TestCases/Correctness/ExpressionTrees.cs | 20 +++++++++---------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/ICSharpCode.Decompiler.Tests/TestCases/Correctness/ExpressionTrees.cs b/ICSharpCode.Decompiler.Tests/TestCases/Correctness/ExpressionTrees.cs index 94fc3ab38..09ef4a7cd 100644 --- a/ICSharpCode.Decompiler.Tests/TestCases/Correctness/ExpressionTrees.cs +++ b/ICSharpCode.Decompiler.Tests/TestCases/Correctness/ExpressionTrees.cs @@ -12,24 +12,22 @@ namespace ICSharpCode.Decompiler.Tests.TestCases.Correctness static void Main() { Test(); + var twice = GetExpression(Expression.Constant(2)).Compile(); + Console.WriteLine(twice(21)); } - public Expression> GetExpression(int i) - { - return a => a + i; - } - - public Expression>> GetExpression2() - { - return a => b => a + b; - } - - public static void Test() + 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); + } } }