.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.
 
 
 
 
ds5678 83df0ab9b9 Handle multiple calling conventions at once 1 month ago
..
.gitignore Rewrite TransformFieldAndConstructorInitializers from a step-by-step AST-based analysis to an analysis that tracks the whole constructor body. 1 month ago
AnonymousTypes.cs dev: Strip BOM mark from text files 4 months ago
AssemblyCustomAttributes.cs dev: Strip BOM mark from text files 4 months ago
Async.cs dev: Strip BOM mark from text files 4 months ago
AsyncForeach.cs dev: Strip BOM mark from text files 4 months ago
AsyncMain.cs dev: Strip BOM mark from text files 4 months ago
AsyncStreams.cs dev: Strip BOM mark from text files 4 months ago
AsyncUsing.cs dev: Strip BOM mark from text files 4 months ago
AutoProperties.cs dev: Strip BOM mark from text files 4 months ago
CS9_ExtensionGetEnumerator.cs dev: Strip BOM mark from text files 4 months ago
CS72_PrivateProtected.cs dev: Strip BOM mark from text files 4 months ago
CS73_StackAllocInitializers.cs Rewrite TransformFieldAndConstructorInitializers from a step-by-step AST-based analysis to an analysis that tracks the whole constructor body. 1 month ago
CheckedUnchecked.cs dev: Strip BOM mark from text files 4 months ago
Comparisons.cs dev: Strip BOM mark from text files 4 months ago
CompoundAssignmentTest.cs Add preprocessor directive 5 months ago
ConstantsTests.cs dev: Strip BOM mark from text files 4 months ago
ConstructorInitializers.cs Rewrite TransformFieldAndConstructorInitializers from a step-by-step AST-based analysis to an analysis that tracks the whole constructor body. 1 month ago
CovariantReturns.cs Merge pull request #3546 from petercrabtree/dev/dev-env-clean-no-bom 4 months ago
CustomAttributeConflicts.cs dev: Strip BOM mark from text files 4 months ago
CustomAttributeSamples.cs dev: Strip BOM mark from text files 4 months ago
CustomAttributes.cs dev: Strip BOM mark from text files 4 months ago
CustomAttributes2.cs Fix #2448: Decompiler shows some enum values as hexdecimal instead of decimal 4 years ago
CustomShortCircuitOperators.cs Rewrite TransformFieldAndConstructorInitializers from a step-by-step AST-based analysis to an analysis that tracks the whole constructor body. 1 month ago
CustomTaskType.cs dev: Strip BOM mark from text files 4 months ago
DeconstructionTests.cs dev: Strip BOM mark from text files 4 months ago
DelegateConstruction.cs dev: Strip BOM mark from text files 4 months ago
Discards.cs Remove obsolete tests 3 months ago
DynamicTests.cs dev: Strip BOM mark from text files 4 months ago
EnumTests.cs Addressed feedback 10 months ago
ExceptionHandling.cs dev: Strip BOM mark from text files 4 months ago
ExpandParamsArgumentsDisabled.cs Add ExpandParamsArguments DecompilerSettings 5 months ago
ExpressionTrees.cs dev: Strip BOM mark from text files 4 months ago
ExtensionProperties.cs dev: Strip BOM mark from text files 4 months ago
FileScopedNamespaces.cs dev: Strip BOM mark from text files 4 months ago
FixProxyCalls.cs dev: Strip BOM mark from text files 4 months ago
FunctionPointers.cs Handle multiple calling conventions at once 1 month ago
Generics.cs dev: Strip BOM mark from text files 4 months ago
GloballyQualifiedTypeInStringInterpolation.cs dev: Strip BOM mark from text files 4 months ago
HelloWorld.cs dev: Strip BOM mark from text files 4 months ago
IndexRangeTest.cs dev: Strip BOM mark from text files 4 months ago
InitializerTests.cs Rewrite TransformFieldAndConstructorInitializers from a step-by-step AST-based analysis to an analysis that tracks the whole constructor body. 1 month ago
InlineArrayTests.cs dev: Strip BOM mark from text files 4 months ago
InlineAssignmentTest.cs dev: Strip BOM mark from text files 4 months ago
InterfaceTests.cs dev: Strip BOM mark from text files 4 months ago
Issue1080.cs dev: Strip BOM mark from text files 4 months ago
Issue3406.cs dev: Strip BOM mark from text files 4 months ago
Issue3439.cs dev: Strip BOM mark from text files 4 months ago
Issue3442.cs dev: Strip BOM mark from text files 4 months ago
Issue3452.cs Rewrite TransformFieldAndConstructorInitializers from a step-by-step AST-based analysis to an analysis that tracks the whole constructor body. 1 month ago
Issue3483.cs dev: Strip BOM mark from text files 4 months ago
Issue3541.cs Fix regression in decompiling local functions with default parameters 4 months ago
Issue3571_A.cs Fix lower case type name conflicting with variable name 3 months ago
Issue3571_B.cs Fix lower case type name conflicting with variable name 3 months ago
Issue3571_C.cs Formatting 3 months ago
Issue3576.cs Do not create object initializers for tuples 3 months ago
Issue3584.cs Improve inlining of boxed values 2 months ago
Issue3598.cs Rewrite TransformFieldAndConstructorInitializers from a step-by-step AST-based analysis to an analysis that tracks the whole constructor body. 1 month ago
Issue3610.cs Rewrite TransformFieldAndConstructorInitializers from a step-by-step AST-based analysis to an analysis that tracks the whole constructor body. 1 month ago
Issue3611.cs Fix remaining cases with changes to IntroduceUsingDeclarations. 1 month ago
LiftedOperators.cs dev: Strip BOM mark from text files 4 months ago
LocalFunctions.cs dev: Strip BOM mark from text files 4 months ago
Lock.cs dev: Strip BOM mark from text files 4 months ago
Loops.cs dev: Strip BOM mark from text files 4 months ago
MemberTests.cs dev: Strip BOM mark from text files 4 months ago
MetadataAttributes.cs dev: Strip BOM mark from text files 4 months ago
MultidimensionalArray.cs dev: Strip BOM mark from text files 4 months ago
NamedArguments.cs Fix #3626: Do not emit named arguments for bool constants, if it causes the call to become ambiguous. 1 month ago
NativeInts.cs dev: Strip BOM mark from text files 4 months ago
NullPropagation.cs dev: Strip BOM mark from text files 4 months ago
NullableRefTypes.cs dev: Strip BOM mark from text files 4 months ago
Operators.cs Add support for calling `operator checked`. 3 years ago
OptionalArguments.cs dev: Strip BOM mark from text files 4 months ago
OptionalArgumentsDisabled.cs Fix methods with mandatory arguments ignore disabled OptionalArguments setting 5 months ago
OutVariables.cs Fix out var for expressions appearing in a lambda and not in a statement. 3 months ago
PInvoke.cs dev: Strip BOM mark from text files 4 months ago
ParamsCollections.cs Add test for "params scoped Span'. 3 months ago
PatternMatching.cs dev: Strip BOM mark from text files 4 months ago
PointerArithmetic.cs dev: Strip BOM mark from text files 4 months ago
PropertiesAndEvents.cs Fix #3575: Uses of compiler-generated events getting swapped with non-generated events of same type 3 months ago
QualifierTests.cs Remove obsolete tests 3 months ago
QueryExpressions.cs dev: Strip BOM mark from text files 4 months ago
Readme.txt dev: Strip BOM mark from text files 4 months ago
Records.cs Fix #3621: Fix multiple uses of primary ctor parameter in initializer of record. 1 month ago
ReduceNesting.cs dev: Strip BOM mark from text files 4 months ago
RefFields.cs Add support for ScopedRefAttribute 3 years ago
RefLocalsAndReturns.cs dev: Strip BOM mark from text files 4 months ago
ShortCircuit.cs dev: Strip BOM mark from text files 4 months ago
StaticAbstractInterfaceMembers.cs Rewrite TransformFieldAndConstructorInitializers from a step-by-step AST-based analysis to an analysis that tracks the whole constructor body. 1 month ago
StringInterpolation.cs dev: Strip BOM mark from text files 4 months ago
Structs.cs Many thanks to @sonyps5201314 for providing the test cases and a suggested fix, which inspired these changes. 2 months ago
Switch.cs Fix #3577: Properly infer the switch governing type and preserve conversions 3 months ago
SwitchExpressions.cs dev: Strip BOM mark from text files 4 months ago
ThrowExpressions.cs dev: Strip BOM mark from text files 4 months ago
TupleTests.cs dev: Strip BOM mark from text files 4 months ago
TypeAnalysisTests.cs dev: Strip BOM mark from text files 4 months ago
TypeMemberTests.cs dev: Strip BOM mark from text files 4 months ago
UnsafeCode.cs Rewrite TransformFieldAndConstructorInitializers from a step-by-step AST-based analysis to an analysis that tracks the whole constructor body. 1 month ago
UserDefinedConversions.cs dev: Strip BOM mark from text files 4 months ago
Using.cs dev: Strip BOM mark from text files 4 months ago
UsingVariables.cs dev: Strip BOM mark from text files 4 months ago
ValueTypes.cs dev: Strip BOM mark from text files 4 months ago
VariableNaming.cs dev: Strip BOM mark from text files 4 months ago
VariableNamingWithoutSymbols.cs dev: Strip BOM mark from text files 4 months ago
WellKnownConstants.cs dev: Strip BOM mark from text files 4 months ago
YieldReturn.cs dev: Strip BOM mark from text files 4 months ago

Readme.txt

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

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

Each test case is a C# file.
The test runner will:
1. Compile the file into an .exe/.dll
2. Decompile the .exe/.dll
3. Compare the resulting code with the original input code.

The tests pass if the code looks exactly the same as the input code, ignoring comments, empty lines and preprocessor directives.
It also ignores disabled preprocessors sections (e.g. "#if ROSLYN") when the test runs with a compiler that does not set this symbol.
See Tester.GetPreprocessorSymbols() for the available symbols.