63 Commits (bac3c5c21d17ab88df1cbdecfe63395c2dfd27ec)

Author SHA1 Message Date
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
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
Siegfried Pammer 2abed5b165 added ILAstLanguage for easier debugging 15 years ago
David Srbecký ed11a717a0 Fixed bug in creation of try-catch ILAst blocks 15 years ago
David Srbecký 597f6bda86 Fixed building of ILAst try-catch block 15 years ago
David Srbecký 6c1f4ca355 Simple fix for some accidentaly duplicated nodes 15 years ago
David Srbecký d469b6a513 Fixed local variable names, types and definitions 15 years ago
David Srbecký 9937d991e8 Initial support for switch statements 15 years ago
David Srbecký 11d53ebdca Keep track of original IL ranges 15 years ago
David Srbecký dac0d95f43 Better conditions in case when one body gotos out of scope 15 years ago
David Srbecký c7e7a24efa Slight improvement in the node order in loops 15 years ago
David Srbecký bcab82ec21 Handle mutually nested loops/conditions 15 years ago