67 Commits (22c98016a97bee5d1aee15b019bcd34f2ae51144)

Author SHA1 Message Date
Siegfried Pammer e1ca4db851 Fix #2527: Support skip locals init 4 years ago
dotnet format 0d9f871a4f #2128: Reformat the whole code base. 5 years ago
Siegfried Pammer eac0e2257e Support MatchInstruction in DataFlowVisitor 5 years ago
Siegfried Pammer 8925b4ff7b Inline variable declarations/modernize parts of our code base. 5 years ago
Daniel Grunwald 18ee984ade Add support for "definitely assigned if true/false" to data flow analysis. 6 years ago
Daniel Grunwald 8cfc21dfab Fix DefiniteAssignmentVisitor bugs handling ILFunction, and add some comments. 6 years ago
Siegfried Pammer 7d62a7e032 Reset HasInitialValue flag after TransformDisplayClassUsage. 6 years ago
Daniel Grunwald 2929ae865f Fix #1460: assertion in DataFlowVisitor`1.DebugPoint() with try-fault statement. 6 years ago
Daniel Grunwald a86a0586bb Fix #890: Correctly handle calls with out-parameters in definite assignment analysis. 7 years ago
Daniel Grunwald 96d9e63f4c Don't unnecessarily default-initialize variables prior to a call with out-parameter. 7 years ago
Daniel Grunwald a8a852b742 Add instructions for modeling the "?." operator in the ILAst. 8 years ago
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