.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 77d9ee73e9 Fix IDE2000 globally 3 days ago
..
Async.cs Fix IDE2000 globally 3 days ago
BitNot.il Move test projects to their own directory in \ 8 years ago
Capturing.cs dev: Strip BOM mark from text files 4 months ago
ComInterop.cs Fix IDE2000 globally 3 days ago
Comparisons.cs dev: Strip BOM mark from text files 4 months ago
CompoundAssignment.cs dev: Strip BOM mark from text files 4 months ago
ConditionalAttr.cs dev: Strip BOM mark from text files 4 months ago
ControlFlow.cs dev: Strip BOM mark from text files 4 months ago
Conversions.cs dev: Strip BOM mark from text files 4 months ago
DecimalFields.cs Fix code style 3 years ago
DeconstructionTests.cs dev: Strip BOM mark from text files 4 months ago
DynamicTests.cs dev: Strip BOM mark from text files 4 months ago
ExpressionTrees.cs dev: Strip BOM mark from text files 4 months ago
FloatingPointArithmetic.cs Fix IDE2000 globally 3 days ago
Generics.cs dev: Strip BOM mark from text files 4 months ago
HelloWorld.cs dev: Strip BOM mark from text files 4 months ago
InitializerTests.cs dev: Strip BOM mark from text files 4 months ago
Jmp.il #899: decode jmp instruction into tail call 8 years ago
LINQRaytracer.cs Fix IDE2000 globally 3 days ago
Loops.cs dev: Strip BOM mark from text files 4 months ago
MemberLookup.cs dev: Strip BOM mark from text files 4 months ago
MiniJSON.cs dev: Strip BOM mark from text files 4 months ago
NonGenericConstrainedCallVirt.il Prevent inlining of call arguments when doing so would change order of evaluation with regards to the implicit ldobj performed by a constrained.callvirt. 9 months ago
NullPropagation.cs dev: Strip BOM mark from text files 4 months ago
NullableTests.cs Fix IDE2000 globally 3 days ago
OverloadResolution.cs dev: Strip BOM mark from text files 4 months ago
PropertiesAndEvents.cs dev: Strip BOM mark from text files 4 months ago
Readme.txt dev: Strip BOM mark from text files 4 months ago
StackTests.il dev: Strip BOM mark from text files 4 months ago
StackTypes.il Fix #901: Refactor ILReader: only read reachable code + support reimports 3 years ago
StringConcat.cs dev: Strip BOM mark from text files 4 months ago
Switch.cs dev: Strip BOM mark from text files 4 months ago
TrickyTypes.cs dev: Strip BOM mark from text files 4 months ago
UndocumentedExpressions.cs dev: Strip BOM mark from text files 4 months ago
Uninit.vb dev: Strip BOM mark from text files 4 months ago
UnsafeCode.cs dev: Strip BOM mark from text files 4 months ago
Using.cs dev: Strip BOM mark from text files 4 months ago
ValueTypeCall.cs dev: Strip BOM mark from text files 4 months ago
YieldReturn.cs Fix IDE2000 globally 3 days ago

Readme.txt

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

The NUnit class running these tests is ../../CorrectnessTestRunner.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.