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

Open
wants to merge 3 commits into
base: master
from

Conversation

Projects
None yet
3 participants
@jmdyck
Copy link
Collaborator

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.

jmdyck added some commits May 13, 2019

Editorial: Break up a long para in "Object Internal Methods and Inter…
…nal Slots"

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.
Editorial: Add some missing 'return value' invariants
... in 6.1.7.3 Invariants of the Essential Internal Methods
Normative: Disallow internal methods returning continue|break|return
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 #1537.
@allenwb
Copy link
Member

left a comment

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 approved these changes May 14, 2019

@ljharb ljharb requested review from erights, zenparsing and tc39/ecma262-editors May 14, 2019

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.