.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 13140f60be
Merge pull request #960 from icsharpcode/increment
8 years ago
..
Async.cs Remove redundant lambda casts. 8 years ago
BitNot.il Move test projects to their own directory in \ 8 years ago
Capturing.cs Move test projects to their own directory in \ 8 years ago
Comparisons.cs Move test projects to their own directory in \ 8 years ago
CompoundAssignment.cs Add support for compound assignment of short integers. 8 years ago
ConditionalAttr.cs Move test projects to their own directory in \ 8 years ago
ControlFlow.cs Move using test from ControlFlow to Using 8 years ago
Conversions.cs Fix #926: missing explicit casts for implicit operators 8 years ago
DecimalFields.cs Move test projects to their own directory in \ 8 years ago
Generics.cs Fix #958: Invalid cast in generic class for abstract base call 8 years ago
HelloWorld.cs Move test projects to their own directory in \ 8 years ago
InitializerTests.cs Fix #953: Missing nullable specifier for array initializer 8 years ago
Jmp.il #899: decode jmp instruction into tail call 8 years ago
LINQRaytracer.cs Reduce size of LINQRaytracer test case 8 years ago
Loops.cs Add more correctness tests and fix bug in UnwrapNestedContainerIfPossible. 8 years ago
MemberLookup.cs Move test projects to their own directory in \ 8 years ago
NullableTests.cs [nullables] Fix nullable transform being applied incorrectly. 8 years ago
OverloadResolution.cs Add overload resolution for ctor calls. 8 years ago
PropertiesAndEvents.cs Move test projects to their own directory in \ 8 years ago
Readme.txt Move test projects to their own directory in \ 8 years ago
StackTypes.il Avoid using inline assignments if they truncate the input value. 8 years ago
Switch.cs Implement translation of cascading if-statements with string comparisons to switch(string). 8 years ago
TrickyTypes.cs Avoid unnecessary casts in pointer comparisons. 8 years ago
UndocumentedExpressions.cs Update tests (remove unnecessary casts) 8 years ago
UnsafeCode.cs Move stackalloc tests to pretty-tests. 8 years ago
Using.cs Add ILInlining.IsUsedAsThisPointerInCall(). 8 years ago
ValueTypeCall.cs Add ILInlining.IsUsedAsThisPointerInCall(). 8 years ago
YieldReturn.cs Move test projects to their own directory in \ 8 years 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.