203 Commits (5177c56d88c37a29565ded2bc590d2253fd72344)

Author SHA1 Message Date
Daniel Grunwald 7277de6c08 More fixes for yield return decompilation. 8 years ago
Daniel Grunwald 9fa6009c44 Remove dead compiler-generated 'V = null;' assignments. 8 years ago
Daniel Grunwald bddda342a1 Improve yield-return-decompiler. 8 years ago
Daniel Grunwald f0e230ae91 Run a second pass of DetectExitPoints to use 'return;' as exit point if no previous transform picked another exit point. 9 years ago
Daniel Grunwald 1001ff5721 Fix 'yield break;' in try-catch blocks. 9 years ago
Daniel Grunwald 5621101436 Reconstruct try-finally blocks in yield return decompiler 9 years ago
Daniel Grunwald fe84ea9730 WIP: yield return decompiler 9 years ago
Siegfried Pammer 0970b95d5f Rename ILVariable.Scope to Function and introduce BlockContainer CaptureScope 9 years ago
Daniel Grunwald 66dee6c6f9 LoopDetection: find appropriate exit points 9 years ago
Daniel Grunwald e871f7c05a Convert LoopDetection into a block transform. 9 years ago
Daniel Grunwald ed3d4aba9d Run IntroduceExitPoints before loop detection, and let loop detection introduce its own exit points. 9 years ago
Siegfried Pammer 840ec04fde Namespace adjustments for Syntax classes 9 years ago
Christoph Wille 1ce8349dd9 Adjust namespaces 9 years ago
Daniel Grunwald 7273fe58fd Add BlockTransform concept and apply a bunch of refactoring essentials suggestions. 9 years ago
Daniel Grunwald dfe70d5366 Improve detection of short-circuiting operators. 9 years ago
Daniel Grunwald dd485b971d Eliminate goto in conditional return in try block. 9 years ago
Daniel Grunwald 5150cdce25 Improve handling of short-circuiting operators. 9 years ago
Daniel Grunwald 15b776faa2 Initial attempt at short-circuiting if conditions 9 years ago
Daniel Grunwald 0fade5cb0f Add single-stepping support to some ILAst transforms. 9 years ago
Daniel Grunwald 4a13491ff9 Improve switch simplifcation: combine case section with default block where possible 9 years ago
Daniel Grunwald 11bb3060a7 Try a bit harder to find an exitInst for switch-case. 9 years ago
Daniel Grunwald a6fc52a63f ConditionDetection: move blocks into switch sections 9 years ago
Daniel Grunwald 36d61db3a7 Add support for sparse integer switches. 9 years ago
Daniel Grunwald 9dec6c80a7 LoopDetection: use post-dominance to find better loop exit points 9 years ago
Daniel Grunwald 0e118f0977 LoopDetection: in loops without any exit points, exclude the largest possible code block from the loop 9 years ago
Siegfried Pammer 3a89500e0c Merge binary arithmetic instructions into one class. 9 years ago
Daniel Grunwald 449bbe2043 Move transforms to transforms namespace 9 years ago
Daniel Grunwald cfd638e413 Fix fixed statement 9 years ago
Daniel Grunwald 20aec66815 Initial support for decompiling fixed statements 9 years ago
Daniel Grunwald e1930e9170 Adjust comp.unsigned(ldlen array > ldc.i4 0) transforms to explicit i4->i conversions. 9 years ago
Daniel Grunwald 9678c692ad Fix NullReferenceException in DetectPinRegions 9 years ago
Daniel Grunwald 7e50076671 Introduce array.to.pointer instruction. 9 years ago
Daniel Grunwald 275a147224 First attempt at pinned regions. 9 years ago
Daniel Grunwald 2730133f5f Combine switch sections that branch to same label. 9 years ago
Siegfried Pammer f781c0335a replace IsSingleUse with IsSingleDefinition 9 years ago
Daniel Grunwald 288bb928ce Attempt to improve control flow detection 10 years ago
Daniel Grunwald b10feca78b Add 'InlineCompilerGeneratedVariables' transform, hopefully this is sufficient to replace the 'variable splitting' in the old decompiler. 10 years ago
Daniel Grunwald 2509f27223 * Rename ControlFlowSimplification to ConditionDetection 10 years ago