673 Commits (c148ba6609c13f3d9253f20da9ab6be13321bee6)

Author SHA1 Message Date
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
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 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 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 8117dfff4a Fix #1242: Discard unreachable code. 6 years ago
Daniel Grunwald c3037afa70 Fix #1352: Assertion in NullableLiftingTransform.DoLift 6 years ago
Daniel Grunwald 539e3a906d Fix #1552: user-defined and decimal increments 6 years ago
Siegfried Pammer 61231b7725 Fix #1593: TransformCollectionAndObjectInitializers uses nested indexer call as target of object initializer. 6 years ago
Daniel Grunwald 856cedc95e #1456: add test case; add additional checks to ensure we only transform normal locals into using/foreach-locals 6 years ago
Daniel Grunwald beed6b5e24 Remove MarkGeneratedVariables() step in AsyncAwaitDecompiler. 6 years ago
Siegfried Pammer f10ab69328 Improve local-function detection to minimize false positives. 6 years ago
Siegfried Pammer a109b77858 Refactor LocalFunctionDecompiler to allow mutually recursive local functions to be decompiled correctly. 6 years ago
Siegfried Pammer e215f69b2d Extend description of LocalFunctionDecompiler 6 years ago
Siegfried Pammer 37e14f43e3 Refactor/Clean up local functions representation in type system. 6 years ago
Daniel Grunwald 33c7425fa2 Fix several bugs with compound assignments on indexers. 6 years ago
Siegfried Pammer f3f38783df ICSharpCode.Decompiler roundtrip test now completes 6 years ago
Daniel Grunwald ccdabf2325 Fix a bunch of XmlDoc compiler warnings. 6 years ago
Daniel Grunwald b32cae412a Eliminate BlockKind.PostfixOperator. 6 years ago
Daniel Grunwald f2151972a0 Redesign CompoundAssignmentInstruction to support an 'Address' mode where we don't implicitly turn an LdObj into an StObj, but instead directly operate on an address. 6 years ago
Siegfried Pammer 19a7898786 Add addressof(ldloc) => ldloca transform to EarlyExpressionTransforms 6 years ago
Siegfried Pammer 01e42b772c Fix local functions inside lambdas. 6 years ago
Siegfried Pammer b83cb41f2e Add pretty tests for local functions. 6 years ago
Siegfried Pammer 305b47245e Refactor representation of local functions in ILAst. 6 years ago
Siegfried Pammer b42d4963e7 Fix assertions in TransformExpressionTrees. 6 years ago
Siegfried Pammer 16d6e16da7 Add support for local function references and recursive local functions. 6 years ago
Daniel Grunwald a6def4cdf5 Fix incorrect type for numeric.compound.assign when the pointer type is incompatible with the store type. 6 years ago
Daniel Grunwald ed5d71b365 Fix #1537: KeyNotFoundException in ReduceNestingTransform.ReduceSwitchNesting() 6 years ago
Siegfried Pammer 119c679fad Add addressof(ldloc V) => ldloca V transform for read access on value types. 6 years ago
Siegfried Pammer 8d1522f387 Transform display classes used in local functions. 6 years ago
Daniel Grunwald 3314f3f37a Fix #1571: Expression transforms not running for values of inline assignments. 6 years ago
Siegfried Pammer 15488acdc7 Fix #1559: switch on string inside try block. 6 years ago
Siegfried Pammer 6d05f36821 Fix #1562: Do not transform display class initialization to object initializer. 6 years ago
Siegfried Pammer b4a59ae4dd Remove obsolete code from DelegateConstruction.cs 6 years ago