62 Commits (3be697eadfd27614f760ed38a2a21dd58f9c00bc)

Author SHA1 Message Date
Siegfried Pammer 0bf56ce9ca Add inlining special cases for dynamic compound assignments 7 years ago
Siegfried Pammer 805b9f4bb4 Add missing CallInlineAssign block kind to ILInlining.FindLoadInNext 7 years ago
Daniel Grunwald 6886d2f753 Add support for ?. operator on dynamic. 7 years ago
Daniel Grunwald f86bec4e0c Move named arguments to its own transform. 7 years ago
Daniel Grunwald ca09f09222 Don't use named arguments when IL stack is empty after the stloc. 7 years ago
Daniel Grunwald 21d3881e37 Introduce named arguments only in the statement transform. 7 years ago
Daniel Grunwald 810adea8b4 #1083: Initial implementation of named arguments. 7 years ago
Daniel Grunwald bcc1586f72 ILAst transform for named arguments. 7 years ago
Siegfried Pammer 845c620a9f Implement UserDefinedCompoundAssign 7 years ago
Pent Ploompuu a63e65fae8 Reduced allocations in ILInlining 7 years ago
Siegfried Pammer deb1b6918f Fix bug and typo in IsInConstructorInitializer 7 years ago
Siegfried Pammer 96eb7e07dc Force ILInlining to aggressively inline constructor initializer statements. 7 years ago
Daniel Grunwald 3c720b2030 Implement ?. operator when the result of the call is not used 8 years ago
Daniel Grunwald a8a852b742 Add instructions for modeling the "?." operator in the ILAst. 8 years ago
Daniel Grunwald d949d4e638 Fix #991: explicit represent T->T? conversion in lifted operator calls. 8 years ago
Daniel Grunwald 02db362838 Ensure that StLoc.Value.ResultType == StLoc.Variable.StackType 8 years ago
Siegfried Pammer 349183544a Rename BlockType to BlockKind 8 years ago
Daniel Grunwald faa0c8a805 Aggressively inline in the whole catch-when block, not just on top-level. 8 years ago
Daniel Grunwald 51c895d5a5 Fix inlining into switch instructions. 8 years ago
Siegfried Pammer 1ebc7581d8 Fix IsUsedAsThisPointerInCall: if we deal with an unspecified generic type, we assume it's a value type as ldloca should be allowed as this pointer in those cases. 8 years ago
Daniel Grunwald a6559d941b Allow inlining into object/collection initializers. 8 years ago
Daniel Grunwald 7017c6f6e6 Replace LoopingBlockTransform with StatementTransform. 8 years ago
Daniel Grunwald 6988260ea3 Add ILInlining.IsUsedAsThisPointerInCall(). 8 years ago
Daniel Grunwald f380c29852 Refactor IsGeneratedValueTypeTemporary. 8 years ago
Daniel Grunwald 46e36f7e9a Fix #868: incorrect inlining of readonly fields. 8 years ago
Siegfried Pammer 4f7a479320 Add ILAstWritingOptions parameter to LockInstruction/UsingInstruction.WriteTo, fix merge errors. 8 years ago
Siegfried Pammer fa25b5d2e8 Implement foreach loop detection in StatementBuilder. 8 years ago
Daniel Grunwald 96c6b03d9b [nullables] operator! on bool? 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 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 c34541ad4c Implement catch-when and remove local copy of exception slot. 8 years ago
Siegfried Pammer 206cdecf30 Merge Return instruction into Leave. 8 years ago
Daniel Grunwald d5e41a91e6 [async] Fix await decompilation when GetResult call got inlined into another instruction. 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 123a7f4a62 [async] small improvements to await decompilation 8 years ago
Daniel Grunwald 7d6122cfaf [async] Decompile await operator. 8 years ago
Daniel Grunwald 56a0ca2f13 Remove useless stack variables. 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 760e02a511 Add step messages to all block transforms. 9 years ago
Daniel Grunwald 51a9786243 Change some transforms to block transforms. 9 years ago
Siegfried Pammer a674b4cdf1 Extend TransformAssignment 9 years ago
Siegfried Pammer 3a89500e0c Merge binary arithmetic instructions into one class. 9 years ago
Siegfried Pammer c4092ac91e Extend TransformInlineAssignment for fields 9 years ago
Siegfried Pammer 8766783eb6 Remove ld(s)fld/st(s)fld 9 years ago
Daniel Grunwald 9803fd90e3 Actually use the improved code in ILInlining.IsSafeForInlineOver() 9 years ago
Daniel Grunwald 6d9e53bf4f Improve ILInlining.IsSafeForInlineOver() 9 years ago