233 Commits (ca46aafa2f8cffe181a5423cbc5e775bf2e1b8e4)

Author SHA1 Message Date
David Srbecký effe892409 Duplicate return statements 15 years ago
David Srbecký 1bc30662b0 Rewritten goto removal. 15 years ago
David Srbecký 1174435aa6 Preparing duplication of return statement 15 years ago
David Srbecký 05b0b427d6 Peephole detection of the ternary operator (?:) 15 years ago
David Srbecký 194238586d Slightly reduce the number of generated basic blocks 15 years ago
Daniel Grunwald db44cd1d3b Handle ldelem.any. Closes #47. 15 years ago
David Srbecký 164691cf33 Further improvement in conditional control flow. 15 years ago
David Srbecký e2291940fb Improve control flow of conditions 15 years ago
Daniel Grunwald b494786088 Fix crash in ILInlining. 15 years ago
Daniel Grunwald 8f8c2ea280 Perform an inlining step after eliminating array initializers. 15 years ago
Daniel Grunwald f99e7036e7 Add support for array initializers don't use RuntimeHelpers.InitializeArray 15 years ago
Daniel Grunwald 7de3cf9bc4 Add support for array initializers. 15 years ago
Daniel Grunwald 680d7a413e Fix exception in type substitution when accessing multidimensional arrays that have a type parameter as element type. Closes #43. 15 years ago
Daniel Grunwald ef5ef62adc Fix typo in type inference for BrLogicAnd/BrLogicOr. 15 years ago
David Srbecký 8de27deb9e Reduced the complexity of short-circuit detection to polynomial time. 15 years ago
Artur Zgodziski 679d525806 Fixed enum boxing decompilation bug. Enum in attributes better printing. 15 years ago
Daniel Grunwald e8f3e14102 Fix bugs in type analysis. Closes #38. 15 years ago
pentp c61d3b3ab2 Fix for handler blocks ending at method body end 15 years ago
David Srbecký 89c7a8a5b4 Keep track of the original variable for ILVariable 15 years ago
David Srbecký 022111fa9f Fixed bug that might have caused some code to be duplicated 15 years ago
David Srbecký 18aea29eae Split local variables by their live ranges 15 years ago
David Srbecký 994a215963 Data-flow analysis in ILAstBuilder 15 years ago
Daniel Grunwald e31a89689d Add support for char literals. 15 years ago
Daniel Grunwald f0fc66bff6 Avoid using equality operator on TypeReferences; Cecil does not guarantee that there is only one instance for a type. 15 years ago
Daniel Grunwald 72bb24167e Use ILCode instead of Code in type analysis. 15 years ago
Daniel Grunwald b7ea33b8ac Don't inline stloc instructions. 15 years ago
Daniel Grunwald 66e2134072 TypeAnalysis: Make type analysis store both the inferred type and the expected type in each ILExpression. 15 years ago
David Srbecký 021b923036 Fixed analysis for prefixed bytecodes - Closes #22 15 years ago
David Srbecký b4c2b3f92a Determine loop condition from CFG 15 years ago
Daniel Grunwald ecd8bc7cce Store prefixes with their parent instruction in ILAst; make use of 'constrained' prefix in type analysis. 15 years ago
Daniel Grunwald 7ca8e36f15 Fixed handling of enum literals. 15 years ago
Daniel Grunwald d67db5f38b Use shorter syntax for field references in ILAst output. 15 years ago
Daniel Grunwald d1efa9387e Fix stloc type analysis. 15 years ago
Daniel Grunwald 9efe55a758 Fixed type analysis with generic types. 15 years ago
David Srbecký 77d1f62356 Threat stloc as expression that returns value (the stored value) 15 years ago
Daniel Grunwald bf7fe3f33c Bugfix: Crash in type analysis when trying to infer the type of an arg_*-variable that was consumed by a pop instruction. 15 years ago
David Srbecký 7c4111267a Support for short circuit conditional operators (&& and ||) 15 years ago
Daniel Grunwald 83eda6157a Use pattern matching in delegate construction. 15 years ago
Daniel Grunwald a61a4c2245 Infer types for the temporary variables introduced in ILAst. 15 years ago
David Srbecký adfc7fc3e4 Handle unreachable code 15 years ago
David Srbecký eda207369c Slight improvement in code order 15 years ago
Daniel Grunwald 8b342ea469 Use ILVariable as ldloca operand. 15 years ago
David Srbecký 986e5e06cc Proper support for catch block argument 15 years ago
David Srbecký a03d029d30 Use custom enum to store OpCodes (so that we can add "virtual" opcodes) 15 years ago
Daniel Grunwald 7442f501b0 Add support for more opcodes to type analysis: ldind*, stind*, conv_ovf*, and some others. 15 years ago
Daniel Grunwald 8e69601184 Implement type analysis for a lot more opcodes. 15 years ago
Daniel Grunwald 798d156670 Add comparisons with 0 or null if necessary. Closes #8. 15 years ago
Daniel Grunwald cd2c70a6b4 First implementation of type inference. 15 years ago
Daniel Grunwald 016b54563f Add cancellation support to the decompiler. 15 years ago
Daniel Grunwald ea0c2df3ff Allow viewing the intermediate ILAst steps. 15 years ago