The second section under 12.1.1
<https://people.mozilla.org/~jorendorff/es6-draft.html#sec-identifiers-static-semantics-early-errors>
says:

IdentifierReference[Yield] *:* yield

BindingIdentifier[Yield] *:* yield

LabelIdentifier[Yield] *:* yield

   -

   It is a Syntax Error if this production has a [Yield] parameter.

However, they are guarded by the [~Yield] condition. Is this section
informative or outdated?


The third section says:

*IdentifierReference*[Yield] *:* *Identifier*

*BindingIdentifier*[Yield] *:* *Identifier*

*LabelIdentifier*[Yield] *:* *Identifier*

   -

   It is a Syntax Error if this production has a [Yield] parameter and
   StringValue of Identifier is "yield".

Is it possible to have the StringValue of an Identifier to be "yield"? Same
applies to the second item of the the fourth section.

The note below says "(Unicode)... escapes cannot be used to write an
*Identifier* whose code point sequence is the same as a *ReservedWord*.". These
two combined seem to imply that it is possible to have a StringValue of an
Identifier to be as same as a *ReservedWord*, but you cannot do it though
some certain way, which is bothering. (like saying: "I know you cannot do
it though this way, but I'm not going to tell you how to do it or whether
you can do it at all"). If it is not possible, we should remove the third
section and the second item of the fourth section. If it is possible, we
should note how it is possible.

Thanks,
Bei
_______________________________________________
es-discuss mailing list
[email protected]
https://mail.mozilla.org/listinfo/es-discuss

Reply via email to