97 Commits (5ca3ddb860bccd39fd92d678475e10875befc9d4)

Author SHA1 Message Date
Daniel Grunwald 5ca3ddb860 Yield return decompiler: reconstruct try-finally blocks. 15 years ago
Daniel Grunwald 6da92cd8d1 yield return decompilation: translate fields to local variables 15 years ago
Daniel Grunwald d5505b7843 Initial attempt at yield return transform. 15 years ago
Daniel Grunwald 6feadf3840 Started analysis of yield return statements. 15 years ago
Daniel Grunwald 7d1d168313 Add options dialog. 15 years ago
David Srbecký f0faaaf8d2 Do not enter try-blocks in the goto removal algorithm 15 years ago
David Srbecký aab0e43a08 Don't just fall out of case statements. 15 years ago
David Srbecký 37301d0162 Negate loop condition if necessary 15 years ago
David Srbecký 91334dbfe2 Use brtrue as loop condition only if one of the destinations is not in the loop 15 years ago
David Srbecký 6abb310356 Fixed bug in goto removal 15 years ago
David Srbecký 01de42c04a Reduced branch codes to just br and brtrue 15 years ago
David Srbecký 929fd4a09d Made some structures in ILAstBuilder immutable to improve speed and memory consumption 15 years ago
Daniel Grunwald 8835b085cf Handle non-custom attributes: 15 years ago
Daniel Grunwald 70b95847fe Eliminate cached delegate initialization. 15 years ago
Daniel Grunwald 60c02d577b Change namespace to ICSharpCode.Decompiler. 15 years ago
Daniel Grunwald 27ff71ada3 Add support for decimal literals. Closes #42. 15 years ago
Daniel Grunwald ee105aeb3c Refactor ArrayInitializers into a general peephole-transformation step. 15 years ago
David Srbecký e53c2565e8 Simple heuristics to improve gotos related to loops 15 years ago
David Srbecký c3e3166d8f Reimplemented condition "unnesting" to work on the fattened data with gotos already cleaned up. Use left over gotos and other unconditional flow to guide the unnesting. 15 years ago
David Srbecký 3f4578f7f5 Duplicate return statement with const int/bool. 15 years ago
David Srbecký 46c99ddc44 Performance improvement - use accumulator list for GetSelfAndChildrenRecursive 15 years ago
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