102 Commits (eea4b7701c3f2abab8c20306ae9b4eedcc323ac2)

Author SHA1 Message Date
Daniel Grunwald abb9d49a0f Add support for C# 8 switch expressions. 5 years ago
Siegfried Pammer 9c8df1d949 Fix assignment of ILRanges in ExpressionTransforms.TransformCatchVariable 5 years ago
Daniel Grunwald dc6e094a30 Add support for indexing arrays using System.Index 5 years ago
Siegfried Pammer 4db41f69db Fix #1919: Use unmapped IL offsets at the start of a catch-block for the 'exception specifier' sequence point. 5 years ago
Siegfried Pammer ba5c645257 Add TryCatchHandler annotation to CatchClause 5 years ago
SilverFox 5914d5b96b Fix #1854 6 years ago
Daniel Grunwald 93806b46fa Fix compound assignments with type `bool`. 6 years ago
Daniel Grunwald a1c211f326 Fix #1794: Avoid extra cast to double for ulong -> float conversion 6 years ago
Daniel Grunwald f1021cb300 Fix #1643: Handle unbox.any in TransformCatchVariable. 6 years ago
Siegfried Pammer 03151bf37b Remove redundant code in ExpressionTransforms.VisitBlockContainer 6 years ago
Siegfried Pammer 9c06d5c924 Fix #1642: Allow StackTypes I, I4, I8 and Unknown as switch value, convert Unknown and I to I8. 6 years ago
Siegfried Pammer 7502e521c1 Improve documentation of ExpressionTransforms.TransformCatchVariable 6 years ago
Siegfried Pammer 72c3e828f3 Check IsPure before Match. 6 years ago
Siegfried Pammer c477ccf68e Add SemanticHelper.IsPure check as per code-review. 6 years ago
Siegfried Pammer ec18094c65 Implement transformation of delegate construction with ldvirtftn. 6 years ago
Daniel Grunwald 752f0de978 Further adjustments to transforms now that copy propagation no longer runs. 6 years ago
Siegfried Pammer adc443e4e2 Fix dynamic compound assignments 6 years ago
Daniel Grunwald 539e3a906d Fix #1552: user-defined and decimal increments 6 years ago
Siegfried Pammer 19a7898786 Add addressof(ldloc) => ldloca transform to EarlyExpressionTransforms 6 years ago
Siegfried Pammer 119c679fad Add addressof(ldloc V) => ldloca V transform for read access on value types. 6 years ago
Daniel Grunwald 3314f3f37a Fix #1571: Expression transforms not running for values of inline assignments. 6 years ago
Siegfried Pammer 6a1229028c Only try to inline stackalloc Span<T> if the next statement is a plain assignment. 6 years ago
Siegfried Pammer 9590cfbf59 Update tests to latest Roslyn implementation. 6 years ago
Daniel Grunwald 961923f4fd #1499, #1240: Translate pointer arithmetic on managed pointers (ref T) using the System.Runtime.CompilerServices.Unsafe intrinsics 6 years ago
Siegfried Pammer d42cf99a8c Fix dynamic transforms because https://github.com/dotnet/roslyn/issues/27800 was fixed. 6 years ago
Siegfried Pammer 94cd891609 Add support for ReadOnlySpan<T> initialization pattern. 6 years ago
Siegfried Pammer c1fca21e8a Make ILRange field private - introduce public API for IL range manipulation. 6 years ago
Daniel Grunwald 47ca51a769 Clarify the meaning of ILVariable.Index 6 years ago
Siegfried Pammer 112719efaf Extend safety-checks in TransformSpanTCtorContainingStackAlloc. 7 years ago
Siegfried Pammer 0dac55d584 Add transformation for stackalloc to Span<T>. 7 years ago
Daniel Grunwald ef866040b4 Update to SRM 1.6.0 and Roslyn 2.9. Adjust decompiler to new code pattern used for lifted nullable comparisons. 7 years ago
Daniel Grunwald 12e74daf48 Handle Comp in InferType(). 7 years ago
Daniel Grunwald 2f54eee5db #1195: Fix comparison of object reference with ldc.i4 0. 7 years ago
Daniel Grunwald dd5845e83d Support short-circuiting operators with dynamic. (e.g. "if (x.A && x.B)" where "x" is dynamic) 7 years ago
Daniel Grunwald 9479e8af13 Support overloaded operator &&/||. 7 years ago
Chicken-Bones f539bee362 Move binary->logical AND to ExpressionTransforms and use SemanticHelper.IsPure 7 years ago
Daniel Grunwald 4b96f48d87 Cosmetic changes during review of PR #1176 7 years ago
Siegfried Pammer a30c628e1f Remove hack from ExpressionTransforms.TransformDynamicAddAssignOrRemoveAssign, implement VisitDynamicSetIndexInstruction 7 years ago
Siegfried Pammer c4f41f459f Add support for more dynamic binary operators. 7 years ago
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