.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 716d7f6a5b Fix #3803: Crash on nested deconstruction of custom structs 1 month ago
..
Async.cs Run the decompiler test suite on Linux 3 months ago
BitNot.il Move test projects to their own directory in \ 9 years ago
Capturing.cs dev: Strip BOM mark from text files 1 year ago
ComInterop.cs Fix IDE2000 globally 9 months ago
Comparisons.cs dev: Strip BOM mark from text files 1 year ago
CompoundAssignment.cs dev: Strip BOM mark from text files 1 year ago
ConditionalAttr.cs dev: Strip BOM mark from text files 1 year ago
ControlFlow.cs dev: Strip BOM mark from text files 1 year ago
Conversions.cs dev: Strip BOM mark from text files 1 year ago
DecimalFields.cs Fix code style 3 years ago
DeconstructionTests.cs Fix #3803: Crash on nested deconstruction of custom structs 1 month ago
DynamicTests.cs Exercise dynamic unary operators in the correctness suite 3 months ago
ExpressionTrees.cs dev: Strip BOM mark from text files 1 year ago
FloatingPointArithmetic.cs Fix IDE2000 globally 9 months ago
Generics.cs dev: Strip BOM mark from text files 1 year ago
HelloWorld.cs dev: Strip BOM mark from text files 1 year ago
InitializerTests.cs dev: Strip BOM mark from text files 1 year ago
Jmp.il #899: decode jmp instruction into tail call 9 years ago
LINQRaytracer.cs Fix IDE2000 globally 9 months ago
Loops.cs dev: Strip BOM mark from text files 1 year ago
MemberLookup.cs dev: Strip BOM mark from text files 1 year ago
MiniJSON.cs dev: Strip BOM mark from text files 1 year 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. 1 year ago
NullPropagation.cs Fix #3821: keep ref-struct conditional as if/return, not ?. / ?? (CS8978) 3 months ago
NullableTests.cs Fix IDE2000 globally 9 months ago
OverloadResolution.cs dev: Strip BOM mark from text files 1 year ago
PropertiesAndEvents.cs dev: Strip BOM mark from text files 1 year ago
Readme.txt dev: Strip BOM mark from text files 1 year ago
StackTests.il dev: Strip BOM mark from text files 1 year 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 1 year ago
Switch.cs dev: Strip BOM mark from text files 1 year ago
TrickyTypes.cs dev: Strip BOM mark from text files 1 year ago
UncheckedConstants.cs Fix #3826: wrap an overflowing constant subexpression in unchecked() 3 months ago
UndocumentedExpressions.cs dev: Strip BOM mark from text files 1 year ago
Uninit.vb dev: Strip BOM mark from text files 1 year ago
UnsafeCode.cs dev: Strip BOM mark from text files 1 year ago
Using.cs dev: Strip BOM mark from text files 1 year ago
ValueTypeCall.cs dev: Strip BOM mark from text files 1 year ago
YieldReturn.cs Fix IDE2000 globally 9 months 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.