Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Normative: Disallow internal methods returning continue|break|return #1539

Merged
merged 3 commits into from
Aug 7, 2019

Conversation

jmdyck
Copy link
Collaborator

@jmdyck jmdyck commented May 13, 2019

I.e., disallow internal methods from returning abrupt completions with [[Type]] = continue or break or return.

The PR starts with a couple editorial commits to set up the normative one.

Resolves #1537.

Copy link
Member

@allenwb allenwb left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this look very good. Don't see any issues.

You may want to ask @erights to look at it as he is particularly concerned with the essential object invariants.

@ljharb ljharb added needs consensus This needs committee consensus before it can be eligible to be merged. normative change Affects behavior required to correctly evaluate some ECMAScript source text labels May 14, 2019
@ljharb ljharb requested review from erights, zenparsing and a team May 14, 2019 05:09
@ljharb ljharb assigned ljharb and unassigned ljharb May 29, 2019
@ljharb ljharb added has consensus This has committee consensus. and removed needs consensus This needs committee consensus before it can be eligible to be merged. labels Jul 23, 2019
@ljharb ljharb self-assigned this Jul 23, 2019
…nal Slots" (tc39#1539)

The para starts out explaining how to read the "Signature" column, but then it drifted a bit.
I pulled out the last two sentences into separate paragraphs.
Also, I swapped the order, because when you execute an internal method, accessing the target logically precedes returning a value.
... in 6.1.7.3 Invariants of the Essential Internal Methods
…c39#1539)

I.e., disallow internal methods from returning abrupt completions with [[Type]] = continue or break or return.

Somewhat casually in 6.1.7.2, and then more formally in 6.1.7.3.

Resolves tc39#1537.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
has consensus This has committee consensus. normative change Affects behavior required to correctly evaluate some ECMAScript source text
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Can [[Call]] return an abrupt completion with [[Type]] = continue|break|return?
4 participants