282 Commits (b7d36c75977dc39b91fd7c0160aa075a9df69d7c)

Author SHA1 Message Date
Daniel Grunwald 935f0118d1 First attempt at better cast handling 9 years ago
Siegfried Pammer 15d0a405db Properly inline single-use locals in case of ldloca 9 years ago
Siegfried Pammer 8d96a72b3c Add back RemoveDeadVariableInit 9 years ago
Siegfried Pammer 134d4610d6 Convert simple IfInstructions to ConditionalExpression 9 years ago
Daniel Grunwald a95cf38ab6 Eliminate GetStackType() for cecil type references; it was incorrect for arrays of enums. 9 years ago
Daniel Grunwald ae318eca02 Make implicit I4->I conversions explicit in ILAst. 9 years ago
Daniel Grunwald c3937c3fab Add ImplicitConversions test and fix some 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 bb1beedbd4 Reactivate PatternStatementTransform 9 years ago
Daniel Grunwald ec226b0006 Add ILAst folding and remove unused RemoveDeadVariableInit transform. 9 years ago
Daniel Grunwald e953379916 Add NRefactory to RoundtripAssembly. 9 years ago
Daniel Grunwald 2730133f5f Combine switch sections that branch to same label. 9 years ago
Daniel Grunwald ffe23f5bd6 Remove 'TransformingVisitor' -- it belonged to the ILAst variant with stack instructions and no longer had any effect. 9 years ago
Daniel Grunwald 077a39519a ILReader: call Warn() on stack mismatch 9 years ago
Daniel Grunwald a40f0754c1 Add InvalidInstruction to represent invalid IL opcodes in the ILAst instead of crashing. 9 years ago
Daniel Grunwald f3d108c469 Add SplitVariables transforms. 9 years ago
Daniel Grunwald f1021d18af Make comparisons in the ILAst more similar to C# comparisons. 9 years ago
Siegfried Pammer 7aa1d46178 Allow changes to ILVariable.Type as long as StackType stays the same. 9 years ago
Daniel Grunwald 1aaf7b3dc0 Fix bugs in data flow analysis. 9 years ago
Siegfried Pammer 01c3721c33 Add expression transform for (unsigned)x > 0 -> (unsigned)x != 0 9 years ago
Siegfried Pammer 61fe3b4412 Add variable ResultType to Ldlen instruction 9 years ago
Daniel Grunwald f5e66ff623 Extract reusable DataFlowVisitor from ReachingDefinitions; and add ILVariable.HasInitialValue. 9 years ago
Siegfried Pammer 78d593f3ff fix bug in StObj-ExpressionTransform 9 years ago
Siegfried Pammer e831a2ab0e Add LoopingTransform 9 years ago
Siegfried Pammer 3fc12209b1 Add IsDirty tracking to ILInstruction 9 years ago
Siegfried Pammer 9aea030746 merge NRTypeExtensions and DecompilerTypeSystemUtils into TypeUtils 9 years ago
Siegfried Pammer 849f899926 transform stobj(ldloca(v), value) to stloc(v, value) 9 years ago
Siegfried Pammer 0969abd8c9 properly handle char[] access and bool ref/out access 9 years ago
Siegfried Pammer ab9083f897 remove doubled check from CopyPropagation 9 years ago
Daniel Grunwald b55775e2cc Add reaching definitions analysis. 9 years ago
Daniel Grunwald c171dbd520 Add class VariableScope. 9 years ago
Daniel Grunwald eb48a3764e Fix various issues that caused conversions to decompile to code with different semantics: 9 years ago
Daniel Grunwald d3de90389e Fix comparisons between signed and unsigned integers. 9 years ago
Daniel Grunwald 184b371f72 Fix 'this' type in generic classes/structs. 9 years ago
Siegfried Pammer f781c0335a replace IsSingleUse with IsSingleDefinition 9 years ago
Daniel Grunwald eabcab94db Fix appveyor build 9 years ago
Daniel Grunwald 8edfe57b85 Fix bug in Clone() impl for collection slots. 9 years ago
Daniel Grunwald e0cf3bc7d8 Document stale positions and orphaned nodes. 9 years ago
Daniel Grunwald e2c0f40f71 ILAst: make 'Return' less of a special case 9 years ago
Siegfried Pammer 13bf6fbe9f add simple CopyPropagation transform 9 years ago
Siegfried Pammer 0b18470157 introduce variables named "E_{StartOffset}" for exceptions 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
Siegfried Pammer 62fe21fb9f add transformation of decimal literals and decimal constants 10 years ago
Daniel Grunwald 0d6424bd12 IntroduceExitPoints 10 years ago
Daniel Grunwald d6b9d39f38 First attempt at loop extension. 10 years ago
Daniel Grunwald 3cc83d9a41 Allow decompiling individual properties/methods. 10 years ago