.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 b9e4f7df8a Fix #2202: prevent casting null to void* if the expected target-type is (U)IntPtr? 5 years ago
..
.gitignore
AnonymousTypes.cs
AssemblyCustomAttributes.cs
Async.cs #2128: Reformat the whole code base. 5 years ago
AsyncForeach.cs #2128: Reformat the whole code base. 5 years ago
AsyncMain.cs
AsyncStreams.cs #2128: Reformat the whole code base. 5 years ago
AsyncUsing.cs #2128: Reformat the whole code base. 5 years ago
AutoProperties.cs Run tests with different versions of Roslyn 5 years ago
CS6_StringInterpolation.cs
CS9_ExtensionGetEnumerator.cs Add support for C# 9: foreach with GetEnumerator extension methods. 5 years ago
CS72_PrivateProtected.cs
CS73_StackAllocInitializers.cs Fix #2103: Support for `Stackalloc initializers` not working for `byte` 5 years ago
CheckedUnchecked.cs #2128: Reformat the whole code base. 5 years ago
CompoundAssignmentTest.cs Run tests with different versions of Roslyn 5 years ago
ConstantsTests.cs Fix #2202: prevent casting null to void* if the expected target-type is (U)IntPtr? 5 years ago
ConstructorInitializers.cs
CustomAttributeConflicts.cs #2128: Reformat the whole code base. 5 years ago
CustomAttributeSamples.cs
CustomAttributes.cs
CustomAttributes2.cs Atributes -> Attributes 6 years ago
CustomShortCircuitOperators.cs #2128: Reformat the whole code base. 5 years ago
CustomTaskType.cs #2128: Reformat the whole code base. 5 years ago
DeconstructionTests.cs Run tests with different versions of Roslyn 5 years ago
DelegateConstruction.cs Run tests with different versions of Roslyn 5 years ago
Discards.cs Fix #2140: ILSpy 6.2p1 no longer respects "use discards" setting 5 years ago
DynamicTests.cs Add support for decoding function pointer types in signatures. 5 years ago
EnumTests.cs
ExceptionHandling.cs #2128: Reformat the whole code base. 5 years ago
ExpressionTrees.cs Avoid parentheses around lambdas where possible. 5 years ago
FixProxyCalls.cs Avoid parentheses around lambdas where possible. 5 years ago
FunctionPointers.cs Function pointers: add support for the builtin unmanaged calling conventions. 5 years ago
Generics.cs #2128: Reformat the whole code base. 5 years ago
HelloWorld.cs
IndexRangeTest.cs Fix #2156: range syntax not being detected correctly in some cases 5 years ago
InitializerTests.cs Run tests with different versions of Roslyn 5 years ago
InlineAssignmentTest.cs Fix #2162: handle VariableInitializers like AssignmentExpressions in InsertParenthesesVisitor 5 years ago
InterfaceTests.cs
Issue1080.cs #2128: Reformat the whole code base. 5 years ago
LiftedOperators.cs #2128: Reformat the whole code base. 5 years ago
LocalFunctions.cs Fix #2196: Add support for extern local functions. 5 years ago
Lock.cs #2128: Reformat the whole code base. 5 years ago
Loops.cs #2128: Reformat the whole code base. 5 years ago
MemberTests.cs
MultidimensionalArray.cs
NamedArguments.cs
NativeInts.cs Upgrade Roslyn version used for our tests (from 3.7.0 to 3.8.0-2.final) and adjust NativeInteger attribute decoding. 5 years ago
NullPropagation.cs #2128: Reformat the whole code base. 5 years ago
NullableRefTypes.cs Upgrade Roslyn version used for our tests (from 3.7.0 to 3.8.0-2.final) and adjust NativeInteger attribute decoding. 5 years ago
OptionalArguments.cs Fix #2124: Unwrap nullables when printing constant values. 5 years ago
OutVariables.cs Fix #2140: ILSpy 6.2p1 no longer respects "use discards" setting 5 years ago
PInvoke.cs #2128: Reformat the whole code base. 5 years ago
PropertiesAndEvents.cs Run tests with different versions of Roslyn 5 years ago
QualifierTests.cs #2128: Reformat the whole code base. 5 years ago
QueryExpressions.cs Fix build 5 years ago
Readme.txt
ReduceNesting.cs #2128: Reformat the whole code base. 5 years ago
RefLocalsAndReturns.cs #2128: Reformat the whole code base. 5 years ago
ShortCircuit.cs #2128: Reformat the whole code base. 5 years ago
Switch.cs #2128: Reformat the whole code base. 5 years ago
SwitchExpressions.cs #2128: Reformat the whole code base. 5 years ago
ThrowExpressions.cs Fix #2162: handle VariableInitializers like AssignmentExpressions in InsertParenthesesVisitor 5 years ago
TupleTests.cs #2128: Fix formatting issues 5 years ago
TypeAnalysisTests.cs Fix #2162: handle VariableInitializers like AssignmentExpressions in InsertParenthesesVisitor 5 years ago
TypeMemberTests.cs #2128: Reformat the whole code base. 5 years ago
UnsafeCode.cs Fix #2158: Remove PointerType support from CSharpResolver for additions/subtractions. 5 years ago
UserDefinedConversions.cs
Using.cs #2128: Reformat the whole code base. 5 years ago
UsingVariables.cs #2128: Reformat the whole code base. 5 years ago
ValueTypes.cs #2128: Reformat the whole code base. 5 years ago
VariableNaming.cs Run tests with different versions of Roslyn 5 years ago
VariableNamingWithoutSymbols.cs Run tests with different versions of Roslyn 5 years ago
WellKnownConstants.cs
YieldReturn.cs #2128: Reformat the whole code base. 5 years 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.