Fix async/await decompilation for Roslyn 3.6 #5
No reviewers
Labels
No labels
bug
duplicate
enhancement
help wanted
invalid
question
wontfix
No milestone
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
gh-dnSpy/ILSpy!5
Loading…
Reference in a new issue
No description provided.
Delete branch "JarLob/async"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Closes https://github.com/0xd4d/dnSpy/issues/1488
Minimal changes to fix the issue, although it seems async/await decompilation logic in ILSpy 6.x is more complex.
I just secretly hope @0xd4d doesn't accept the pull request because he/she has almost finished migration to the newest ILSpy version :)
Thanks for the PR and for pinging me. I'll have a look!
I tried the code, and it works when it's compiled in Debug mode, but when I compile the example in https://github.com/0xd4d/dnSpy/issues/1488 in Release mode, it fails to decompile it because there are only 4 ILAst instructions.
Changing the
5check inMatchTaskCreationPattern()to4instead seems to solve it.Thanks, will look into it.
I just noticed that there's a
body[pos - 3]that could fail since pos = len-2. We'd need to verify that pos-3 >= 0 first. (line 104)View command line instructions
Checkout
From your project repository, check out a new branch and test the changes.Merge
Merge the changes and update on Forgejo.Warning: The "Autodetect manual merge" setting is not enabled for this repository, you will have to mark this pull request as manually merged afterwards.