371 Commits (343694c5499d2dd68896563bbbfc72604231deef)

Author SHA1 Message Date
Siegfried Pammer e8c4f29738 #2797: Clarify exception message, if type is not found in the module being decompiled. 3 years ago
Daniel Grunwald 503048b314 Prevent the early ILInlining pass from creating `addressof` instructions 3 years ago
hexafluoride fc6ae4c645 Add option to always fully qualify type names with global:: 3 years ago
Siegfried Pammer 583f661153 Work on #1204: Add optimized implementation of HasAttribute and GetAttribute to IEntity. 3 years ago
Siegfried Pammer 5046e4cf60 Fix #2718, Fix #2719, Fix #2725: Remove WPF compiler-generated code. 3 years ago
Siegfried Pammer f695bbcf3a Add support for DefaultInterpolatedStringHandler 3 years ago
Siegfried Pammer d248867302 Add support for C# 10 record structs. 3 years ago
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