343 Commits (1331869851e729d9a08529a5ff21d12c764b877d)

Author SHA1 Message Date
Daniel Grunwald 99f5c45a16 Use C# syntax for generic types in the tree view. 15 years ago
Daniel Grunwald 7eedd1b7ab Fix decompilation of assembly into single file. 15 years ago
Daniel Grunwald 3211ccbf6a Introduce using declarations in decompiled code. 15 years ago
Daniel Grunwald 039483ddbd Optimize PatternStatementTransform. 15 years ago
Daniel Grunwald dbbd5d872b Add support for destructors. Closes #73. 15 years ago
David Srbecký ab9452a30e ILBasicBlock refactored to consist only of the body. Removed ILComment. Closes #86 15 years ago
David Srbecký 17f68f450f Moved some of the optimizations into the while(modified) loop 15 years ago
David Srbecký 579cbb0acd Added a pass to joint basic blocks 15 years ago
David Srbecký 10a96a8d3f Helpers ILCode.IsConditionalControlFlow() and ILCode.IsUnconditionalControlFlow() 15 years ago
David Srbecký 015d70ff52 Simplification of && || ?? ?: put into separate file. Just recalculate the analysis rather then trying to keep it up to date. 15 years ago
David Srbecký 31b2de1126 Fixed initilizers and fixed statements which I broke during the refactoring. 15 years ago
David Srbecký 1a64d56b5a Create short circuit logical expressions as left associative 15 years ago
David Srbecký 1b8a62fb7c Run optimization loops backwards (bottom-up) 15 years ago
David Srbecký 6046fdcdfb Do not put brtrue into its own basic block - store it together with the previous instructions. 15 years ago
David Srbecký 9fcf789277 Fixed a bug in the graph dominance calculation 15 years ago
David Srbecký b3f1d599f8 Refactored some peephole transforms; Moved some of the transforms before loop and condition detection 15 years ago
Daniel Grunwald bc229df848 Handle pointer arithmetic. 15 years ago
Daniel Grunwald 3ed0de81f7 Support fixed statement with multiple initializers. 15 years ago
Daniel Grunwald 1d11e75af3 Add support for fixed statement with strings. 15 years ago
Daniel Grunwald 1b90809728 Implemented 'fixed' statement for arrays. 15 years ago
Daniel Grunwald 3759b614cf Add support for calling methods on pointers (ptr->ToString()). 15 years ago
Daniel Grunwald b41ee3ca88 Fix type analysis bugs. 15 years ago
Daniel Grunwald db7653653d Add support for decompiling fixed statements. 15 years ago
Daniel Grunwald a3c241dac6 Improve handling of pinned variables. 15 years ago
Daniel Grunwald 7b2c444181 Add support for unsafe code. Closes #48. 15 years ago
Daniel Grunwald 2601a4901a Fix "Missing variable name in created C# code". Closes #81. 15 years ago
Daniel Grunwald 01d7e2abbd Use the same representation for parameters and variables. 15 years ago
Daniel Grunwald 2228f29330 Convert [ParamArray] and [Extension] to 'params'/'this' modifiers. 15 years ago
Daniel Grunwald eb84a840f5 Improve name generation. 15 years ago
Daniel Grunwald 43b30dabd0 Consider where a variable is used when determining a name for the variable. 15 years ago
Daniel Grunwald 892996f079 Assign names to parameters. Closes #41, #81. 15 years ago
Daniel Grunwald c4335dd2ef Fix decompilation of arrays as attribute arguments. Closes #82. 15 years ago
David Srbecký cce7300d66 Removed the declarative pattern matching algorithm from ILAst 15 years ago
David Srbecký 05b3bfbff2 Use the simple pattern matching in yield return 15 years ago
David Srbecký 95ec14a7c5 Use the simple pattern matching for array initializers 15 years ago
Daniel Grunwald 68b07e2828 Remove GraphViz from ICSharpCode.Decompiler. 15 years ago
David Srbecký 616503f9a9 Added method to calculate unassigned ILRanges 15 years ago
David Srbecký 7318663cd5 GetSelfAndChildrenRecursive can be predicated 15 years ago
David Srbecký 20e885539b Moved loops and condition optimizations to its own file 15 years ago
David Srbecký 3d4804a695 Simplify short circuit logic in return statements. Closes #49 15 years ago
David Srbecký a58cdc6a6e Support for the null coalescing operator 15 years ago
David Srbecký 892297708f Amend of last commit - remove stloc only if the inner expression is valid expression statement and the variable is generated 15 years ago
David Srbecký d167860111 Remove stloc instruction if the variable is never loaded 15 years ago
Daniel Grunwald bf6e4bbfd9 Transform 'try { try {} catch {} } finally {}' to 'try {} catch {} finally {}'. Closes #77. 15 years ago
Daniel Grunwald 93d1a30ebd Fix creation of attribute argument for [MarshalAs]. Closes #78. 15 years ago
David Srbecký d518b07f8b Use short circuit logic instead of ternary operator if possible 15 years ago
Daniel Grunwald f95c53384c Fix transformation of closure variables for anonymous methods within generic methods. 15 years ago
Daniel Grunwald e9c6aa15e6 Fix switch on string when the compiler introduced a temporary variable for the string being switched on. 15 years ago
Daniel Grunwald 351808626e Fix lambda expressions that are used within conditions. 15 years ago
Daniel Grunwald b161b7e947 Fix conversion of field initializers when there are constructors that call 'this..ctor(...);' 15 years ago