232 Commits (2783b020079a26e8e82ad503a3d5a6143fb8d55b)

Author SHA1 Message Date
Daniel Grunwald 2783b02007 Fix #241: type analysis causes truncation of integer literals when calculating with types smaller than int32. 14 years ago
Daniel Grunwald 6c94092dc5 Fixed ILAstOptimizer.CanBeExpressionStatement to include more types of assignments. 14 years ago
Alex Lyman e484d35fe2 - Altered the InitializerPeepholeTransforms' ArrayInitializer forward-scan to only look at the next instruction: in practice, CSC does not seem to generate code that needs anything more, and there are some questions as to the validity of the looping itself (i.e. what if there is a branch between them? 14 years ago
Alex Lyman 9faee0ad8d - Modified the InitializerPeepholeTransforms' Array Initializers to do a forward scan of the block instead of just checking the next instruction. The next-instruction thing breaks down under the case where you have an array-of-arrays (int[][]) 14 years ago
David Srbecký 6fd28e8b6e Remove unreachable return statements. Closes #174. Closes #192 14 years ago
David Srbecký c31f9232c5 Do not fall though the end of try-block. It should never happen in valid IL, but some obfuscators generate such code. Closes #164 14 years ago
Daniel Grunwald c339b9270a Fix crash in disassembler and decompiler when HasPInvokeInfo=true but PInvokeInfo=null (occurs with unmanaged methods in C++/CLI assemblies) 14 years ago
Daniel Grunwald 67fcd4ef7d Fix NullReferenceException in ILAstOptimizer.RecombineVariables 14 years ago
Daniel Grunwald f1a34c6a31 Fix #202: Decompilation of multiple catch clauses sharing the same variable name 14 years ago
Daniel Grunwald 17ad27bfac Use AnyCPU config for BamlDecompiler.Plugin. 14 years ago
Daniel Grunwald e59edceccb Fix inlining into null coalescing operator. 14 years ago
David Srbecký 51eb00aac7 Remove unreachable code in ILAstBuilder. Closes #134. Closes #151. Closes #171. 14 years ago
Siegfried Pammer 2b366fbb97 make pattern for custom short circuit operator invocations more restrictive 14 years ago
Siegfried Pammer a929decdeb implement basic support for custom short circuit operators + unit test; fixes #193 14 years ago
Daniel Grunwald 229218174f Inlining: remove the arg_-Variable in catch blocks. 14 years ago
Daniel Grunwald 2d42dd5c57 Fixed several issues related to [MarshalAs] attributes. 14 years ago
Daniel Grunwald d362f8d0f6 Fixed several bugs in the IL disassembler. 14 years ago
Daniel Grunwald ae873ec18f Fixed decompilation of anonymous methods created by the VB compiler. Closes #127. 14 years ago
Daniel Grunwald 4ec92d9a55 Handle cpobj instruction as stobj(ldobj). 14 years ago
Daniel Grunwald 478035dfd9 Fix issues introduced when merging #166. 14 years ago
Daniel Grunwald 508073d6ac Applied some of the optimizations suggested by Kris Vandermotten. #150 14 years ago
Ivan Hamilton b408acccea Fix local variable post-increment recognition for split local variables. 14 years ago
Daniel Grunwald d267eb2412 Fix NullReferenceException when viewing ILAst for a calli instruction. Closes #152 14 years ago
Daniel Grunwald 9fdd6539e2 YieldReturnDecompiler: don't require that class name starts with '<' 14 years ago
Daniel Grunwald f68775e468 Revert fix for #120. Siegfried found a case where the C# compiler creates a useless variable in debug builds. 14 years ago
Daniel Grunwald f12371e0e1 Consistently use the full MIT license header on source files. 14 years ago
Daniel Grunwald 5f069c4ea8 Perform dead store removal only for generated variables. Closes #120. 14 years ago
Daniel Grunwald 1e6cc8f8b1 Fixed bugs with collection initializers. 14 years ago
Daniel Grunwald 8c927f199b Fixed issues introduced by #139 (Improved local variable inlining) 14 years ago
Daniel Grunwald 660505e04d Introduce 'AddressOf' pseudo-opcode to make the type system aware of inlined value types (#139) 14 years ago
pentp 8c161e51cd fix changes 14 years ago
Daniel Grunwald 7c9013736e Use hyperlinks for the named arguments in object initializers. 14 years ago
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
Daniel Grunwald 78eea4fddf Fixed bug that caused yield-return analysis to fail sometimes. 14 years ago
David Srbecký 08b8645308 Handle uninitialized variables. Closes #102. Closes #116. 14 years ago
David Srbecký 6222ef7bbf Do stack analysis on the whole filter body. Closes #88 14 years ago
David Srbecký 7ac44375ff Fixed NullReferenceException caused by unreachable IL code. It was generally caused by throw followed by catch leave. 14 years ago
Daniel Grunwald 1e66e970bf Add support for mkrefany opcode. 14 years ago
Daniel Grunwald 15f5c7a0b4 CachedDelegateInitialization: use less aggressive inlining 14 years ago
Daniel Grunwald f791897829 Implemented CachedDelegateInitialization transform for local variables (used for capturing lamdbas within loops). 14 years ago
Daniel Grunwald d550d55560 Fixed 'as' and 'is' operators for value types. 14 years ago
Daniel Grunwald 9ad5124603 Fixed type analysis for collection initializers. Closes #104. 14 years ago
Daniel Grunwald 55dec5389c Fix crash when decompiling calli instruction. Closes #113. 14 years ago
Daniel Grunwald 6376110913 Fixed issues with "fixed" statement that were introduced by recent changes. 15 years ago