.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.
 
 
 
 
Daniel Grunwald 3faca4372e Fix subtle issues with BitNot operator. 10 years ago
..
BitNot.il Fix subtle issues with BitNot operator. 10 years ago
Comparisons.cs Fix various issues that caused conversions to decompile to code with different semantics: 10 years ago
CompoundAssignment.cs Add some CompoundAssignment tests 11 years ago
ControlFlow.cs Adjust exit codes of remaining test cases (fixes build) 10 years ago
ConvTest.il Add test and fix for conv.i/conv.u casts 10 years ago
Conversions.cs add failing unit test to "Conversions" 10 years ago
DecimalFields.cs add transformation of decimal literals and decimal constants 11 years ago
Generics.cs Fix 'this' type in generic classes/structs. 10 years ago
HelloWorld.cs Merge remote-tracking branch 'origin/master' into newdecompiler 11 years ago
ILTest.il Fix subtle issues with BitNot operator. 10 years ago
InitializerTests.cs Adjust exit codes of remaining test cases (fixes build) 10 years ago
MemberLookup.cs add missing casts to property- and event-uses 10 years ago
PropertiesAndEvents.cs Adjust exit codes of remaining test cases (fixes build) 10 years ago
Readme.txt Move whole-project-decompilation into ICSharpCode.Decompiler and create test case. 10 years ago
Switch.cs Fix order of ILAst debug languages. 10 years ago
UndocumentedExpressions.cs Fix undocumented expressions 10 years ago
UnsafeCode.cs First attempt at pinned regions. 10 years ago
ValueTypeCall.cs Fix 'this' type in generic classes/structs. 10 years ago

Readme.txt

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

The NUnit class running these tests is ../TestRunner.cs.

We:
* compile/assemble a test case (call the result "executable 1")
* decompile "executable 1" to C# ("decompiled.cs")
* compile decompiled.cs, resulting in "executable 2"
* run both executable and compare their output (exit code, stdout, stderr)

We repeat the steps above with a few different compiler options (/o+ or not; /debug or not).

The tests pass if the code compiles without error and produces the same output.
The tests do not care at all if the resulting code is pretty, or if any high-level constructs like closures were detected.