56 Commits (12f0169164bc0f9cecc1219e5b718842965ea7e5)

Author SHA1 Message Date
Daniel Grunwald 9ef97703cd [switch] consider loop back-edges to be exit points when looking for the switch body 8 years ago
Daniel Grunwald 102729cfde Put switch instructions into their own BlockContainer. 8 years ago
Daniel Grunwald 8a68a94d35 Simplify use of SwitchInstruction in ILAst 8 years ago
Daniel Grunwald 0008deb021 Fix handling of try-finally blocks in ReachingDefinitionsVisitor. 8 years ago
Siegfried Pammer 206cdecf30 Merge Return instruction into Leave. 8 years ago
Daniel Grunwald 2207ab40f7 Check the CancellationToken a bit more frequently. 8 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 e871f7c05a Convert LoopDetection into a block transform. 9 years ago
Siegfried Pammer 840ec04fde Namespace adjustments for Syntax classes 9 years ago
Christoph Wille 1ce8349dd9 Adjust namespaces 9 years ago
Siegfried Pammer 284ddfadf1 Phase 2: Merge ICSharpCode.NRefactory into ICSharpCode.Decompiler 9 years ago
Daniel Grunwald 7273fe58fd Add BlockTransform concept and apply a bunch of refactoring essentials suggestions. 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
Daniel Grunwald 6d9e53bf4f Improve ILInlining.IsSafeForInlineOver() 9 years ago
Daniel Grunwald 20aec66815 Initial support for decompiling fixed statements 9 years ago
Daniel Grunwald a40f0754c1 Add InvalidInstruction to represent invalid IL opcodes in the ILAst instead of crashing. 9 years ago
Daniel Grunwald 5998d39827 Fix bug in DataFlowVisitor.VisitSwitchInstruction 9 years ago
Daniel Grunwald f3d108c469 Add SplitVariables transforms. 9 years ago
Daniel Grunwald e21ad7c3e4 DataFlowVisitor: ignore MayThrow and consider every instruction to potentially throw. 9 years ago
Daniel Grunwald a06ca0c0be Custom BitSet implementation 9 years ago
Daniel Grunwald 79030f6ee8 DataFlowVisitor: rename IsUnreachable to IsBottom 9 years ago
Daniel Grunwald 1aaf7b3dc0 Fix bugs in data flow analysis. 9 years ago
Daniel Grunwald f5e66ff623 Extract reusable DataFlowVisitor from ReachingDefinitions; and add ILVariable.HasInitialValue. 9 years ago
Daniel Grunwald b55775e2cc Add reaching definitions analysis. 9 years ago
Daniel Grunwald c171dbd520 Add class VariableScope. 9 years ago
Daniel Grunwald 9e59ea7395 Update System.Collections.Immutable 9 years ago
Daniel Grunwald 2509f27223 * Rename ControlFlowSimplification to ConditionDetection 10 years ago
Daniel Grunwald b2dfdea68e Add loop detection. 10 years ago
Daniel Grunwald 979f7d018a Traverse the dominator tree in depth-first order when finding conditions. This reduces the number of gotos produced for complex control flow. 13 years ago
Siegfried Pammer 1e79bf3588 do not use DominanceFrontiers to detect condition bodies; closes #300 13 years ago
David Srbecký aeeda32d10 Return instruction pops zero or one item instead of all. 14 years ago
Daniel Grunwald 55dec5389c Fix crash when decompiling calli instruction. Closes #113. 14 years ago
David Srbecký 9fcf789277 Fixed a bug in the graph dominance calculation 14 years ago
Daniel Grunwald 68b07e2828 Remove GraphViz from ICSharpCode.Decompiler. 14 years ago
Daniel Grunwald 60c02d577b Change namespace to ICSharpCode.Decompiler. 14 years ago
David Srbecký d9cdb29c2d Refactoring control flow 15 years ago
Daniel Grunwald 044714fe29 Use a simpler loop detection for the disassembler. 15 years ago
Daniel Grunwald 3d28650309 ControlFlowGraphBuilder bugfix: "try { try {} finally {} } catch {}" 15 years ago
Daniel Grunwald a4af0a46f2 Move assembly loading from constructor to Loaded event. 15 years ago
Daniel Grunwald c4c3356f2b Move Language to FilterSettings. 15 years ago
Daniel Grunwald 0259fa8037 Remove unused imports 15 years ago
Daniel Grunwald d569ba5395 Moving the disassembler into the ICSharpCode.Decompiler library. 15 years ago
Daniel Grunwald ae26637949 A bit more documentation for my FlowAnalysis code. 15 years ago
Daniel Grunwald 1ee3aee83e Disassembler bugfixes. 15 years ago
Daniel Grunwald 158b10d2fb Move decompilation to background thread. 15 years ago