Editorial: fix note in AsyncBlockStart to not assume its argument is a function#3604
Open
Editorial: fix note in AsyncBlockStart to not assume its argument is a function#3604
Conversation
…a function AsyncBlockStart is also used for modules which have top-level awaits.
| 1. Assert: _asyncBody_ is an Abstract Closure with no parameters. | ||
| 1. Let _result_ be _asyncBody_(). | ||
| 1. Assert: If we return here, the async function either threw an exception or performed an implicit or explicit return; all awaiting is done. | ||
| 1. Assert: If we return here, evaluation has finished either by throwing, by an explicit return, or by reaching the end of the Parse Node; all awaiting is done. |
Member
There was a problem hiding this comment.
"reaching the end of the Parse Node" is unclear to me
Member
Author
There was a problem hiding this comment.
Suggest an alternative wording for "got to the end of the module or function body"?
Member
There was a problem hiding this comment.
something like "did not encounter a return, throw, or any expression that threw during Evaluation"?
Also this should be a Note, not an Assert.
Member
Author
There was a problem hiding this comment.
It could have done one of those things and had it swallowed by a catch or finally, so that would be wrong. Also that reads pretty awkwardly with the rest of the sentence.
This seems fine as an Assert to me: it's making explicit an invariant that would otherwise be implicit, which is exactly what Asserts are for.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
AsyncBlockStart is also used for modules which have top-level awaits.