.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 3d60c7bd70 Fix #1590: Cast from override method to Delegate is not properly simplified 6 years ago
..
.gitignore
AnonymousTypes.cs
AssemblyCustomAttributes.cs
Async.cs Fix assertion with async lambdas; fix async local functions. 6 years ago
AsyncMain.cs
AutoProperties.cs
CS6_StringInterpolation.cs Fix #1497: do not insert newlines inside string interpolation expressions. 6 years ago
CS72_PrivateProtected.cs
CS73_StackAllocInitializers.cs
CheckedUnchecked.cs Upgrade Roslyn for tests to 3.0.0-beta3. 7 years ago
CompoundAssignmentTest.cs Fix #1552: user-defined and decimal increments 6 years ago
ConstantsTests.cs Fix #1552: user-defined and decimal increments 6 years ago
ConstructorInitializers.cs
CustomAttributeConflicts.cs Upgrade Roslyn for tests to 3.0.0-beta3. 7 years ago
CustomAttributeSamples.cs Upgrade Roslyn for tests to 3.0.0-beta3. 7 years ago
CustomAttributes.cs
CustomAttributes2.cs
CustomShortCircuitOperators.cs
DelegateConstruction.cs Fix #1590: Cast from override method to Delegate is not properly simplified 6 years ago
Discards.cs
DynamicTests.cs Fix dynamic transforms because https://github.com/dotnet/roslyn/issues/27800 was fixed. 7 years ago
EnumTests.cs
ExceptionHandling.cs
ExpressionTrees.cs Fix #1590: Cast from override method to Delegate is not properly simplified 6 years ago
FixProxyCalls.cs Fix #1180: Fix generation of Windows Forms InitializeComponent. 6 years ago
Generics.cs
HelloWorld.cs
InitializerTests.cs
InlineAssignmentTest.cs Fix #1571: Expression transforms not running for values of inline assignments. 6 years ago
InterfaceTests.cs
Issue1080.cs Upgrade Roslyn for tests to 3.0.0-beta3. 7 years ago
LiftedOperators.cs Reenable LiftedOperators tests. 7 years ago
LocalFunctions.cs Refactor LocalFunctionDecompiler to allow mutually recursive local functions to be decompiled correctly. 6 years ago
Lock.cs
Loops.cs Fix #882: Don't inline value-type temporaries for setter calls. 6 years ago
MemberTests.cs
MultidimensionalArray.cs
NamedArguments.cs
NullPropagation.cs
NullableRefTypes.cs Upgrade C# 8.0 nullability support for Roslyn 3.2.0-beta4. 6 years ago
OptionalArguments.cs Fix #1567: Do not transform string.Concat method calls to + operators if named arguments are used. 6 years ago
PInvoke.cs
PropertiesAndEvents.cs
QualifierTests.cs Upgrade Roslyn for tests to 3.0.0-beta3. 7 years ago
QueryExpressions.cs Upgrade Roslyn for tests to 3.0.0-beta3. 7 years ago
Readme.txt Upgrade Roslyn for tests to 3.0.0-beta3. 7 years ago
ReduceNesting.cs
RefLocalsAndReturns.cs Fix 'ref readonly' delegates 6 years ago
ShortCircuit.cs
Switch.cs Fix switch on nullable for Roslyn. Ignore switch on bool because it is indistinguishable from if (bool). 7 years ago
TupleTests.cs
TypeAnalysisTests.cs
TypeMemberTests.cs Upgrade Roslyn for tests to 3.0.0-beta3. 7 years ago
UnsafeCode.cs Fix #1499, fix #1502 6 years ago
UserDefinedConversions.cs Fix #1574: When re-introducing an explicit cast for an implicit user-defined conversion; ensure we use a direct cast and don't go through the code path for builtin conversions. 6 years ago
Using.cs
ValueTypes.cs Readonly struct method calls on readonly lvalues don't generate temporaries. 6 years ago
VariableNaming.cs
VariableNamingWithoutSymbols.cs
WellKnownConstants.cs
YieldReturn.cs Upgrade Roslyn for tests to 3.0.0-beta3. 7 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.