.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 081528ab52 fix #772 - Creation of an anonymous array doesn't decompile properly 9 years ago
..
.gitignore Run correctness tests with roslyn, and add some roslyn-based pretty-tests as well. 9 years ago
AnonymousTypes.cs fix #772 - Creation of an anonymous array doesn't decompile properly 9 years ago
AnonymousTypes.il fix #772 - Creation of an anonymous array doesn't decompile properly 9 years ago
AnonymousTypes.opt.il fix #772 - Creation of an anonymous array doesn't decompile properly 9 years ago
Async.cs Add roundtrip test case for ICSharpCode.Decompiler and pretty tests for Async and YieldReturn 9 years ago
CompoundAssignmentTest.cs Run correctness tests with roslyn, and add some roslyn-based pretty-tests as well. 9 years ago
CompoundAssignmentTest.il Run correctness tests with roslyn, and add some roslyn-based pretty-tests as well. 9 years ago
CompoundAssignmentTest.opt.il Run correctness tests with roslyn, and add some roslyn-based pretty-tests as well. 9 years ago
CompoundAssignmentTest.opt.roslyn.il Run correctness tests with roslyn, and add some roslyn-based pretty-tests as well. 9 years ago
CompoundAssignmentTest.roslyn.il Run correctness tests with roslyn, and add some roslyn-based pretty-tests as well. 9 years ago
ExceptionHandling.cs Remove unused usings in solution; remove dead code; unify namespaces 9 years ago
ExceptionHandling.il Improve detection of short-circuiting operators. 9 years ago
ExceptionHandling.opt.il Improve detection of short-circuiting operators. 9 years ago
HelloWorld.cs Add TransformInlineAssignment and InlineAssignmentTest 9 years ago
HelloWorld.il Run correctness tests with roslyn, and add some roslyn-based pretty-tests as well. 9 years ago
InlineAssignmentTest.cs Run correctness tests with roslyn, and add some roslyn-based pretty-tests as well. 9 years ago
InlineAssignmentTest.il Run correctness tests with roslyn, and add some roslyn-based pretty-tests as well. 9 years ago
InlineAssignmentTest.opt.il Run correctness tests with roslyn, and add some roslyn-based pretty-tests as well. 9 years ago
Loops.cs Add Loops tests (ignored); commit loop transform WIP 9 years ago
Loops.il Add Loops tests (ignored); commit loop transform WIP 9 years ago
Loops.opt.il Add Loops tests (ignored); commit loop transform WIP 9 years ago
Loops.opt.roslyn.il Add Loops tests (ignored); commit loop transform WIP 9 years ago
Loops.roslyn.il Add Loops tests (ignored); commit loop transform WIP 9 years ago
Readme.txt Initial attempt at short-circuiting if conditions 9 years ago
ShortCircuit.cs Remove unused usings in solution; remove dead code; unify namespaces 9 years ago
ShortCircuit.il Improve detection of short-circuiting operators. 9 years ago
ShortCircuit.opt.il Improve detection of short-circuiting operators. 9 years ago
ShortCircuit.opt.roslyn.il Improve detection of short-circuiting operators. 9 years ago
ShortCircuit.roslyn.il Improve detection of short-circuiting operators. 9 years ago
YieldReturn.cs Add roundtrip test case for ICSharpCode.Decompiler and pretty tests for Async and YieldReturn 9 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.