117 Commits (9548a11d371d743df6a6bf48e39a55b9876fc308)

Author SHA1 Message Date
Chicken-Bones f539bee362 Move binary->logical AND to ExpressionTransforms and use SemanticHelper.IsPure 8 years ago
Daniel Grunwald 4b96f48d87 Cosmetic changes during review of PR #1176 8 years ago
Siegfried Pammer a30c628e1f Remove hack from ExpressionTransforms.TransformDynamicAddAssignOrRemoveAssign, implement VisitDynamicSetIndexInstruction 8 years ago
Siegfried Pammer c4f41f459f Add support for more dynamic binary operators. 8 years ago
Siegfried Pammer 2c7e3c2c37 Add hack to allow inlining of compiler-generated variable after dynamic.isevent pattern transform. 8 years ago
Siegfried Pammer 273a1c24ff Add dynamic compound assignment transforms 8 years ago
Siegfried Pammer 5e4b571a62 Add DynamicCallSiteTransform 8 years ago
Daniel Grunwald 3956fa685d Refactor TransformAssignment to reduce code duplication. 8 years ago
Siegfried Pammer 845c620a9f Implement UserDefinedCompoundAssign 8 years ago
Daniel Grunwald a46ac9dc84 Also combine 'ldlen; conv.i4.ovf' to 'ldlen.i4'. 8 years ago
Daniel Grunwald 1dfda502ea Remove redundant 'box' opcodes. This eliminates some unnecessary (object)-casts in generic code. 8 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. 9 years ago
Daniel Grunwald bddda342a1 Improve yield-return-decompiler. 9 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. 10 years ago
Daniel Grunwald 14815abd7c Initial version of IL pattern matching. 10 years ago
Siegfried Pammer d92ba2717c Fix bug in compound assignment detection. 10 years ago
Siegfried Pammer 1d92df7723 Add HasTypeOperand to CompoundAssignmentInstruction 10 years ago
Siegfried Pammer fc45d47615 Extend CompoundAssignment-transformation to ldelema patterns 10 years ago