956 Commits (b42d4963e7be04a23a8039c04c4a7b8534d87bc4)

Author SHA1 Message Date
Daniel Grunwald 4a3185c823 #907: Add tests 7 years ago
Daniel Grunwald 0a9df3d373 Fix #1252: Incorrect comparison type for lifted comparisons in expression trees. 7 years ago
Daniel Grunwald e041454987 Add pretty tests for "yield return" and fix some minor bugs: 7 years ago
Daniel Grunwald ed631cc7d3 Fix #1307: some of the blocks made unreachable by the yield-return-transform were not deleted 7 years ago
Daniel Grunwald 5d394b7786 Refactor PR #1303 to make the ConvertBranchAfterYieldReturn logic easier to understand 7 years ago
Wenxuan Zhao 3e937cf7cb
Fix delegate in yield return issue for assembly compiled with Mono 7 years ago
Wenxuan Zhao 9228e0102c
Fix yield return for assembly compiled with Mono 7 years ago
Daniel Grunwald ef866040b4 Update to SRM 1.6.0 and Roslyn 2.9. Adjust decompiler to new code pattern used for lifted nullable comparisons. 7 years ago
Daniel Grunwald 12e74daf48 Handle Comp in InferType(). 7 years ago
Chicken-Bones ab9397d099 Add ReduceNestingTransform 7 years ago
Chicken-Bones e9b766d708 Improve persistence of IL offsets through various transforms. 7 years ago
Chicken-Bones bf17423618 Abort SwitchAnalysis on duplicate condition (redundant code) 7 years ago
Daniel Grunwald f4613de2ba Don't match sub.ovf in SwitchAnalysis. 7 years ago
Siegfried Pammer 6719dacabd Fix #1279: Event fields in object initializers 7 years ago
Siegfried Pammer 65cf13ce27 Fix #1270: Bad decompilation of mcs switch-on-string 7 years ago
Chicken-Bones 481e05eabb Better shortcircuit detection to avoid single condition switch statements 7 years ago
Chicken-Bones d8244e347b Select outer-loop continue branches as break targets for switches in nested loops 7 years ago
Chicken-Bones 9f21e6a2b2 Increase max values per switch section 7 years ago
Chicken-Bones eed337c12e Remove dead code when unreachable condition blocks are consumed by SwitchDetection 7 years ago
Chicken-Bones d86f4b4132 Prefer simple if statements over switch with single case block 7 years ago
Chicken-Bones 52a279f861 Restore HighLevelLoopTransform pattern match for loop contents within if body 7 years ago
Chicken-Bones 7017d998d0 Improve switch decompilation in loops via early detection of continue blocks. 7 years ago
Chicken-Bones 1a021635cc Fix detection of switch statements with cases containing a single break; 7 years ago
Chicken-Bones cb4fa90545 Add IL ordering based hint to UseCSharpSwitch 7 years ago
Chicken-Bones 62b2ad4f8d Improve UseCSharpSwitch to reduce over-aggressive use of switch producing poor quality code. 7 years ago
Chicken-Bones 9a3914fca9 Handle roslyn generated sub instructions in partitioned C# switch statements 7 years ago
Siegfried Pammer cf1d05042f Add detection of local functions, so we do not hide the methods/display classes. 7 years ago
Siegfried Pammer fc717be0d8 Fix typo in YieldReturnDecompiler 7 years ago
Siegfried Pammer 1dcae5bff8 Extend HandleCall to NewObj instructions as well. 7 years ago
Siegfried Pammer b701bed2ff SplitVariables: analyze address usage in virtual calls as well. Treat them the same as call instructions. 7 years ago
Siegfried Pammer 4fab913bf6 Fix #1249: Bug in detection of multiple nested expression trees in query expressions. 7 years ago
Siegfried Pammer 2047923809 Add ShowChildIndexInBlock option to make debugging of larger blocks easier. 7 years ago
Siegfried Pammer 08af55aa57 Avoid ITypeDefinition.FullName. Use Name and Namespace separately to avoid string allocation. Reorder checks to improve performance on pattern mismatch. 7 years ago
Siegfried Pammer ebbe25fba7 Apply suggested refactorings on TransformArrayInitializers.cs 7 years ago
Siegfried Pammer 772b529d16 Add support for stackalloc initializer pattern that uses initblk. 7 years ago
Siegfried Pammer 057ab82534 Add basic stackalloc initializer transforms. 7 years ago
Siegfried Pammer 2a537fcecb Reorder code in TransformArrayInitializers.cs 7 years ago
Andrew Au 9837933e9d Fix issue #1224 7 years ago
Daniel Grunwald 542e088ceb Fix #1185: assertion with unreachable code in loop detection 7 years ago
Daniel Grunwald c16817ab4e Fix #1186: LoopDetection assertion with unreachable code 7 years ago
Daniel Grunwald 2f54eee5db #1195: Fix comparison of object reference with ldc.i4 0. 7 years ago
Daniel Grunwald ba0a3af3c4 #1195: Fix several issues decompiling SharpSvn.dll (C++/CLI) 7 years ago
Daniel Grunwald 066da1ea16 Fix #1200: assertion in TransformInlineAssignmentLocal when reconstructed stack slot (after async-await transform) has small integer type. 7 years ago
Daniel Grunwald 8270a93c1a Fix #1233: Fix some crashes on corrupt type references. 7 years ago
Daniel Grunwald 0006330c1a Fix #1235: Insert StackType conversion when filling in Leave target. 7 years ago
Daniel Grunwald dd5845e83d Support short-circuiting operators with dynamic. (e.g. "if (x.A && x.B)" where "x" is dynamic) 7 years ago
Siegfried Pammer e92b9fe5e4 Optimize performance of debug builds: only call string.Format, if assertion fails. 7 years ago
Chicken-Bones 5ed5ea0e0f Improve block ordering in ConditionDetection using the ILOffsets of Leave instruction arguments 7 years ago
Daniel Grunwald 9479e8af13 Support overloaded operator &&/||. 7 years ago
Daniel Grunwald aa10f0089a Fix #1226: Use StackType.O for LdLen argument. 7 years ago