1409 Commits (702a7da2c39576a341c159e8614ee6b070ff7990)

Author SHA1 Message Date
Siegfried Pammer 702a7da2c3 Fix #2714: Force inlining of call targets in ctor initializers. 3 years ago
Siegfried Pammer 874ac9ac0b Fix #2712: TransformCollectionAndObjectInitializers fails to properly detect set-accessors of FakeProperties. 3 years ago
Siegfried Pammer d248867302 Add support for C# 10 record structs. 3 years ago
Siegfried Pammer 39992161b6 Fix #2692: NRE in DeconstructionTransform.IsCompatibleImplicitConversion 3 years ago
Siegfried Pammer 6a3bb2bbf1 Fix #2655: TranslateArrayInitializer crashes with out of order array init 3 years ago
Siegfried Pammer 9e462b53ad Add support for C# 11 parameter null checks 3 years ago
Siegfried Pammer 93dcba3426 * Rename Metadata.GenericContext to MetadataGenericContext to avoid conflicts with TypeSystem.GenericContext 3 years ago
Siegfried Pammer 4c1931d5c6 Fix NRT warning in GetBlockStateSetMappingForLeave. 3 years ago
Siegfried Pammer a4e2bd7f8f Handle leave instructions in state-range analysis. 3 years ago
Siegfried Pammer 84c15bb24f Fix #2652: AwaitInFinallyTransform: ILAst must form a tree 3 years ago
Daniel Grunwald ced6ed445a Fix #2582: Assertion when using named arguments in a constrained call 3 years ago
Siegfried Pammer a9c8f86abc Make TypeDef-ctor of FindTypeDecoder internal. 3 years ago
Siegfried Pammer 8cc0bf8b49 Generalize FindTypeDecoder 3 years ago
Siegfried Pammer 3c2e52854e DetectPinnedRegions: Inline the stack-slot involved in CustomRefPinPattern so that the following ProcessPinnedRegion call can reuse existing unmanaged pointer variables instead of being forced to create a new variable. 3 years ago
Siegfried Pammer f98012ec16 DetectPinnedRegions: Support special case where pinned pointer is unused and the compiler optimized out the StopGCTracking-conversion. 3 years ago
Siegfried Pammer 5f73bfbb01 Fix Deconstruction for Deconstruct instance methods of value-types. 3 years ago
Siegfried Pammer e726ae28a5 Fix type equality check in TransformCollectionAndObjectInitializers 3 years ago
Siegfried Pammer d98ff730a0 Fix build. 4 years ago
Siegfried Pammer 4aa7f5fc38 Fix #2612 decompilation of newarr with int.MaxValue causes OOME in decompiler. 4 years ago
Daniel Grunwald 787621fb51 Revert "Use Nop instead of InvalidExpression to hold the "goto from catch-block to try-block" comment" 4 years ago
Daniel Grunwald cedd8a6bf6 Fix #2480: Avoid yield-return decompilation if there are unrecognized state assignments in a finally method. 4 years ago
Daniel Grunwald 77dcbbee86 Use Nop instead of InvalidExpression to hold the "goto from catch-block to try-block" comment 4 years ago
Daniel Grunwald f104233e78 Fix #2388: Add support for branch from catch-block to try-block (VB `On Error Resume Next`) 4 years ago
Daniel Grunwald d0012bf7d8 StatementTransform: Run an expensive invariant check slightly less often. 4 years ago
Siegfried Pammer f801059659 TDCU: make sure that copies of display-class variables are validated as well. 4 years ago
Daniel Grunwald 17d323c943 Fix #2557: Remove incorrect assertion from `ReduceNestingTransform` 4 years ago
Siegfried Pammer 35aea3eea7 Slight pattern changes in mcs 5 switch-on-string with case null. 4 years ago
Siegfried Pammer 1826ac031d #2539: Add support for yield state machine pattern used by mcs 5.x 4 years ago
Daniel Grunwald df339e72fb Fix DetectPinnedRegions.SplitBlocksAtWritesToPinnedLocals creating blocks without ILRange. 4 years ago
Daniel Grunwald 583771e012 #2533: Fix bug in CreatePinnedRegion that could cause pinned regions to be created with the wrong entry point if the original IL had blocks in an unusual order 4 years ago
Daniel Grunwald e321fe5f4f Fix compiler warning 4 years ago
Siegfried Pammer 6bc0abc336 Fix #2378: DeconstructionTransform produced invalid ILAst with some optimized deconstruction patterns. 4 years ago
Siegfried Pammer 22c98016a9 Fix #2530: ArgumentOutOfRangeException in PatternMatchRefTypes 4 years ago
Siegfried Pammer 0ed191617e Fix #2528: arbitrary stores preceding switch-on-string confuse the transform, making it pick the wrong variable as switch variable. 4 years ago
Siegfried Pammer 15d74751f4 Fix #2459, fix #2460: Make sure that LdObjToLdLoc and StObjToStLoc preserve the result type, if the source variable has an unknown type. 4 years ago
Siegfried Pammer 936388ba18 Fix #2458: ILExtraction.Extract handles BlockContainer.Kind != Normal. 4 years ago
Siegfried Pammer e1ca4db851 Fix #2527: Support skip locals init 4 years ago
Siegfried Pammer 96db0a5472 Add support for pattern matching in UsingTransform. 4 years ago
Siegfried Pammer 665c731cfc Move PatternMatchingTransform after LoopDetection. 4 years ago
Siegfried Pammer 55f1125f94 Ensure that pattern locals get distinct variable names. 4 years ago
Siegfried Pammer 9d99ee86db Fix #2503: Move correct branch in the case of swapped jump-table conditions. 4 years ago
Siegfried Pammer 1568aeca3e Fix #2506: NamedArgumentTransform loses information, if the original variable is of StackType.Ref 4 years ago
Siegfried Pammer dbbcbb87fe Make pattern matching transform a simple ILTransform for both reference and value types. Check that the true branch dominates all uses of the pattern variable. 4 years ago
Siegfried Pammer e50d221e06 Adjust NullableLiftingTransform to match new patterns due to RemoveInfeasiblePathTransform. 4 years ago
Siegfried Pammer 2b26e5013b Add Roslyn 2.x pattern for value type pattern matching. 4 years ago
Siegfried Pammer cd0c76d7b1 Support leave instructions in RemoveInfeasiblePathTransform and transform match(x) ? true : false to match(x). 4 years ago
Siegfried Pammer 5fa8201533 Added support for isinst-unbox.any pattern with generic reference types and simplified value types pattern detection. 4 years ago
Siegfried Pammer 83727ea4b0 Add support for value type patterns 4 years ago
Siegfried Pammer 357d55d2ad Add support for old roslyn pattern matching pattern. 4 years ago
Daniel Grunwald c26d9ad6f1 Mark stack slot for aggressive removal in InfeasiblePathTransform 4 years ago