113 Commits (688474facdc26c890eba5484d29e56f36a0fb46d)

Author SHA1 Message Date
Siegfried Pammer 2c7e3c2c37 Add hack to allow inlining of compiler-generated variable after dynamic.isevent pattern transform. 7 years ago
Siegfried Pammer 273a1c24ff Add dynamic compound assignment transforms 7 years ago
Siegfried Pammer 5e4b571a62 Add DynamicCallSiteTransform 7 years ago
Daniel Grunwald 3956fa685d Refactor TransformAssignment to reduce code duplication. 7 years ago
Siegfried Pammer 845c620a9f Implement UserDefinedCompoundAssign 7 years ago
Daniel Grunwald a46ac9dc84 Also combine 'ldlen; conv.i4.ovf' to 'ldlen.i4'. 7 years ago
Daniel Grunwald 1dfda502ea Remove redundant 'box' opcodes. This eliminates some unnecessary (object)-casts in generic code. 7 years ago
Siegfried Pammer 33c5e2d3ed Add StackType.F4 and StackType.F8, and instructions LdcF4 and LdcF8. 8 years ago
Siegfried Pammer 69f2609bff Fix #861: Failure to decompile for loop with conditional early return 8 years ago
Daniel Grunwald 40a4f08a8d Add support for compound assignment of short integers. 8 years ago
Daniel Grunwald 248a9ad76f Fix #954: don't use invalid compound assignments on enums 8 years ago
Daniel Grunwald 255fab7bd6 Fix short-circuiting operators when the rhs is a comparison with 0. 8 years ago
Siegfried Pammer 9e5d4c10f7 Fix array.Length == 0 in Roslyn. 8 years ago
Daniel Grunwald f6ab796ba7 Add ldobj(ldloca) -> ldloc transform; and remove special case in ProxyCallReplacer. 8 years ago
Daniel Grunwald 39bb6856b7 Fix various bugs with compound assignments. 8 years ago
Daniel Grunwald 61900e33c3 [nullables] Lifted compound assignments 8 years ago
Daniel Grunwald 7017c6f6e6 Replace LoopingBlockTransform with StatementTransform. 8 years ago
Siegfried Pammer 48b77d4742 ExpressionTransform: comp(box T(..) [!=]= ldnull) -> comp(.. [!=]= ldnull) where T.Kind == TypeParameter 8 years ago
Daniel Grunwald 735f8e070d Compound assignment doesn't support lifting yet. 8 years ago
Daniel Grunwald 919219524b Eliminate the dedicated logic.not instruction, and treat it as syntax sugar similar to logic.and/logic.or. 8 years ago
Daniel Grunwald 21ef967d4d [nullables] Lifting for non-equality comparisons. 8 years ago
Daniel Grunwald 4830b37ab9 [nullables] Add support for '??' operator on nullables. 8 years ago
Daniel Grunwald 33099c5d65 [nullables] Extend nullable lifting to arbitrary combinations of 'conv' and 'binary.numeric'. 8 years ago
Daniel Grunwald 133ddac256 [nullables] Add support for lifted conversions. 8 years ago
Siegfried Pammer 50d55b9b05 Fix build. 8 years ago
Siegfried Pammer c34541ad4c Implement catch-when and remove local copy of exception slot. 8 years ago
Daniel Grunwald 21717f0fa4 Fixup array indices 8 years ago
Daniel Grunwald 8f36520f94 Fix unnecessary casts in newarr. 8 years ago
Daniel Grunwald 9e38bcea5f Avoid unnecessary casts for bitshifts. 8 years ago
Daniel Grunwald 83f52e4df1 #631: fix infinite transform loop 8 years ago
Daniel Grunwald 6c7e2efa6c [async] Fix await decompiler for pre-roslyn csc, at least in cases where the stack is empty during the await. 8 years ago
Daniel Grunwald 7d6122cfaf [async] Decompile await operator. 8 years ago
Daniel Grunwald 69c77d75a5 Try to get rid of some more gotos. 8 years ago
Daniel Grunwald bddda342a1 Improve yield-return-decompiler. 8 years ago
Siegfried Pammer 840ec04fde Namespace adjustments for Syntax classes 9 years ago
Christoph Wille 1ce8349dd9 Adjust namespaces 9 years ago
Daniel Grunwald 51a9786243 Change some transforms to block transforms. 9 years ago
Daniel Grunwald 7273fe58fd Add BlockTransform concept and apply a bunch of refactoring essentials suggestions. 9 years ago
Daniel Grunwald 5150cdce25 Improve handling of short-circuiting operators. 9 years ago
Daniel Grunwald 15b776faa2 Initial attempt at short-circuiting if conditions 9 years ago
Daniel Grunwald 0fade5cb0f Add single-stepping support to some ILAst transforms. 9 years ago
Siegfried Pammer adb8a987d1 Use IL pattern matching in ExpressionTransforms instead of IsSameTarget hack. 9 years ago
Daniel Grunwald 14815abd7c Initial version of IL pattern matching. 9 years ago
Siegfried Pammer d92ba2717c Fix bug in compound assignment detection. 9 years ago
Siegfried Pammer 1d92df7723 Add HasTypeOperand to CompoundAssignmentInstruction 9 years ago
Siegfried Pammer fc45d47615 Extend CompoundAssignment-transformation to ldelema patterns 9 years ago
Siegfried Pammer ae75c57e22 Basic implementation of CompoundAssignmentInstruction 9 years ago
Daniel Grunwald e1930e9170 Adjust comp.unsigned(ldlen array > ldc.i4 0) transforms to explicit i4->i conversions. 9 years ago
Siegfried Pammer 134d4610d6 Convert simple IfInstructions to ConditionalExpression 9 years ago
Daniel Grunwald f1021d18af Make comparisons in the ILAst more similar to C# comparisons. 9 years ago