1429 Commits (343694c5499d2dd68896563bbbfc72604231deef)

Author SHA1 Message Date
Siegfried Pammer 47250d670b Fix #2791: Ensure that the capture scope used is either a loop or the ILFunction root container. 3 years ago
Siegfried Pammer ac6a2e54ca Use IsAccessor again. 3 years ago
Siegfried Pammer 927b46b17d Fix #2787: Enable NRT in TransformCollectionAndObjectInitializers and fix problems. 3 years ago
Siegfried Pammer 9f6f7a03ac Fix #2788: Handling of cpobj in ILReader was missing the stobj special case for the target pointer. 3 years ago
Siegfried Pammer 1ac1bd6eab Remove context field from TransformCollectionAndObjectInitializers, inline DoTransform. 3 years ago
Siegfried Pammer a3191f19e2 Fix #2763: Improve decompilation of switch-on-enum by preserving enum type information when inlining local variables into SwitchInstruction.Value. 3 years ago
Siegfried Pammer 81f575e9ce Use PopStObjTarget in ILReader, if a call instruction has the same semantics as initobj. 3 years ago
Siegfried Pammer 948da3f9ee ILInlining: IStatementTransform.Run repeatedly inline all possible statements. 3 years ago
Daniel Grunwald 503048b314 Prevent the early ILInlining pass from creating `addressof` instructions 3 years ago
Daniel Grunwald 9254abcf88 Fix StObj.CheckTargetSlot assertion 3 years ago
Daniel Grunwald c36c6efb2a ILReader: don't create stack slots if we can directly created inlined ILAst 3 years ago
Siegfried Pammer af56bb10d0 Determine isBranchTarget in a separate pass. We will need it for an optimization to ILReader in a future commit. 3 years ago
Siegfried Pammer c5ff0cafc5 TransformInlineAssignmentStObjOrCall: Make sure no dead store is produced by the transform. 3 years ago
Daniel Grunwald b4b070468f Revert "Performance Optimization: Do no longer collect all lower case type and member names." 3 years ago
Siegfried Pammer 6584a2f576 Performance Optimization: Do no longer collect all lower case type and member names. 3 years ago
Daniel Grunwald 3c847b56a2 Fix decompilation of async streams compiled with Roslyn 4.2 3 years ago
Daniel Grunwald 08ceffc3ad Upgrade dotnet-format from version 5 to the version included with the .NET (6) SDK. 3 years ago
Siegfried Pammer f695bbcf3a Add support for DefaultInterpolatedStringHandler 3 years ago
ElektroKill 760a6a653e
Reduce allocations in TransformArrayInitializers 3 years ago
Siegfried Pammer d3f8912d53 Handle special-cases with addressof: 3 years ago
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. 3 years ago
Siegfried Pammer 4aa7f5fc38 Fix #2612 decompilation of newarr with int.MaxValue causes OOME in decompiler. 3 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