Browse Source

Add RemovedDeadCode = true to F# ILPretty tests

pull/925/merge
Siegfried Pammer 8 years ago
parent
commit
68357655b4
  1. 4
      ICSharpCode.Decompiler.Tests/Helpers/Tester.cs
  2. 12
      ICSharpCode.Decompiler.Tests/ILPrettyTestRunner.cs

4
ICSharpCode.Decompiler.Tests/Helpers/Tester.cs

@ -256,11 +256,11 @@ namespace ICSharpCode.Decompiler.Tests.Helpers
return process.ExitCode;
}
public static string DecompileCSharp(string assemblyFileName)
public static string DecompileCSharp(string assemblyFileName, DecompilerSettings settings = null)
{
using (var module = ModuleDefinition.ReadModule(assemblyFileName)) {
var typeSystem = new DecompilerTypeSystem(module);
CSharpDecompiler decompiler = new CSharpDecompiler(typeSystem, new DecompilerSettings());
CSharpDecompiler decompiler = new CSharpDecompiler(typeSystem, settings ?? new DecompilerSettings());
decompiler.AstTransforms.Insert(0, new RemoveCompilerAttribute());
decompiler.AstTransforms.Add(new EscapeInvalidIdentifiers());
var syntaxTree = decompiler.DecompileWholeModuleAsSingleFile();

12
ICSharpCode.Decompiler.Tests/ILPrettyTestRunner.cs

@ -45,34 +45,34 @@ namespace ICSharpCode.Decompiler.Tests
[Test]
public void FSharpUsing_Debug()
{
Run();
Run(settings: new DecompilerSettings { RemoveDeadCode = true });
}
[Test]
public void FSharpUsing_Release()
{
Run();
Run(settings: new DecompilerSettings { RemoveDeadCode = true });
}
[Test, Ignore]
public void FSharpLoops_Debug()
{
Run();
Run(settings: new DecompilerSettings { RemoveDeadCode = true });
}
[Test, Ignore]
public void FSharpLoops_Release()
{
Run();
Run(settings: new DecompilerSettings { RemoveDeadCode = true });
}
void Run([CallerMemberName] string testName = null)
void Run([CallerMemberName] string testName = null, DecompilerSettings settings = null)
{
var ilFile = Path.Combine(TestCasePath, testName + ".il");
var csFile = Path.Combine(TestCasePath, testName + ".cs");
var executable = Tester.AssembleIL(ilFile, AssemblerOptions.Library);
var decompiled = Tester.DecompileCSharp(executable);
var decompiled = Tester.DecompileCSharp(executable, settings);
CodeAssert.FilesAreEqual(csFile, decompiled);
}

Loading…
Cancel
Save