305 Commits (d89f85087efbb94595891f6989543eaaf8924cdb)

Author SHA1 Message Date
apmoskevitz d89f85087e focus on CS8603, return null from method 9 months ago
apmoskevitz dc2af218e4 Focus on CS8600 (not even close to done thee is a ton of these) 9 months ago
apmoskevitz 30421e7309 added notnullwhen annotations 9 months ago
apmoskevitz ef8e709ecc applied fixer for drect assignment from null 9 months ago
Siegfried Pammer 6cee0cdc4b Fix #3258: Move GraphVizGraph and friends to ILSpy and remove InternalsVisibleTo. 11 months ago
Daniel Grunwald 38e7ab4373 Fix #3110: Add support for MCS 2.6.4 pinned region with array variable 1 year ago
Siegfried Pammer 969e3e546a Add support for switch on (ReadOnly)Span<char> using a compiler-generated hash function. 1 year ago
Siegfried Pammer ca78d4a14d Use MetadataFile instead of PEFile in TypeSystem. 1 year ago
Daniel Grunwald 5a5be026d0 Avoid reference count temporarily dropping to zero while ConditionDetection moves instructions to other blocks. 2 years ago
Siegfried Pammer 0a2037ae1f #3075: Avoid processing already-transformed blocks by introducing BlockTransformContext.IndexOfFirstAlreadyTransformedInstruction, which allows us to track already transformed instructions after a block has been merged into another by ConditionDetection. 2 years ago
Siegfried Pammer 4ca9fddd6f Fix #3069: Reuse SwitchAnalysis instead of MatchIfElseOnCharBlock 2 years ago
ElektroKill 915c0310c4
Add support for MSC 2.6.4 pinned region with string variable 2 years ago
Daniel Grunwald b9ce8490f5 Remove hack that prevented inlining of the first instruction in each block. 2 years ago
ElektroKill 8a1e8e3c6b
Make return duplication in `ControlFlowSimplification` less aggressive 2 years ago
ElektroKill 0cbd9a4faa
Add Visual Basic symbolic execution option which ignores overflow checks 2 years ago
ElektroKill 29eb31354b
Fix formatting 2 years ago
ElektroKill b110d5c2dc
Implement support for Visual Basic yield return state machines 2 years ago
ElektroKill 341074aa58
Extend VBPretty Async test code 3 years ago
ElektroKill 5d3f9d3a6f
Add support for Visual Basic async await state machine decompilation 3 years ago
Siegfried Pammer 6766ad0c59 #2823: Introduce `IType.GetDefinitionOrUnknown()` to allow better detection of async state-machines involving unknown types. 3 years ago
Daniel Grunwald 503048b314 Prevent the early ILInlining pass from creating `addressof` instructions 3 years ago
Daniel Grunwald 3c847b56a2 Fix decompilation of async streams compiled with Roslyn 4.2 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
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
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
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
Siegfried Pammer e1ca4db851 Fix #2527: Support skip locals init 4 years ago
Siegfried Pammer 9d99ee86db Fix #2503: Move correct branch in the case of swapped jump-table conditions. 4 years ago
Daniel Grunwald 109b6d073a Allow detecting exit points across multiple levels of containers. 4 years ago
Daniel Grunwald a716828065 Remove redundant code from RemoveRedundantReturn.cs 4 years ago
Daniel Grunwald 685a79dc31 DetectExitPoints: introduce exit points for loops+switch 4 years ago
Daniel Grunwald 6757295b3b Fix #2379: Keep `return` statements around in original form for ConditionDetection, only transform to fall-through block-exit at the end of the transform pipeline. 4 years ago
Daniel Grunwald 407ec6be5b Adjust AsyncAwaitDecompiler to Roslyn 3.9.0. 4 years ago
Siegfried Pammer 7211587b45 Fix #2366: NRE in AwaitInCatchTransform.MatchAwaitCatchHandler() and pattern errors when dealing with a switch-based jump table in AwaitInCatchTransform 4 years ago
Siegfried Pammer 76227af89d Fix #1749, fix #2339, fix #2353: Add support for rethrow in async exception handlers, fix await catch/finally patterns for complex methods. 4 years ago
Daniel Grunwald eec24ee6bb Fix #2311: Handle additional `comp` instruction in `IsNullSafeArrayToPointerNotNullBlock` 4 years ago
Daniel Grunwald 0e1c24464f Fix #2148: Don't attempt to detect `fixed` statement for pinned value types 5 years ago
Daniel Grunwald 3d10509b1b Add SparseIntegerSwitch option. 5 years ago
Daniel Grunwald b035ec1960 Fix #2129: be more flexible about the initialization order for the async state machine. 5 years ago
dotnet format 0d9f871a4f #2128: Reformat the whole code base. 5 years ago
Siegfried Pammer a6bbccae8d Fix #2123: switch on string detection: 5 years ago
Daniel Grunwald f5409ebe31 Fix re-pinning getting confused about which variant of the pinned local to use when the new re-pinned reference depends on the old pinned reference. 5 years ago
Daniel Grunwald 4b716e2db5 Fix #2056: "remove branch into body" must be executed before the clone cleanup 5 years ago