1328 Commits (51b3cf51c6b3fc8a01880335bb56b3918eefe47a)

Author SHA1 Message Date
Siegfried Pammer def681ccdf Fix #1621: Add AllowUnreachableCases in switch analysis. 6 years ago
Siegfried Pammer 047f119e99 Add RemoveDeadStores option 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 81e702f840 #1638: Make TransformDisplayClassUsage.IsPotentialClosure less aggressive 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 44c044aa33 Fix #1635: DynamicInvokeConstructorInstruction Did report the wrong StackType for value types and unknown types. 6 years ago
Siegfried Pammer 85d1d21b35 Fix possible NRE in DynamicCallSiteTransform.ExtractArgumentInfo. 6 years ago
Siegfried Pammer e5d603ced2 Fix #1632: await pattern might use negated IsCompleted check. 6 years ago
Siegfried Pammer 587f61be19 Fix #1280: Transform RuntimeHelpersInitializeArray calls without receiving assignments. 6 years ago
Siegfried Pammer 87353aac5a Fix #1624: Stack type mismatch in expression trees. 6 years ago
Siegfried Pammer 4246a178f4 Remove unused parameter. 6 years ago
Siegfried Pammer fdf4228a17 Fix #1623: Nest local functions correctly, if captured variables are used. 6 years ago
Siegfried Pammer 3ad8c88d39 Fix #1622: Transform local functions calls with named arguments correctly 6 years ago
Daniel Grunwald 84aaaeb84e Fix #1616: similar to 3ea2ce4e2d, let `a.Instructions[i] = a.Instructions[i]` refresh that instruction's primary position. 6 years ago
Siegfried Pammer 6b075326f0 Fix #1615: Handle nil tokens gracefully. 6 years ago
Siegfried Pammer 72c3e828f3 Check IsPure before Match. 6 years ago
Daniel Grunwald 2b9a40371b Remove the dead LoopingTransform. 6 years ago
Siegfried Pammer c477ccf68e Add SemanticHelper.IsPure check as per code-review. 6 years ago
Siegfried Pammer 0d92ee805c #1349: Insert conv instruction in expression tree, if inst.ResultType != typeHint.GetStackType() 6 years ago
Siegfried Pammer 3ea2ce4e2d #1349: Fix assertions triggered by incorrect reset implementation in TransformThrowExpressionsValueTypes. ILInstruction.SetChildInstruction should only return early, if index and parent are still the same. 6 years ago
Siegfried Pammer 0ca5ace524 #1349: Fix assertions triggered by incorrect local function decompilation. 6 years ago
Siegfried Pammer 667ac1a980 Fix #1538: Insert expression.tree.cast instructions to coerce references to outer expression tree parameter definitions to their actual type. 6 years ago
Siegfried Pammer a3dbc27f76 Fix #1573: if the expected type of the this argument of an expression tree call is unknown, insert an explicit conv *->unknown instruction 6 years ago
Daniel Grunwald 5177c56d88 Reject MoveNext() methods with more than one cachedStateVar. 6 years ago
Daniel Grunwald 3f996ff2c0 Fix #1604: async methods that had no 'await' but were capturing 'this' were not decompiled correctly 6 years ago
Siegfried Pammer 679623e4c3 Fix #1609: Decompilation of cached delegate-construction with unknown delegate type. 6 years ago
Daniel Grunwald fc73851bb4 #1610: Slightly more aggressive copy propagation. 6 years ago
Siegfried Pammer ec18094c65 Implement transformation of delegate construction with ldvirtftn. 6 years ago
Siegfried Pammer 65f9fe1076 Remove unused code. 6 years ago
Siegfried Pammer fd24b5ea26 Simplify check for addresses 6 years ago
Siegfried Pammer c0f954aaa6 Simplify nullable value types throw expression pattern. 6 years ago
Siegfried Pammer 50c4fa1c13 Add two more patterns with throw expressions. 6 years ago
Siegfried Pammer 1e3e8fdac1 Allow ref-locals to be initialized from nested field addresses. 6 years ago
Daniel Grunwald df13f0ce01 Fix #1605: Inline ref locals more aggressively; this is necessary for VB compound assignments. 6 years ago
Daniel Grunwald 0e0179edff Improve NullPropagation (?.) when fields of value-type are involved. 6 years ago
Daniel Grunwald 7f8689c464 Allow inlining of compiler-generated value-type-temporaries when field accesses are involved. 6 years ago
Siegfried Pammer 7d4b4c6433 Implement NullCoalescingTransform with value types. 6 years ago
Daniel Grunwald b7f0e2e929 Be less aggressive when removing dead code -- some of it may still be interesting to users. 6 years ago
Daniel Grunwald 752f0de978 Further adjustments to transforms now that copy propagation no longer runs. 6 years ago
Siegfried Pammer 2ca8c31d8e Fix ArgumentException: ignore duplicate keys after variable splitting in TransformDisplayClassUsage 6 years ago
Siegfried Pammer adc443e4e2 Fix dynamic compound assignments 6 years ago
Daniel Grunwald 97d490a3df Slightly generalize the post-increment transform so that it no longer depends on copy propagation. 6 years ago
Siegfried Pammer 25f625af99 Move copy propagation after expression and statement transforms. 6 years ago
Siegfried Pammer 7d62a7e032 Reset HasInitialValue flag after TransformDisplayClassUsage. 6 years ago
Siegfried Pammer e5f95143cf TransformDisplayClassUsage: set HasInitialValue = true for newly introduced locals. 6 years ago
Daniel Grunwald 6c0216bbb9 Fix assertion in ReduceNestingTransform: after copying the exitInst, it was possible that the old copy of the exitInst became unreachable. 6 years ago
Daniel Grunwald c4cb9df687 Fix switch in loops sometimes detecting an invalid switch body. 6 years ago
Daniel Grunwald 8117dfff4a Fix #1242: Discard unreachable code. 6 years ago