-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
Editorial: Factor out BuiltinCallOrConstruct #2637
Conversation
8771c3b
to
ef70c42
Compare
6ff49f5
to
abb7630
Compare
Hi, ESMeta typecheck is failing because of the change in This is because ESMeta extract type of receiver parameter of internal methods by parsing strings that comes before F, which in this case changed from If you order them like doehyunbaek@23b0c40, this will no longer fail. As conditions specified inside parenthesis was already used to provide additional constraints when the builtiin [[Construct]] method applied, this also seems to be in-line with current practice. |
Thanks, but the outcome on that point probably depends on how #3007 is resolved. |
Oh, I didn't know there was another PR opened. Agreed on your point. I will give further inputs when any esmeta-related problem arises again. |
I decided to drop commits other than the first. Because the status quo still says that a built-in function can be implemented either as an ECMAScript function or not, there are a few places where the spec says "a built-in function" but it's actually only talking about "a built-in function that isn't an ECMAScript function". Specifically:
In this PR, the second commit (and then the third commit, after #2969) tried to make those spots more precise. As I said in the message for the third commit: Also, I've tweaked the first commit to rename the new AO from I'm hoping these changes will make this PR easier to accept. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM otherwise.
98ebe18
to
365f471
Compare
... so that 10.3.2 [[Construct]] can be defined properly, instead of "the same as 10.3.1 [[Call]] except that step 10 is different".
365f471
to
b916c76
Compare
... so that 10.3.2 [[Construct]] can be defined properly, instead of "the same as 10.3.1 [[Call]] except that step 10 is different".
... so that the [[Construct]] for
exoticbuilt-ins can be defined properly, instead of "the same as [[Call]] except that step 10 is different".The second commit is a bonus, changing "a built-in function" to "an exotic built-in function" where appropriate. This is mostly of benefit in 10.3 Built-in Function Objects, where (in the status quo) the reader could be misled into thinking that these internal methods are for all built-in functions.