.NET Decompiler with support for PDB generation, ReadyToRun, Metadata (&more) - cross-platform!
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
Siegfried Pammer 6702488af5 Add Loops tests (ignored); commit loop transform WIP 10 years ago
..
.gitignore Run correctness tests with roslyn, and add some roslyn-based pretty-tests as well. 10 years ago
Async.cs Add roundtrip test case for ICSharpCode.Decompiler and pretty tests for Async and YieldReturn 10 years ago
CompoundAssignmentTest.cs Run correctness tests with roslyn, and add some roslyn-based pretty-tests as well. 10 years ago
CompoundAssignmentTest.il Run correctness tests with roslyn, and add some roslyn-based pretty-tests as well. 10 years ago
CompoundAssignmentTest.opt.il Run correctness tests with roslyn, and add some roslyn-based pretty-tests as well. 10 years ago
CompoundAssignmentTest.opt.roslyn.il Run correctness tests with roslyn, and add some roslyn-based pretty-tests as well. 10 years ago
CompoundAssignmentTest.roslyn.il Run correctness tests with roslyn, and add some roslyn-based pretty-tests as well. 10 years ago
ExceptionHandling.cs Remove unused usings in solution; remove dead code; unify namespaces 10 years ago
ExceptionHandling.il Improve detection of short-circuiting operators. 10 years ago
ExceptionHandling.opt.il Improve detection of short-circuiting operators. 10 years ago
HelloWorld.cs Add TransformInlineAssignment and InlineAssignmentTest 10 years ago
HelloWorld.il Run correctness tests with roslyn, and add some roslyn-based pretty-tests as well. 10 years ago
InlineAssignmentTest.cs Run correctness tests with roslyn, and add some roslyn-based pretty-tests as well. 10 years ago
InlineAssignmentTest.il Run correctness tests with roslyn, and add some roslyn-based pretty-tests as well. 10 years ago
InlineAssignmentTest.opt.il Run correctness tests with roslyn, and add some roslyn-based pretty-tests as well. 10 years ago
Loops.cs Add Loops tests (ignored); commit loop transform WIP 10 years ago
Loops.il Add Loops tests (ignored); commit loop transform WIP 10 years ago
Loops.opt.il Add Loops tests (ignored); commit loop transform WIP 10 years ago
Loops.opt.roslyn.il Add Loops tests (ignored); commit loop transform WIP 10 years ago
Loops.roslyn.il Add Loops tests (ignored); commit loop transform WIP 10 years ago
Readme.txt Initial attempt at short-circuiting if conditions 10 years ago
ShortCircuit.cs Remove unused usings in solution; remove dead code; unify namespaces 10 years ago
ShortCircuit.il Improve detection of short-circuiting operators. 10 years ago
ShortCircuit.opt.il Improve detection of short-circuiting operators. 10 years ago
ShortCircuit.opt.roslyn.il Improve detection of short-circuiting operators. 10 years ago
ShortCircuit.roslyn.il Improve detection of short-circuiting operators. 10 years ago
YieldReturn.cs Add roundtrip test case for ICSharpCode.Decompiler and pretty tests for Async and YieldReturn 10 years ago

Readme.txt

The files in this folder are prettiness tests for the decompiler.

The NUnit class running these tests is ../PrettyTestRunner.cs.
It uses pre-defined IL files in order to avoid test failures in cause of compiler changes.
We test different C# compiler versions as well (in future).

Each test consists of a C# file for comparing the resulting code and a source IL file used for assembling/decompiling.

We:
* assemble a test case (call the result "executable 1")
* decompile "executable 1" to C# ("decompiled.cs")
* compare "decompiled.cs" to "source.cs"

The tests pass if the code looks exactly the same as the input code, ignoring comments, empty lines and preprocessor directives.

Note: If you delete an .il file, it will be re-created on the next test run.
This can be helpful when modifying the test case; but it also might have unexpected results when your C# compiler differs
from the compiler previously used to create the .il file.