364 Commits (4aaf452b759d60e598993278674ee39eb28186fc)

Author SHA1 Message Date
Siegfried Pammer 7e08c348b5 #2685: Emit 'override' without 'newslot' as 'virtual' if there is no (known) method to override. 3 years ago
Siegfried Pammer c66eb7bbef #2685: Hide ctors from ComImport classes. 3 years ago
Siegfried Pammer 3e05a8d763 #2685: Emit 'override' without 'newslot' as 'virtual' if there is no (known) method to override. 3 years ago
Siegfried Pammer 54a3bba820 #2685: Do not add interface impl helper for extern methods. 3 years ago
Siegfried Pammer e043f43925 Ignore local functions when collecting used members. 3 years ago
Siegfried Pammer b7edf2eb59 Detect compiler-generated code that is still needed after decompilation. 3 years ago
Siegfried Pammer 1532d2fc29 Refactor DoDecompile(ITypeDefinition): Extract handling of members and types into local function. Order of output no longer depends on the order of decompilation, which will become relevant in the next commit. 3 years ago
Siegfried Pammer 9e462b53ad Add support for C# 11 parameter null checks 3 years ago
Zachary Northrup 9c17029702 Fix the ordering of COM interface methods and properties to appear in their originally defined order. This was resulting in fatal crashes while running decompiled COM interop code. 3 years ago
Siegfried Pammer 9935f51b96 Fix #2646: Missing values for enums with skipped or duplicate items 3 years ago
Siegfried Pammer 1ee3384a05 Fix #2640: Invalid implicit enum value for unordered items 3 years ago
Siegfried Pammer a0fb71abad Fix EntityHandle.GetDeclaringType extension and add TypeSpecification.GetGenericType 3 years ago
Siegfried Pammer 00a32e0575 Use AlwaysQualifyMemberReferences = true in Windows Forms InitializeComponent methods. 3 years ago
Siegfried Pammer 2a7e9c1d78 #2590: Fix printing of "Invalid MethodBodyBlock" comments. Make them appear between the braces of the block. 3 years ago
Siegfried Pammer 15f49c0079 Add basic support for abstract static members in interfaces. 3 years ago
Daniel Grunwald 8fb44414c9 Remove unused GenerateConvHelper 4 years ago
Siegfried Pammer ec6a9afc57 Fix #2448: Decompiler shows some enum values as hexdecimal instead of decimal 4 years ago
Siegfried Pammer ee3aabdc51 Fix #2534: Handle default implementations of properties and events in interfaces. 4 years ago
Christoph Wille c68bf60b1b Wrap DoDecompileEvent(IMethod...) 4 years ago
Christoph Wille 6e5c474dfc Instrument more DoDecompile methods 4 years ago
Christoph Wille 1b3a73d9e9 Add ETW for event + property decompilation as PoC 4 years ago
Siegfried Pammer 665c731cfc Move PatternMatchingTransform after LoopDetection. 4 years ago
SilverFox 11b44e53b7 Add support for attributes of field/property in primary ctor of records 4 years ago
Siegfried Pammer dbbcbb87fe Make pattern matching transform a simple ILTransform for both reference and value types. Check that the true branch dominates all uses of the pattern variable. 4 years ago
Siegfried Pammer ed82bff896 Fix #2497: NRE in covariant returns check on set-only property 4 years ago
Siegfried Pammer 84704a7452 Adds support for C# 9 covariant return types in methods and getter-only properties and indexers. 4 years ago
Siegfried Pammer 83727ea4b0 Add support for value type patterns 4 years ago
Daniel Grunwald c26d9ad6f1 Mark stack slot for aggressive removal in InfeasiblePathTransform 4 years ago
Siegfried Pammer c641072685 Translate MatchInstruction to BinaryOperatorExpression with BinaryOperatorType.IsPattern. 4 years ago
Daniel Grunwald 040ab41c69 Initial implementation of the pattern matching transform. 4 years ago
Siegfried Pammer 8eafbb3d90 Fix #2092: aggressively inline code in compiler-generated lambdas and expression trees. 4 years ago
Siegfried Pammer bc5d078feb Fix #1698: Readonly auto properties from VB.NET are not properly decompiled 4 years ago
Siegfried Pammer 1f0f6404e0 Fix #2231: Add support for ldloca; dup; initobj pattern used by Roslyn. 4 years ago
Daniel Grunwald 685a79dc31 DetectExitPoints: introduce exit points for loops+switch 4 years ago
Daniel Grunwald 6757295b3b Fix #2379: Keep `return` statements around in original form for ConditionDetection, only transform to fall-through block-exit at the end of the transform pipeline. 4 years ago
Siegfried Pammer aa147870a2 Fix #2389: missing extern keyword for properties and events. 4 years ago
Siegfried Pammer 8fc64669c2 Add annotations on local function parameter declarations 4 years ago
Siegfried Pammer 5734da4294 Fix #2314: ILSpy incorrectly resolves a runtime dependency when dll is present in both WindowsDesktop.App and NETCore.App 4 years ago
Siegfried Pammer afa4db00b6 Fix #2297: Add an option to disable decompilation of getter-only auto properties. 4 years ago
Siegfried Pammer 34557ab76b #2294: Remove redundant condition 4 years ago
Siegfried Pammer fdda8abd74 Fix #2282: Finalizers must be void and cannot be declared in interfaces 4 years ago
Siegfried Pammer a5858f1694 Add support for primary constructor syntax. 4 years ago
Daniel Grunwald 0bf6d552e0 Records: support for fields. 4 years ago
Daniel Grunwald 90ce77f400 Omit EqualityContract if it's automatically generated. 5 years ago
Daniel Grunwald 9e589faeea Omit members from record definitions if they are always compiler-generated. 5 years ago
Daniel Grunwald f869756fed Use "record" instead of "class" for C# 9 record class types. 5 years ago
Siegfried Pammer 3a7c69e5b9 Fix #2192: Add support for VB.NET delegate construction 5 years ago
Siegfried Pammer 31b4e6ae6a Fix #2185: Fix MemberIsHidden-check for local function display structs: Async State Machines that looked like local function display structs were not hidden once local function decompilation was disabled. This led to code duplication in the generated pdb. 5 years ago
Siegfried Pammer 13636c89cc Add support for C# 9: foreach with GetEnumerator extension methods. 5 years ago
dotnet format 0d9f871a4f #2128: Reformat the whole code base. 5 years ago