305 Commits (e0e73cb36e3b77ad82331557499f84c6321d1aae)

Author SHA1 Message Date
Daniel Grunwald bd4e565b93 Ensure all pinned regions variables are converted to VariableKind.PinnedRegionLocal 5 years ago
Daniel Grunwald ddff831cf0 #1292: Fix some more problems with pinned locals. 5 years ago
Daniel Grunwald 5bd47c171f Don't require a definition for the task builder type, also accept an UnknownType. 5 years ago
Daniel Grunwald fc51dd17a5 Remove outdated comment. The `PickExitPoint` heuristic is no longer using "amount of code" but the IL block order. 5 years ago
Daniel Grunwald c647016bfb #2070: Allow `PickExitPoint` heuristic to choose a `return;`/`yield break;` that is part of a condition block. 5 years ago
Daniel Grunwald 2acc4339df #2058: Mark most transforms as public to help users that use the ILAst directly without decompiling to C#. 5 years ago
Daniel Grunwald 417a2c3391 Revert the InvertIf change; it causes too many issues for the following transforms. 5 years ago
Daniel Grunwald e083d43fb9 Fix ReduceNestingTransform 5 years ago
Daniel Grunwald 696fdca923 Always create a block when inverting an if. 5 years ago
Daniel Grunwald d8e837ef47 Fix #1772: Support EnumeratorCancellationAttribute 5 years ago
Daniel Grunwald 1f2d1660c8 #2023: If blocks are reachable both from within the pinned region and from outside it, clone those blocks. 5 years ago
Daniel Grunwald 30da0b7525 Add some missing checks to MatchRoslynSwitchOnString 5 years ago
Daniel Grunwald 4f4ca482be Fix #1950: Fix crash when finallyMethod cannot be found. 5 years ago
Daniel Grunwald 9659be0d55 #1946: Fix IsBranchToReturnBlock() [was broken in c1265ad830] 5 years ago
Daniel Grunwald c1265ad830 Fix #1946: Don't move `return` into `try` block when doing so changes the semantics of a `finally` block. 5 years ago
Daniel Grunwald 2da513eb24 Fix #1988: handle Roslyn 3.6 task creation pattern in async/await decompiler. 5 years ago
Siegfried Pammer 8925b4ff7b Inline variable declarations/modernize parts of our code base. 5 years ago
Jackson Davis 6ab1f98fa3 Expand the range of sequence points out the closest empty ilstack 5 years ago
Daniel Grunwald 65fe59e393 #1918: Fix a bunch of issues with pinned region detection. 5 years ago
Siegfried Pammer 413c5b3baf PortablePdbWriter: Add primitive support for state-machine hoisted local scopes. All variables are visible in the whole MoveNext method. 5 years ago
Siegfried Pammer e4fda5c2e4 Rename HasILRange to ILRangeIsEmpty to properly reflect its implementation. 5 years ago
Daniel Grunwald 4b1f0b342c Fix #1925: Adjust AsyncAwaitDecompiler to changes in Roslyn 3.5.0-beta2 6 years ago
Siegfried Pammer 0b78a66fdb Fix #1896: Remove unreachable blocks 6 years ago
Daniel Grunwald f0292808b3 #1852: Handle fixed statement with null-safe GetPinnableReference call 6 years ago
Daniel Grunwald bbb2397083 Fix #1853: Detect pinning of multi-dimensional array 6 years ago
Daniel Grunwald eb2a9e6b94 #1852: Rename array.to.pointer opcode to get.pinnable.reference. 6 years ago
Shimon Magal c06299b284 yield return moveNext 6 years ago
Daniel Grunwald 1b505b8c6d Adjust async-streams decompiler for dotnet/roslyn#39436 6 years ago
Daniel Grunwald eaecedd8ea Fix #1782: AsyncAwaitDecompiler for methods in struct 6 years ago
Daniel Grunwald fc95f3056b Fix #1788: async/await decompilation fails with custom task type when the builder and/or awaiter is a reference type. 6 years ago
Siegfried Pammer 2e1306ec33 Split AwaitInCatchTransform.cs from AwaitInFinallyTransform.cs 6 years ago
Siegfried Pammer cefefd0e6d create AwaitInFinallyTransform.cs from AwaitInCatchTransform.cs 6 years ago
Daniel Grunwald c88bd597df Fix null checks. 6 years ago
Jane Doe 446ac06e38 candiate -> candidate 6 years ago
Jane Doe 37a801e3fb Anaylsis -> Analysis 6 years ago
Daniel Grunwald 233f33f197 Handle 'yield break;' in async streams 6 years ago
Daniel Grunwald de33e79384 Add tests for 'async IAsyncEnumerable'. 6 years ago
Daniel Grunwald 13ec574dbd Fix YieldReturnDecompiler. 6 years ago
Daniel Grunwald be2731c6e6 Handle `if (disposeMode)` in async streams. 6 years ago
Daniel Grunwald ef699c096b Support parameters in IAsyncEnumerator methods 6 years ago
Daniel Grunwald 67fa24b09f Improve async/await decompilation when reference assemblies are missing 6 years ago
Daniel Grunwald f8ee7c2bf3 Initial support for `async IAsyncEnumerator<T>` methods 6 years ago
Daniel Grunwald 0d3a3bee82 Fix #1703: Support async methods that never return normally. 6 years ago
Siegfried Pammer 4db22c87e1 Implement detection of custom task implementations + tests. 6 years ago
Siegfried Pammer def681ccdf Fix #1621: Add AllowUnreachableCases in switch analysis. 6 years ago
Siegfried Pammer 047f119e99 Add RemoveDeadStores option 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 e5d603ced2 Fix #1632: await pattern might use negated IsCompleted check. 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