312 Commits (9ceb8de922b48d65f7f57eb9c29de1d80ac9f61a)

Author SHA1 Message Date
Daniel Grunwald 6a98af56ad Fixed decompilation when an object initializer is used on a collection type. 14 years ago
Daniel Grunwald 207bb984aa Implemented support for nested object/collection initializers. 14 years ago
pentp 71149caffd Remove temporary local variables generated by the C# compiler for instance method calls on immutable value type values 14 years ago
Daniel Grunwald baa05b2e01 Fixed unintended interaction between object initializers and anonymous methods. 14 years ago
Daniel Grunwald 600c07388e Implemented object initializers. 14 years ago
Daniel Grunwald d8fc41e7a9 Add refanytype and refanyval to type analysis. 14 years ago
Eusebiu Marcu e4513b947b Merged ICSharpCode.Decompiler changes from debugger branch. 14 years ago
Eusebiu Marcu 65be04d18e Move local variables into a property of AstBuilder 15 years ago
Daniel Grunwald 78eea4fddf Fixed bug that caused yield-return analysis to fail sometimes. 15 years ago
David Srbecký 3c5f1355cb Handle uninitialized variables. Closes #102. Closes #116. 15 years ago
David Srbecký 7ff8c69057 Do stack analysis on the whole filter body. Closes #88 15 years ago
David Srbecký 0e957b6347 Fixed NullReferenceException caused by unreachable IL code. It was generally caused by throw followed by catch leave. 15 years ago
David Srbecký 08b8645308 Handle uninitialized variables. Closes #102. Closes #116. 15 years ago
David Srbecký 6222ef7bbf Do stack analysis on the whole filter body. Closes #88 15 years ago
David Srbecký 7ac44375ff Fixed NullReferenceException caused by unreachable IL code. It was generally caused by throw followed by catch leave. 15 years ago
Daniel Grunwald 1e66e970bf Add support for mkrefany opcode. 15 years ago
Daniel Grunwald 15f5c7a0b4 CachedDelegateInitialization: use less aggressive inlining 15 years ago
Daniel Grunwald f791897829 Implemented CachedDelegateInitialization transform for local variables (used for capturing lamdbas within loops). 15 years ago
Daniel Grunwald d550d55560 Fixed 'as' and 'is' operators for value types. 15 years ago
Daniel Grunwald 9ad5124603 Fixed type analysis for collection initializers. Closes #104. 15 years ago
Daniel Grunwald 55dec5389c Fix crash when decompiling calli instruction. Closes #113. 15 years ago
Daniel Grunwald 6376110913 Fixed issues with "fixed" statement that were introduced by recent changes. 15 years ago
Daniel Grunwald fe4b3d44a0 Fixed post-increment operator on fields in generic classes. 15 years ago
Daniel Grunwald 8cb85826fc Fixed type substitution for arrays. Closes #94. 15 years ago
Daniel Grunwald cc0ab56869 Add pre- and post-increment support for properties (both instance and static) and for multi-dimensional arrays. 15 years ago
Daniel Grunwald d91b56b033 Add support for pre- and post-increment of dereferenced pointers "(*ptr)++". 15 years ago
Daniel Grunwald 4c7a896a84 Implemented post-increment operator. Closes #76. 15 years ago
Daniel Grunwald 52b178df90 Make the pre-increment operators work on static fields. 15 years ago
Daniel Grunwald 1df82cc3d1 Improved support for compound assignments and the pre-increment operator. 15 years ago
Daniel Grunwald 1cd79a1301 Use type analysis to introduce casts to float/double only where required. 15 years ago
Daniel Grunwald 7e6490a816 Simplify conv.i8(ldc.i4(x)) to ldc.i8(x). 15 years ago
Daniel Grunwald 1a94ac50fb Mark casts as checked/unchecked. 15 years ago
Daniel Grunwald d430ee056b Recombine variables after ILAst optimizations so that there is only a single C# variable for a single IL variable. 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ý 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
Eusebiu Marcu 73d50fbbb4 Improve stepping. 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