Browse Source

Extend expression tree tests

pull/988/head
Siegfried Pammer 8 years ago
parent
commit
2b669debdb
  1. 978
      ICSharpCode.Decompiler.Tests/TestCases/Pretty/ExpressionTrees.cs
  2. 6341
      ICSharpCode.Decompiler.Tests/TestCases/Pretty/ExpressionTrees.il
  3. 5993
      ICSharpCode.Decompiler.Tests/TestCases/Pretty/ExpressionTrees.opt.il
  4. 12624
      ICSharpCode.Decompiler.Tests/TestCases/Pretty/ExpressionTrees.opt.roslyn.il
  5. 6817
      ICSharpCode.Decompiler.Tests/TestCases/Pretty/ExpressionTrees.roslyn.il
  6. 2
      ICSharpCode.Decompiler/IL/Transforms/TransformExpressionTrees.cs

978
ICSharpCode.Decompiler.Tests/TestCases/Pretty/ExpressionTrees.cs

File diff suppressed because it is too large Load Diff

6341
ICSharpCode.Decompiler.Tests/TestCases/Pretty/ExpressionTrees.il

File diff suppressed because it is too large Load Diff

5993
ICSharpCode.Decompiler.Tests/TestCases/Pretty/ExpressionTrees.opt.il

File diff suppressed because it is too large Load Diff

12624
ICSharpCode.Decompiler.Tests/TestCases/Pretty/ExpressionTrees.opt.roslyn.il

File diff suppressed because it is too large Load Diff

6817
ICSharpCode.Decompiler.Tests/TestCases/Pretty/ExpressionTrees.roslyn.il

File diff suppressed because it is too large Load Diff

2
ICSharpCode.Decompiler/IL/Transforms/TransformExpressionTrees.cs

@ -153,7 +153,7 @@ namespace ICSharpCode.Decompiler.IL.Transforms @@ -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

Loading…
Cancel
Save