304 Commits (25f35033ac24c1a6d66b1bc9ac2bc09c35eed952)

Author SHA1 Message Date
Daniel Grunwald 6d4f2e37fe Fix crash when decompiling WebSocketBase::SendFrameAsync. 13 years ago
Daniel Grunwald 1b6d1088e8 Fix #346: incorrect type inference for if statement on ref bool parameter 13 years ago
Daniel Grunwald daa5900f9c Fixed async/await decompilation when the GetAwaiter() is called on a value type. 13 years ago
Daniel Grunwald 8acf17d50a Improved async/await decompiler. 13 years ago
Daniel Grunwald 2edcaa2c44 Initial implementation of async/await decompiler. 13 years ago
Daniel Grunwald 979f7d018a Traverse the dominator tree in depth-first order when finding conditions. This reduces the number of gotos produced for complex control flow. 13 years ago
Siegfried Pammer 856c2e823c implement special cases for enum type inference (addition); closes #299 13 years ago
Daniel Grunwald 0369486be7 Fixed issue with the patch for #300 when an 'else' block starts with a while loop. 13 years ago
Siegfried Pammer 91b74550fe implement special cases for enum type inference; closes #248 13 years ago
Siegfried Pammer 1e79bf3588 do not use DominanceFrontiers to detect condition bodies; closes #300 13 years ago
Daniel Grunwald 0b968182a3 Fix #296: Array initialization decompiles into recursive reference 13 years ago
Daniel Grunwald 549d2c4dca Fix #304 Search for enum underlying type is incorrect 13 years ago
Daniel Grunwald c3b9fd63c1 Fix array creation with unsigned integers. 14 years ago
Daniel Grunwald 0010be6add Fixed decompiling "new byte[length]" where length is a long. 14 years ago
Jb Evain 8e4d8226f1 Recover collection initializers using call opcode 14 years ago
Jb Evain c9d99af4e8 Remove unused variable 14 years ago
Jb Evain 11c99f778f Refactor DecodeArrayInitializer to support enums. 14 years ago
Jb Evain 38cae92dee Fix InitializeArray decompilation for initialize values that include padding 14 years ago
David Srbecký e0e53ae650 Switched to "define-use" naming convention in ILAstBuilder. Refactored variable splitting. 14 years ago
Pent Ploompuu 8490b4cfd5 Restrict variable splitting in case of nondeterministic ldloca opcodes. 14 years ago
Daniel Grunwald 7e35c705b6 Initial implementation of Expression Tree Decompilation (#175) 14 years ago
Zohar Kelrich 470caaa6bb Fix #278: Decompiling generic multidimensional array access throws exception 14 years ago
Pent Ploompuu 41e71ead8c Fix variable splitting for ldloca opcodes 14 years ago
Daniel Grunwald 0cdaf3bec4 Ensure the value parameter of a property setter is called 'value'. 14 years ago
Pent Ploompuu fad596bc4b Fix type casting regression by improving type analysis of ILCode.Box 14 years ago
Pent Ploompuu 92c892577d Use consistent terminology for lifted operators 14 years ago
Pent Ploompuu 66fde6d0ee Compound assignment support for overloaded operators 14 years ago
Pent Ploompuu ee0f43ad38 Compound assignment support for lifted operators 14 years ago
David Srbecký aeeda32d10 Return instruction pops zero or one item instead of all. 14 years ago
David Srbecký 3b692d9c7c Ignore arguments of 'leave'. Closes #185 14 years ago
Siegfried Pammer f4d29b2f2b add AlwaysGenerateExceptionVariableForCatchBlocks setting to avoid Catch clauses without a variable; disable C#'s query expression translation 14 years ago
Pent Ploompuu e5c8b06e1c Fixed TernaryOp and NullCoalescing type analysis. 14 years ago
Daniel Grunwald 17a75ded4e Fix #211 InvalidCastException in ILAstOptimizer.TransformArrayInitializers 14 years ago
Daniel Grunwald 3fad5cb76b Fix #249: Object Initializer not detected for value types 14 years ago
Pent Ploompuu 1388f0b678 Fix performance regression in stack analysis (probably caused by increased complexity from Ldloca support). 14 years ago
Pent Ploompuu 587c36bea2 Type analysis support for the remaining lifted operators 14 years ago
David Srbecký 822e473df3 Replace endfinally with jump. Closes #232 14 years ago
Pent Ploompuu d226afb26d Decompile all lifted operators on nullable values. Postfix increment/decrement and custom type conversions support incomplete, but correct. 14 years ago
Daniel Grunwald 3020bc9ce8 Fixed type analysis for right shift operator. 14 years ago
Daniel Grunwald 43b4339bea Simplify shift operators (<< and >>). 14 years ago
Daniel Grunwald 8beed6aa70 Fixed type inference for shift operators. Closes #239. 14 years ago
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
Pent Ploompuu 007549180d Set correct InferredType after decompiling operators with nullable values (needed for LogicNot simplification). 14 years ago
Pent Ploompuu 24c9e68633 Simplify shift operators (<< and >>). 14 years ago
Pent Ploompuu 0abae7a2ad Improve decompilation of operations with nullable booleans. 14 years ago
Pent Ploompuu 83c3696724 Decompile null coalescing operator for nullable types 14 years ago
Pent Ploompuu ca6a283b16 Fixed variable splitting 14 years ago