416 Commits (4aafe2db69f07fd8c885795eeaeb4fb365e785d9)

Author SHA1 Message Date
Siegfried Pammer 9d0ff70f08 Fix some unnecessary casts, adjust test cases 8 years ago
Siegfried Pammer e3606374a4 Refactor TransformExpressionTrees to use an (ILInstruction, IType) pair as result of every Convert call. 8 years ago
Siegfried Pammer ad68204b04 Fix bugs in Expression.Quote/Expression.Invoke handling 8 years ago
Siegfried Pammer 049cff2324 Add unit tests, directly use ILFunction instead of NewObj(ILFunction) for expression trees. 8 years ago
Siegfried Pammer d3a623bd26 Implement MemberInit, Bind 8 years ago
Siegfried Pammer a5e5cf166b Add support for missing expressions: Invoke, Quote, ListInit, NewArrayBounds, NewArrayInit, ExpressionTreeCast 8 years ago
Siegfried Pammer 21dfa43dab Add ExpressionTreeCast instruction 8 years ago
Siegfried Pammer 648e4ec42a First implementation of TransformExpressionTrees 8 years ago
Siegfried Pammer 29a2d3ec34 Refactoring of ILFunction: allow Method and CecilMethod to be null for expression trees. 8 years ago
Siegfried Pammer ed8fc0de8c Fix #968: foreach loop with early return 9 years ago
Siegfried Pammer 69f2609bff Fix #861: Failure to decompile for loop with conditional early return 9 years ago
Siegfried Pammer 37474ae5e9 Fix #447: second part ReturnFromDoWhileInTryFinally 9 years ago
Daniel Grunwald 02db362838 Ensure that StLoc.Value.ResultType == StLoc.Variable.StackType 9 years ago
Siegfried Pammer f8afa6051d Fix another instance of #951: Incorrect decompilation of anonymous delegate 9 years ago
Siegfried Pammer 300c9cc9a9 Do not convert while-true to while-condition loop or do-while loop, if the condition uses a variable that is captured inside the loop. 9 years ago
Siegfried Pammer f91df96281 Improve for loop transform: split conditions 9 years ago
Siegfried Pammer b3f5a8e089 Refactor MatchDoWhileLoop; add documentation 9 years ago
Siegfried Pammer b24b749ec6 Add support for multiple conditions in do-while loops. 9 years ago
Siegfried Pammer 4daabf350a Do not convert to for loop if increment variable is a parameter. 9 years ago
Siegfried Pammer bcc574a6c0 Fix aggressive for-loop detection 9 years ago
Siegfried Pammer 86c3ab8314 Fix unit tests 9 years ago
Siegfried Pammer b3370506ae Fix small regressions 9 years ago
Siegfried Pammer bfb310b4a3 Remove DetectedLoop 9 years ago
Siegfried Pammer 8da8a7f0c9 HighLevelLoopTransform: implement detection of for and do-while 9 years ago
Siegfried Pammer af6274c5ae HighLevelLoopTransform: Add support for while (condition) loops 9 years ago
Daniel Grunwald 7af15d27cd Fix #905: improve exit point detection for foreach loops. 9 years ago
Siegfried Pammer 349183544a Rename BlockType to BlockKind 9 years ago
Daniel Grunwald 6d8d37f8fc Add ValueTypeCall foreach testcase. 9 years ago
Siegfried Pammer a9fd937099 Fix bug in TransformArrayInitializers.HandleJaggedArrayInitializer 9 years ago
Siegfried Pammer d2f2a13982 Add RemoveDeadCode option 9 years ago
Daniel Grunwald a82430fc78 Add missing safety checks to inline assignment transforms. 9 years ago
Daniel Grunwald 11631d6cf0 Remove redundant code from TransformAssignment. 9 years ago
Daniel Grunwald 7847a69d69 Fix compound assignment and post-increment. 9 years ago
Daniel Grunwald 4c5f0b7e9c Convert TransformAssignment into a statement transform and add support for inline property assignments. 9 years ago
Siegfried Pammer 8135157e95 Fix #951: Incorrect decompilation of anonymous delegate 9 years ago
Daniel Grunwald 40a4f08a8d Add support for compound assignment of short integers. 9 years ago
Daniel Grunwald 248a9ad76f Fix #954: don't use invalid compound assignments on enums 9 years ago
Daniel Grunwald b0bf6326ad Allow inline assignments to short integers when we can tell that there's no truncation. 9 years ago
Daniel Grunwald c7e60a9b3c Avoid using inline assignments if they truncate the input value. 9 years ago
Daniel Grunwald 385005b2e5 More strictly test the inline assignment pattern. 9 years ago
Siegfried Pammer 4afb7230f1 GenerateForeachVariableName: Use root ILFunction and descendants as context for variable naming in GenerateForeachVariableName; Fixes #957: Invalid foreach naming 9 years ago
Daniel Grunwald f4682fd75a AssignVariableNames.GetNameFromInstruction: also handle LdFlda directly 9 years ago
Siegfried Pammer aa87169331 Clean up RemoveDeadVariableInit 9 years ago
Siegfried Pammer 9e2f98cb8d Improve RemoveDeadVariableInit and CopyPropagation 9 years ago
Daniel Grunwald 255fab7bd6 Fix short-circuiting operators when the rhs is a comparison with 0. 9 years ago
Siegfried Pammer 425d1ae697 Fix ArgumentOutOfRangeException in CopyPropagation while decompiling System.Security.Cryptography.CryptoStream.ReadAsyncInternal from mscorlib.v4 9 years ago
Siegfried Pammer 9630acd8b7 SwitchOnNullableTransform: Fix another special case produced by the Roslyn compiler. 9 years ago
Siegfried Pammer 7e9f60533b Use proposedNameForStoresFromNewObj only in case of stack slots. 9 years ago
Siegfried Pammer 461e59bd3f Clean up and documentation 9 years ago
Siegfried Pammer 08dcead162 Fix false positive in struct initializers with default.value init 9 years ago