.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 10664c8e75 #1682, #1949 and #2394: Added basic algorithm of IsInterfaceImplementationRuntimeHelper 4 years ago
..
.gitignore
AnonymousTypes.cs Fix #603: Single element arrays should not span multiple lines 5 years ago
AssemblyCustomAttributes.cs
Async.cs Fix #2366: NRE in AwaitInCatchTransform.MatchAwaitCatchHandler() and pattern errors when dealing with a switch-based jump table in AwaitInCatchTransform 4 years ago
AsyncForeach.cs Fix #1749, fix #2339, fix #2353: Add support for rethrow in async exception handlers, fix await catch/finally patterns for complex methods. 4 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 Fix #603: Single element arrays should not span multiple lines 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 Fix #603: Single element arrays should not span multiple lines 5 years ago
CS73_StackAllocInitializers.cs Fix #603: Single element arrays should not span multiple lines 5 years ago
CheckedUnchecked.cs Fix #603: Single element arrays should not span multiple lines 5 years ago
CompoundAssignmentTest.cs Fix #2349: Use proper ExpressionType with DynamicCompoundAssign. 4 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 Fix #603: Single element arrays should not span multiple lines 5 years ago
CustomAttributes2.cs
CustomShortCircuitOperators.cs #2128: Reformat the whole code base. 5 years ago
CustomTaskType.cs Fix #603: Single element arrays should not span multiple lines 5 years ago
DeconstructionTests.cs Fix #603: Single element arrays should not span multiple lines 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 Fix #2278: Implement support for CSharpBinderFlags.InvokeSimpleName 4 years ago
EnumTests.cs
ExceptionHandling.cs Fix #1749, fix #2339, fix #2353: Add support for rethrow in async exception handlers, fix await catch/finally patterns for complex methods. 4 years ago
ExpressionTrees.cs Add test case. 4 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 #2390: Add support for generic object initializers. 4 years ago
InlineAssignmentTest.cs Fix #603: Single element arrays should not span multiple lines 5 years ago
InterfaceTests.cs Fix #2282: Finalizers must be void and cannot be declared in interfaces 4 years ago
Issue1080.cs #2128: Reformat the whole code base. 5 years ago
LiftedOperators.cs #2128: Reformat the whole code base. 5 years ago
LocalFunctions.cs `#enable nullable` for a couple of files. 4 years ago
Lock.cs #2128: Reformat the whole code base. 5 years ago
Loops.cs Fix #2395: Do not use for->foreach transform if collection is not an array. 4 years ago
MemberTests.cs #1682, #1949 and #2394: Added basic algorithm of IsInterfaceImplementationRuntimeHelper 4 years ago
MultidimensionalArray.cs
NamedArguments.cs
NativeInts.cs Fix #2407: Operator '-' cannot be applied to operand of type 'nuint' 4 years ago
NullPropagation.cs Fix #603: Single element arrays should not span multiple lines 5 years ago
NullableRefTypes.cs Fix #603: Single element arrays should not span multiple lines 5 years ago
OptionalArguments.cs Fix #603: Single element arrays should not span multiple lines 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 Fix #603: Single element arrays should not span multiple lines 5 years ago
QualifierTests.cs #1828: Add test case 4 years ago
QueryExpressions.cs Fix #603: Single element arrays should not span multiple lines 5 years ago
Readme.txt
Records.cs Add support for primary constructor syntax. 5 years ago
ReduceNesting.cs #2128: Reformat the whole code base. 5 years ago
RefLocalsAndReturns.cs Fix #2321: Missing readonly modifier for ref local 4 years ago
ShortCircuit.cs #2128: Reformat the whole code base. 5 years ago
Switch.cs Fix #2283: Disallow all implicit conversions in switch on string. 4 years ago
SwitchExpressions.cs Update to dotnet-format 5.1.225507. 4 years ago
ThrowExpressions.cs Fix #603: Single element arrays should not span multiple lines 5 years ago
TupleTests.cs Fix #603: Single element arrays should not span multiple lines 5 years ago
TypeAnalysisTests.cs Fix #2398: TranslateCondition: truncate condition value if necessary 4 years ago
TypeMemberTests.cs Fix #603: Single element arrays should not span multiple lines 5 years ago
UnsafeCode.cs Fix #2391: mark method as unsafe when passing `null` to a parameter of pointer type. 4 years ago
UserDefinedConversions.cs Fix #1944: Add support for implicit conversions with `in` parameters. 4 years ago
Using.cs #2128: Reformat the whole code base. 5 years ago
UsingVariables.cs Fix #1749, fix #2339, fix #2353: Add support for rethrow in async exception handlers, fix await catch/finally patterns for complex methods. 4 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.