838 Commits (eea4b7701c3f2abab8c20306ae9b4eedcc323ac2)

Author SHA1 Message Date
Siegfried Pammer eea4b7701c #2098: CallBuilder: Fix named argument handling in TI 5 years ago
Daniel Grunwald c9f65d3b5e Fix #1555: Eliminate value-type temporaries emitted by mcs on field reads. 5 years ago
Siegfried Pammer e7d49b2305 Fix #2079: Allow variables generated from state-machine fields to be propagated in TDCU. 5 years ago
Daniel Grunwald cc850c27aa Add "Aggressive inlining" option 5 years ago
Daniel Grunwald b6b5f1e8e6 #2092: ILFunction.Parameters / ILFunction.ReturnType should never be null. 5 years ago
Daniel Grunwald 1a997fdb60 Enable aggressive inlining into switch expressions. 5 years ago
Daniel Grunwald abb9d49a0f Add support for C# 8 switch expressions. 5 years ago
Siegfried Pammer 8d72672e6c Reimplement DecompilerSettings.StaticLocalFunctions (was lost in the refactoring in #2077) 5 years ago
Siegfried Pammer acea95d0a1 Properly rename LocalFunctionMethod.Name on all instructions 5 years ago
Siegfried Pammer 18ace00266 Refactor LocalFunctionDeclarationStatement + LocalFunctionMethod 5 years ago
Daniel Grunwald bdea1950a8 Add `#if !NETCORE` around extension methods that are included with .NET Core 3 5 years ago
Daniel Grunwald 2acc4339df #2058: Mark most transforms as public to help users that use the ILAst directly without decompiling to C#. 5 years ago
Daniel Grunwald 3409ffca25 Fix #2073: Ensure the startOffsetVar actually appears in the expected instruction, not somewhere else. 5 years ago
Daniel Grunwald c63e14e805 Move some special cases from ILInlining.FindLoadInNext to the individual ILInstructions. 5 years ago
Daniel Grunwald fe2143b41f Validate code movement performed by IndexRangeTransform. 5 years ago
Daniel Grunwald 7d3dfc3b81 Remove the hack where IndexRangeTransform looks at instructions prior to startPos. 5 years ago
Daniel Grunwald 1b2874eb5d Use `nint` type for local IntPtr variables if arithmetic is performed on them. 5 years ago
Siegfried Pammer 5da3b87845 Fix #2060: Add support for alternate code patterns in TransformDisplayClassUsage.ValidateConstructor 5 years ago
Daniel Grunwald 1d684102ac Support compound assignment for native integers. 5 years ago
Daniel Grunwald 12094a8376 Support extraction out of control-flow IfInstruction even if it isn't using a Block as TrueInst/FalseInst. 5 years ago
Daniel Grunwald 417a2c3391 Revert the InvertIf change; it causes too many issues for the following transforms. 5 years ago
Daniel Grunwald e083d43fb9 Fix ReduceNestingTransform 5 years ago
Daniel Grunwald 016d9f8f4d Fix #1903: un-inline argument of unsupported `isinst` instructions. 5 years ago
Daniel Grunwald 81d9eda332 I just discovered that we do have un-inlining implemented... let's mention it where it's more likely to be found in the future. 5 years ago
Daniel Grunwald ef47a8bdf6 #2058: Avoid NullReferenceException when DecompileRun is not provided. 5 years ago
Daniel Grunwald 62fcab8d99 #2050: Allow inlining into the StObj target slot when this is possible without changing the program semantics. 5 years ago
Siegfried Pammer 74101ff0dc Fix #2053: Assert and NRE in LocalFunctionDecompiler 5 years ago
Siegfried Pammer 761c3fef14 Adapt TransformExpressionTrees to ILAst changes. 5 years ago
Siegfried Pammer 68e4d7dfa6 Adapt TransformArrayInitializers to ILAst changes. 5 years ago
Daniel Grunwald 925a4e1e65 #2050: Don't put ldflda/ldelema with immediate exceptions into StObj.TargetSlot. 5 years ago
Daniel Grunwald 15f638af9a Fix decompilation of switch where default section is a leave instruction. 5 years ago
Daniel Grunwald a6e23d1f98 Fix "case null" handling in switch(string) with current Roslyn version (3.7.0-2.final). 5 years ago
Daniel Grunwald 30da0b7525 Add some missing checks to MatchRoslynSwitchOnString 5 years ago
Siegfried Pammer d2abce2a7b Fix possible NRE in TransformExpressionTrees.MatchGetTypeFromHandle and related methods 5 years ago
Daniel Grunwald 80063e3c15 Fix TDCU's version of copy propagation being too aggressive. 5 years ago
Chicken-Bones da905acc6d Fix logic error in last commit, and ignore fault clauses in ReduceNestingTransform 5 years ago
Chicken-Bones abd9af29c6 Fix failed assertion when encountering a finally block with an unreachable endpoint in ReduceNestingTransform. 5 years ago
Chicken-Bones e0e26a0e77 Fix ReduceNestingTransform when extracting default block of switch in a try container 5 years ago
Siegfried Pammer fcc910cb4d Cleanup and refactoring after code review 5 years ago
Siegfried Pammer 0b8824ca84 Fix two small bugs in TDCU 5 years ago
Siegfried Pammer bcd7219535 Adjust CapturedVariables collection in ReplaceDelegateTargetVisitor and in TransformExpressionTrees 5 years ago
Siegfried Pammer 101aba3362 Validate uses of display-class variable copies before removing them 5 years ago
Siegfried Pammer d4fd92bf0f Fix initializer block detection of display structs. 5 years ago
Siegfried Pammer 1c7d9705da Add Validation of delegate target instructions. 5 years ago
Siegfried Pammer 6042819117 Implement Block.CheckInvariant for BlockKind.ArrayInitializer, BlockKind.CollectionInitializer and BlockKind.ObjectInitializer 5 years ago
Siegfried Pammer ab336cdc94 Fix build. 5 years ago
Siegfried Pammer d457ef38f4 Make ValidateConstructor safe 5 years ago
Siegfried Pammer f1cbc7c8db Add AggressiveScalarReplacementOfAggregates option 5 years ago
Siegfried Pammer 53c593af0b Fixed all TDCU related tests. 5 years ago
Siegfried Pammer b6259b7dca Fix #1981: Ensure correctness of TDCU 5 years ago