Name Description Size
browser.js 0
class-heritage-array-literal-arrow-heritage.js --- description: It's a SyntaxError if an array literal evaluated on ClassHeritage uses a private name. (class expression) esid: prod-ClassElement features: [class] flags: [generated] negative: phase: parse type: SyntaxError info: | ClassTail : ClassHeritage { ClassBody } ClassHeritage : extends LeftHandSideExpression --- 663
class-heritage-array-literal-async-arrow-heritage.js --- description: It's a SyntaxError if an array literal evaluated on ClassHeritage uses a private name. (class expression) esid: prod-ClassElement features: [class] flags: [generated] negative: phase: parse type: SyntaxError info: | ClassTail : ClassHeritage { ClassBody } ClassHeritage : extends LeftHandSideExpression --- 675
delete
grammar-class-body-ctor-duplicate.js --- description: It is a SyntaxError if the class body has more than one constructor (class expression) esid: prod-ClassElement features: [class] flags: [generated] negative: phase: parse type: SyntaxError info: | ClassBody : ClassElementList It is a Syntax Error if PrototypePropertyNameList of ClassElementList contains more than one occurrence of "constructor". --- 719
grammar-ctor-super-no-heritage.js --- description: It is a SyntaxError if class has no heritage and constructor has a direct super (class expression) esid: prod-ClassElement features: [class] flags: [generated] negative: phase: parse type: SyntaxError info: | ClassTail : ClassHeritageopt { ClassBody } It is a Syntax Error if ClassHeritage is not present and the following algorithm evaluates to true: 1. Let constructor be ConstructorMethod of ClassBody. 2. If constructor is empty, return false. 3. Return HasDirectSuper of constructor. --- 861
grammar-field-identifier-invalid-ues-error.js --- description: Invalid FieldDefinition, ClassElementName, PropertyName Syntax (class expression) esid: prod-ClassElement features: [class-fields-public, class] flags: [generated] negative: phase: parse type: SyntaxError info: | ClassElement : MethodDefinition static MethodDefinition FieldDefinition ; ; FieldDefinition : ClassElementName Initializer _opt ClassElementName : PropertyName PrivateName PropertyName : LiteralPropertyName ComputedPropertyName LiteralPropertyName : IdentifierName StringLiteral NumericLiteral IdentifierName :: IdentifierStart IdentifierName IdentifierPart IdentifierStart :: UnicodeIDStart $ _ \ UnicodeEscapeSequence IdentifierPart :: UnicodeIDContinue $ \ UnicodeEscapeSequence <ZWNJ> <ZWJ> UnicodeIDStart :: any Unicode code point with the Unicode property "ID_Start" UnicodeIDContinue :: any Unicode code point with the Unicode property "ID_Continue" NOTE 3 The sets of code points with Unicode properties "ID_Start" and "ID_Continue" include, respectively, the code points with Unicode properties "Other_ID_Start" and "Other_ID_Continue". --- 1602
grammar-field-identifier-invalid-zwj-error.js --- description: Invalid FieldDefinition, ClassElementName, PropertyName Syntax (class expression) esid: prod-ClassElement features: [class-fields-public, class] flags: [generated] negative: phase: parse type: SyntaxError info: | ClassElement : MethodDefinition static MethodDefinition FieldDefinition ; ; FieldDefinition : ClassElementName Initializer _opt ClassElementName : PropertyName PrivateName PropertyName : LiteralPropertyName ComputedPropertyName LiteralPropertyName : IdentifierName StringLiteral NumericLiteral IdentifierName :: IdentifierStart IdentifierName IdentifierPart IdentifierStart :: UnicodeIDStart $ _ \ UnicodeEscapeSequence IdentifierPart :: UnicodeIDContinue $ \ UnicodeEscapeSequence <ZWNJ> <ZWJ> UnicodeIDStart :: any Unicode code point with the Unicode property "ID_Start" UnicodeIDContinue :: any Unicode code point with the Unicode property "ID_Continue" NOTE 3 The sets of code points with Unicode properties "ID_Start" and "ID_Continue" include, respectively, the code points with Unicode properties "Other_ID_Start" and "Other_ID_Continue". --- 1606
grammar-field-identifier-invalid-zwnj-error.js --- description: Invalid FieldDefinition, ClassElementName, PropertyName Syntax (class expression) esid: prod-ClassElement features: [class-fields-public, class] flags: [generated] negative: phase: parse type: SyntaxError info: | ClassElement : MethodDefinition static MethodDefinition FieldDefinition ; ; FieldDefinition : ClassElementName Initializer _opt ClassElementName : PropertyName PrivateName PropertyName : LiteralPropertyName ComputedPropertyName LiteralPropertyName : IdentifierName StringLiteral NumericLiteral IdentifierName :: IdentifierStart IdentifierName IdentifierPart IdentifierStart :: UnicodeIDStart $ _ \ UnicodeEscapeSequence IdentifierPart :: UnicodeIDContinue $ \ UnicodeEscapeSequence <ZWNJ> <ZWJ> UnicodeIDStart :: any Unicode code point with the Unicode property "ID_Start" UnicodeIDContinue :: any Unicode code point with the Unicode property "ID_Continue" NOTE 3 The sets of code points with Unicode properties "ID_Start" and "ID_Continue" include, respectively, the code points with Unicode properties "Other_ID_Start" and "Other_ID_Continue". --- 1608
grammar-fields-same-line-error.js --- description: SyntaxError (class expression) esid: prod-ClassElement features: [class-fields-public, class] flags: [generated] negative: phase: parse type: SyntaxError info: | ClassElement : MethodDefinition static MethodDefinition FieldDefinition ; ; FieldDefinition : ClassElementName Initializer _opt ClassElementName : PropertyName PrivateName --- 706
grammar-private-environment-on-class-heritage-array-literal.js --- description: It's a SyntaxError if an array literal evaluated on ClassHeritage uses a private name. (class expression) esid: prod-ClassElement features: [class-fields-private, class-fields-public, class] flags: [generated] negative: phase: parse type: SyntaxError info: | Runtime Semantics: ClassDefinitionEvaluation ClassTail : ClassHeritage { ClassBody } ... 5. Let outerPrivateEnvironment be the PrivateEnvironment of the running execution context. 6. Let classPrivateEnvironment be NewDeclarativeEnvironment(outerPrivateEnvironment). 7. Let classPrivateEnvRec be classPrivateEnvironment's EnvironmentRecord. 8. If ClassBodyopt is present, then a. For each element dn of the PrivateBoundIdentifiers of ClassBodyopt, i. Perform classPrivateEnvRec.CreateImmutableBinding(dn, true). 9. If ClassHeritageopt is not present, then a. Let protoParent be the intrinsic object %ObjectPrototype%. b. Let constructorParent be the intrinsic object %FunctionPrototype%. 10. Else, a. Set the running execution context's LexicalEnvironment to classScope. b. NOTE: The running execution context's PrivateEnvironment is outerPrivateEnvironment when evaluating ClassHeritage. ... --- 1669
grammar-private-environment-on-class-heritage-chained-usage.js --- description: It's a SyntaxError if a class expression evaluated on ClassHeritage uses an private name declared on subclass. (class expression) esid: prod-ClassElement features: [class-fields-private, class-fields-public, class] flags: [generated] negative: phase: parse type: SyntaxError info: | Runtime Semantics: ClassDefinitionEvaluation ClassTail : ClassHeritage { ClassBody } ... 5. Let outerPrivateEnvironment be the PrivateEnvironment of the running execution context. 6. Let classPrivateEnvironment be NewDeclarativeEnvironment(outerPrivateEnvironment). 7. Let classPrivateEnvRec be classPrivateEnvironment's EnvironmentRecord. 8. If ClassBodyopt is present, then a. For each element dn of the PrivateBoundIdentifiers of ClassBodyopt, i. Perform classPrivateEnvRec.CreateImmutableBinding(dn, true). 9. If ClassHeritageopt is not present, then a. Let protoParent be the intrinsic object %ObjectPrototype%. b. Let constructorParent be the intrinsic object %FunctionPrototype%. 10. Else, a. Set the running execution context's LexicalEnvironment to classScope. b. NOTE: The running execution context's PrivateEnvironment is outerPrivateEnvironment when evaluating ClassHeritage. ... --- 1780
grammar-private-environment-on-class-heritage-function-expression.js --- description: It's a SyntaxError if a function expression evaluated on ClassHeritage uses a private name. (class expression) esid: prod-ClassElement features: [class-fields-private, class-fields-public, class] flags: [generated] negative: phase: parse type: SyntaxError info: | Runtime Semantics: ClassDefinitionEvaluation ClassTail : ClassHeritage { ClassBody } ... 5. Let outerPrivateEnvironment be the PrivateEnvironment of the running execution context. 6. Let classPrivateEnvironment be NewDeclarativeEnvironment(outerPrivateEnvironment). 7. Let classPrivateEnvRec be classPrivateEnvironment's EnvironmentRecord. 8. If ClassBodyopt is present, then a. For each element dn of the PrivateBoundIdentifiers of ClassBodyopt, i. Perform classPrivateEnvRec.CreateImmutableBinding(dn, true). 9. If ClassHeritageopt is not present, then a. Let protoParent be the intrinsic object %ObjectPrototype%. b. Let constructorParent be the intrinsic object %FunctionPrototype%. 10. Else, a. Set the running execution context's LexicalEnvironment to classScope. b. NOTE: The running execution context's PrivateEnvironment is outerPrivateEnvironment when evaluating ClassHeritage. ... --- 1694
grammar-private-environment-on-class-heritage-obj-literal.js --- description: It's a SyntaxError if a object literal evaluated on ClassHeritage uses a private name. (class expression) esid: prod-ClassElement features: [class-fields-private, class-fields-public, class] flags: [generated] negative: phase: parse type: SyntaxError info: | Runtime Semantics: ClassDefinitionEvaluation ClassTail : ClassHeritage { ClassBody } ... 5. Let outerPrivateEnvironment be the PrivateEnvironment of the running execution context. 6. Let classPrivateEnvironment be NewDeclarativeEnvironment(outerPrivateEnvironment). 7. Let classPrivateEnvRec be classPrivateEnvironment's EnvironmentRecord. 8. If ClassBodyopt is present, then a. For each element dn of the PrivateBoundIdentifiers of ClassBodyopt, i. Perform classPrivateEnvRec.CreateImmutableBinding(dn, true). 9. If ClassHeritageopt is not present, then a. Let protoParent be the intrinsic object %ObjectPrototype%. b. Let constructorParent be the intrinsic object %FunctionPrototype%. 10. Else, a. Set the running execution context's LexicalEnvironment to classScope. b. NOTE: The running execution context's PrivateEnvironment is outerPrivateEnvironment when evaluating ClassHeritage. ... --- 1670
grammar-private-environment-on-class-heritage-recursive.js --- description: It's a SyntaxError if a class expression evaluated on ClassHeritage of a ClassHeritage uses an undeclared private name. (class expression) esid: prod-ClassElement features: [class-fields-private, class-fields-public, class] flags: [generated] negative: phase: parse type: SyntaxError info: | Runtime Semantics: ClassDefinitionEvaluation ClassTail : ClassHeritage { ClassBody } ... 5. Let outerPrivateEnvironment be the PrivateEnvironment of the running execution context. 6. Let classPrivateEnvironment be NewDeclarativeEnvironment(outerPrivateEnvironment). 7. Let classPrivateEnvRec be classPrivateEnvironment's EnvironmentRecord. 8. If ClassBodyopt is present, then a. For each element dn of the PrivateBoundIdentifiers of ClassBodyopt, i. Perform classPrivateEnvRec.CreateImmutableBinding(dn, true). 9. If ClassHeritageopt is not present, then a. Let protoParent be the intrinsic object %ObjectPrototype%. b. Let constructorParent be the intrinsic object %FunctionPrototype%. 10. Else, a. Set the running execution context's LexicalEnvironment to classScope. b. NOTE: The running execution context's PrivateEnvironment is outerPrivateEnvironment when evaluating ClassHeritage. ... --- 1724
grammar-private-environment-on-class-heritage.js --- description: It's a SyntaxError if a class expression evaluated on ClassHeritage uses an undeclared private name. (class expression) esid: prod-ClassElement features: [class-fields-private, class-fields-public, class] flags: [generated] negative: phase: parse type: SyntaxError info: | Runtime Semantics: ClassDefinitionEvaluation ClassTail : ClassHeritage { ClassBody } ... 5. Let outerPrivateEnvironment be the PrivateEnvironment of the running execution context. 6. Let classPrivateEnvironment be NewDeclarativeEnvironment(outerPrivateEnvironment). 7. Let classPrivateEnvRec be classPrivateEnvironment's EnvironmentRecord. 8. If ClassBodyopt is present, then a. For each element dn of the PrivateBoundIdentifiers of ClassBodyopt, i. Perform classPrivateEnvRec.CreateImmutableBinding(dn, true). 9. If ClassHeritageopt is not present, then a. Let protoParent be the intrinsic object %ObjectPrototype%. b. Let constructorParent be the intrinsic object %FunctionPrototype%. 10. Else, a. Set the running execution context's LexicalEnvironment to classScope. b. NOTE: The running execution context's PrivateEnvironment is outerPrivateEnvironment when evaluating ClassHeritage. ... --- 1678
grammar-private-field-on-object-destructuring.js --- description: Acessing private field from object destructuring pattern is not a valid syntax (class expression) esid: prod-ClassElement features: [class-fields-private, destructuring-binding, class] flags: [generated] negative: phase: parse type: SyntaxError info: | Updated Productions ObjectAssignmentPattern[Yield, Await]: {} {AssignmentRestProperty[?Yield, ?Await]} {AssignmentPropertyList[?Yield, ?Await]} {AssignmentPropertyList[?Yield, ?Await],AssignmentRestProperty[?Yield, ?Await]opt} --- 904
grammar-private-field-super-access.js --- description: Acessing private field from super is not a valid syntax (class expression) esid: prod-ClassElement features: [class-fields-private, class] flags: [generated] negative: phase: parse type: SyntaxError info: | Updated Productions MemberExpression[Yield]: MemberExpression[?Yield].PrivateName --- 783
grammar-privatemeth-duplicate-async-gen.js --- description: It's a SyntaxError if a class contains a private async generator and a private field with the same name (class expression) esid: prod-ClassElement features: [class-methods-private, class-fields-private, async-iteration, class] flags: [generated] negative: phase: parse type: SyntaxError info: | Static Semantics: Early Errors ClassBody : ClassElementList It is a Syntax Error if PrivateBoundNames of ClassBody contains any duplicate entries, unless the name is used once for a getter and once for a setter and in no other entries. --- 889
grammar-privatemeth-duplicate-async.js --- description: It's a SyntaxError if a class contains a private async function and a private field with the same name (class expression) esid: prod-ClassElement features: [class-methods-private, class-fields-private, async-functions, class] flags: [generated] negative: phase: parse type: SyntaxError info: | Static Semantics: Early Errors ClassBody : ClassElementList It is a Syntax Error if PrivateBoundNames of ClassBody contains any duplicate entries, unless the name is used once for a getter and once for a setter and in no other entries. --- 882
grammar-privatemeth-duplicate-gen.js --- description: It's a SyntaxError if a class contains a private generator and a private field with the same name (class expression) esid: prod-ClassElement features: [class-methods-private, class-fields-private, generators, class] flags: [generated] negative: phase: parse type: SyntaxError info: | Static Semantics: Early Errors ClassBody : ClassElementList It is a Syntax Error if PrivateBoundNames of ClassBody contains any duplicate entries, unless the name is used once for a getter and once for a setter and in no other entries. --- 866
grammar-privatemeth-duplicate-get-field.js --- description: It's a SyntaxError if a class contains a private getter and a private field with the same name (class expression) esid: prod-ClassElement features: [class-methods-private, class-fields-private, class] flags: [generated] negative: phase: parse type: SyntaxError info: | Static Semantics: Early Errors ClassBody : ClassElementList It is a Syntax Error if PrivateBoundNames of ClassBody contains any duplicate entries, unless the name is used once for a getter and once for a setter and in no other entries. --- 861
grammar-privatemeth-duplicate-get-get.js --- description: It's a SyntaxError if a class contains multiple private getters with the same name (class expression) esid: prod-ClassElement features: [class-methods-private, class] flags: [generated] negative: phase: parse type: SyntaxError info: | Static Semantics: Early Errors ClassBody : ClassElementList It is a Syntax Error if PrivateBoundNames of ClassBody contains any duplicate entries, unless the name is used once for a getter and once for a setter and in no other entries. --- 833
grammar-privatemeth-duplicate-meth-field.js --- description: It's a SyntaxError if a class contains a private method and a private field with the same name (class expression) esid: prod-ClassElement features: [class-methods-private, class-fields-private, class] flags: [generated] negative: phase: parse type: SyntaxError info: | Static Semantics: Early Errors ClassBody : ClassElementList It is a Syntax Error if PrivateBoundNames of ClassBody contains any duplicate entries, unless the name is used once for a getter and once for a setter and in no other entries. --- 858
grammar-privatemeth-duplicate-meth-get.js --- description: It's a SyntaxError if a class contains a private method and a private getter with the same name (class expression) esid: prod-ClassElement features: [class-methods-private, class] flags: [generated] negative: phase: parse type: SyntaxError info: | Static Semantics: Early Errors ClassBody : ClassElementList It is a Syntax Error if PrivateBoundNames of ClassBody contains any duplicate entries, unless the name is used once for a getter and once for a setter and in no other entries. --- 843
grammar-privatemeth-duplicate-meth-meth.js --- description: It's a SyntaxError if a class contains multiple private methods with the same name (class expression) esid: prod-ClassElement features: [class-methods-private, class] flags: [generated] negative: phase: parse type: SyntaxError info: | Static Semantics: Early Errors ClassBody : ClassElementList It is a Syntax Error if PrivateBoundNames of ClassBody contains any duplicate entries, unless the name is used once for a getter and once for a setter and in no other entries. --- 827
grammar-privatemeth-duplicate-meth-set.js --- description: It's a SyntaxError if a class contains a private method and a private setter with the same name (class expression) esid: prod-ClassElement features: [class-methods-private, class] flags: [generated] negative: phase: parse type: SyntaxError info: | Static Semantics: Early Errors ClassBody : ClassElementList It is a Syntax Error if PrivateBoundNames of ClassBody contains any duplicate entries, unless the name is used once for a getter and once for a setter and in no other entries. --- 844
grammar-privatemeth-duplicate-meth-staticfield.js --- description: It's a SyntaxError if a class contains a private method and a private static field with the same name (class expression) esid: prod-ClassElement features: [class-methods-private, class-static-fields-private, class] flags: [generated] negative: phase: parse type: SyntaxError info: | Static Semantics: Early Errors ClassBody : ClassElementList It is a Syntax Error if PrivateBoundNames of ClassBody contains any duplicate entries, unless the name is used once for a getter and once for a setter and in no other entries. --- 885
grammar-privatemeth-duplicate-meth-staticmeth.js --- description: It's a SyntaxError if a class contains a private method and a private static method with the same name (class expression) esid: prod-ClassElement features: [class-methods-private, class-static-methods-private, class] flags: [generated] negative: phase: parse type: SyntaxError info: | Static Semantics: Early Errors ClassBody : ClassElementList It is a Syntax Error if PrivateBoundNames of ClassBody contains any duplicate entries, unless the name is used once for a getter and once for a setter and in no other entries. --- 890
grammar-privatemeth-duplicate-set-field.js --- description: It's a SyntaxError if a class contains a private setter and a private field with the same name (class expression) esid: prod-ClassElement features: [class-methods-private, class-fields-private, class] flags: [generated] negative: phase: parse type: SyntaxError info: | Static Semantics: Early Errors ClassBody : ClassElementList It is a Syntax Error if PrivateBoundNames of ClassBody contains any duplicate entries, unless the name is used once for a getter and once for a setter and in no other entries. --- 862
grammar-privatemeth-duplicate-set-set.js --- description: It's a SyntaxError if a class contains multiple private setters with the same name (class expression) esid: prod-ClassElement features: [class-methods-private, class] flags: [generated] negative: phase: parse type: SyntaxError info: | Static Semantics: Early Errors ClassBody : ClassElementList It is a Syntax Error if PrivateBoundNames of ClassBody contains any duplicate entries, unless the name is used once for a getter and once for a setter and in no other entries. --- 835
grammar-privatename-constructor.js --- description: Private Fields cannot be named constructor (class expression) esid: prod-ClassElement features: [class-fields-private, class] flags: [generated] negative: phase: parse type: SyntaxError info: | Class Definitions / Static Semantics: Early Errors ClassElementName : PrivateName ; It is a Syntax Error if StringValue of PrivateName is "#constructor" --- 690
grammar-privatename-error.js --- description: No space allowed between sigial and IdentifierName (class expression) esid: prod-ClassElement features: [class-fields-private, class] flags: [generated] negative: phase: parse type: SyntaxError info: | ClassElement : MethodDefinition static MethodDefinition FieldDefinition ; ; FieldDefinition : ClassElementName Initializer _opt ClassElementName : PropertyName PrivateName PrivateName :: # IdentifierName --- 784
grammar-privatename-identifier-invalid-ues.js --- description: Valid PrivateName Syntax (class expression) esid: prod-ClassElement features: [class-fields-private, class] flags: [generated] negative: phase: parse type: SyntaxError info: | ClassElement : MethodDefinition static MethodDefinition FieldDefinition ; ; FieldDefinition : ClassElementName Initializer _opt ClassElementName : PropertyName PrivateName PrivateName :: # IdentifierName IdentifierName :: IdentifierStart IdentifierName IdentifierPart IdentifierStart :: UnicodeIDStart $ _ \ UnicodeEscapeSequence IdentifierPart:: UnicodeIDContinue $ \ UnicodeEscapeSequence <ZWNJ> <ZWJ> UnicodeIDStart:: any Unicode code point with the Unicode property "ID_Start" UnicodeIDContinue:: any Unicode code point with the Unicode property "ID_Continue" NOTE 3 The sets of code points with Unicode properties "ID_Start" and "ID_Continue" include, respectively, the code points with Unicode properties "Other_ID_Start" and "Other_ID_Continue". --- 1444
grammar-privatename-identifier-invalid-zwj-error.js --- description: Valid PrivateName Syntax (class expression) esid: prod-ClassElement features: [class-fields-private, class] flags: [generated] negative: phase: parse type: SyntaxError info: | ClassElement : MethodDefinition static MethodDefinition FieldDefinition ; ; FieldDefinition : ClassElementName Initializer _opt ClassElementName : PropertyName PrivateName PrivateName :: # IdentifierName IdentifierName :: IdentifierStart IdentifierName IdentifierPart IdentifierStart :: UnicodeIDStart $ _ \ UnicodeEscapeSequence IdentifierPart:: UnicodeIDContinue $ \ UnicodeEscapeSequence <ZWNJ> <ZWJ> UnicodeIDStart:: any Unicode code point with the Unicode property "ID_Start" UnicodeIDContinue:: any Unicode code point with the Unicode property "ID_Continue" NOTE 3 The sets of code points with Unicode properties "ID_Start" and "ID_Continue" include, respectively, the code points with Unicode properties "Other_ID_Start" and "Other_ID_Continue". --- 1455
grammar-privatename-identifier-invalid-zwnj-error.js --- description: Valid PrivateName Syntax (class expression) esid: prod-ClassElement features: [class-fields-private, class] flags: [generated] negative: phase: parse type: SyntaxError info: | ClassElement : MethodDefinition static MethodDefinition FieldDefinition ; ; FieldDefinition : ClassElementName Initializer _opt ClassElementName : PropertyName PrivateName PrivateName :: # IdentifierName IdentifierName :: IdentifierStart IdentifierName IdentifierPart IdentifierStart :: UnicodeIDStart $ _ \ UnicodeEscapeSequence IdentifierPart:: UnicodeIDContinue $ \ UnicodeEscapeSequence <ZWNJ> <ZWJ> UnicodeIDStart:: any Unicode code point with the Unicode property "ID_Start" UnicodeIDContinue:: any Unicode code point with the Unicode property "ID_Continue" NOTE 3 The sets of code points with Unicode properties "ID_Start" and "ID_Continue" include, respectively, the code points with Unicode properties "Other_ID_Start" and "Other_ID_Continue". --- 1457
grammar-privatename-in-computed-property-missing.js --- description: Use of undeclared PrivateName in ComputedProperty is a syntax error (class expression) esid: prod-ClassElement features: [class-fields-private, class-fields-public, class] flags: [generated] negative: phase: parse type: SyntaxError info: | ClassElementName: PropertyName PrivateIdentifier PropertyName: LiteralPropertyName ComputedPropertyName ComputedPropertyName: [ AssignmentExpression ] AssignmentExpression ... MemberExpression MemberExpression: MemberExpression . PrivateName Static Semantics: AllPrivateIdentifiersValid AllPrivateIdentifiersValid is an abstract operation which takes names as an argument. MemberExpression : MemberExpression . PrivateIdentifier 1. If StringValue of PrivateIdentifier is in names, return true. 2. Return false. ClassBody : ClassElementList 1. Let newNames be the concatenation of names with PrivateBoundIdentifiers of ClassBody. 2. Return AllPrivateIdentifiersValid of ClassElementList with the argument newNames. Static Semantics: Early Errors ScriptBody : StatementList It is a Syntax Error if AllPrivateIdentifiersValid of StatementList with an empty List as an argument is false unless the source code is eval code that is being processed by a direct eval. --- 1686
grammar-privatename-whitespace-error-accessor-get-meth.js --- description: No space allowed between sigil and IdentifierName () (class expression) esid: prod-ClassElement features: [class-methods-private, class] flags: [generated] negative: phase: parse type: SyntaxError info: | Updated Productions ClassElementName : PropertyName PrivateName PrivateName :: # IdentifierName --- 682
grammar-privatename-whitespace-error-accessor-set-meth.js --- description: No space allowed between sigil and IdentifierName (Accessor set Method) (class expression) esid: prod-ClassElement features: [class-methods-private, class] flags: [generated] negative: phase: parse type: SyntaxError info: | Updated Productions ClassElementName : PropertyName PrivateName PrivateName :: # IdentifierName --- 702
grammar-privatename-whitespace-error-async-gen-meth.js --- description: No space allowed between sigil and IdentifierName (Async Generator Method) (class expression) esid: prod-ClassElement features: [async-iteration, class-methods-private, class] flags: [generated] negative: phase: parse type: SyntaxError info: | Updated Productions ClassElementName : PropertyName PrivateName PrivateName :: # IdentifierName --- 722
grammar-privatename-whitespace-error-async-meth.js --- description: No space allowed between sigil and IdentifierName (Async Method) (class expression) esid: prod-ClassElement features: [async-functions, class-methods-private, class] flags: [generated] negative: phase: parse type: SyntaxError info: | Updated Productions ClassElementName : PropertyName PrivateName PrivateName :: # IdentifierName --- 706
grammar-privatename-whitespace-error-call-expr.js --- description: No space allowed between sigil and IdentifierName (CallExpression) (class expression) esid: prod-ClassElement features: [class-fields-private, class] flags: [generated] negative: phase: parse type: SyntaxError info: | Updated Productions MemberExpression : MemberExpression . PrivateName CallExpression : CallExpression . PrivateName PrivateName :: # IdentifierName --- 796
grammar-privatename-whitespace-error-field-init.js --- description: No space allowed between sigil and IdentifierName (Field with Initializer) (class expression) esid: prod-ClassElement features: [class-fields-private, class] flags: [generated] negative: phase: parse type: SyntaxError info: | Updated Productions ClassElementName : PropertyName PrivateName PrivateName :: # IdentifierName --- 692
grammar-privatename-whitespace-error-field.js --- description: No space allowed between sigil and IdentifierName (Field) (class expression) esid: prod-ClassElement features: [class-fields-private, class] flags: [generated] negative: phase: parse type: SyntaxError info: | Updated Productions ClassElementName : PropertyName PrivateName PrivateName :: # IdentifierName --- 666
grammar-privatename-whitespace-error-gen-meth.js --- description: No space allowed between sigil and IdentifierName (Generator Method) (class expression) esid: prod-ClassElement features: [generators, class-methods-private, class] flags: [generated] negative: phase: parse type: SyntaxError info: | Updated Productions ClassElementName : PropertyName PrivateName PrivateName :: # IdentifierName --- 699
grammar-privatename-whitespace-error-member-expr.js --- description: No space allowed between sigil and IdentifierName (MemberExpression) (class expression) esid: prod-ClassElement features: [class-fields-private, class] flags: [generated] negative: phase: parse type: SyntaxError info: | Updated Productions MemberExpression : MemberExpression . PrivateName CallExpression : CallExpression . PrivateName PrivateName :: # IdentifierName --- 765
grammar-privatename-whitespace-error-meth.case.js --- description: No space allowed between sigil and IdentifierName (Method) (class expression) esid: prod-ClassElement features: [class-methods-private, class] flags: [generated] negative: phase: parse type: SyntaxError info: | Updated Productions ClassElementName : PropertyName PrivateName PrivateName :: # IdentifierName --- 676
grammar-privatename-whitespace-error-static-accessor-get-meth.js --- description: No space allowed between sigil and IdentifierName (Static Accessor get Method) (class expression) esid: prod-ClassElement features: [class-static-methods-private, class] flags: [generated] negative: phase: parse type: SyntaxError info: | Updated Productions ClassElementName : PropertyName PrivateName PrivateName :: # IdentifierName --- 729
grammar-privatename-whitespace-error-static-accessor-set-meth.js --- description: No space allowed between sigil and IdentifierName (Static Accessor set Method) (class expression) esid: prod-ClassElement features: [class-static-methods-private, class] flags: [generated] negative: phase: parse type: SyntaxError info: | Updated Productions ClassElementName : PropertyName PrivateName PrivateName :: # IdentifierName --- 730
grammar-privatename-whitespace-error-static-async-gen-meth.js --- description: No space allowed between sigil and IdentifierName (Static Async Generator Method) (class expression) esid: prod-ClassElement features: [async-iteration, class-static-methods-private, class] flags: [generated] negative: phase: parse type: SyntaxError info: | Updated Productions ClassElementName : PropertyName PrivateName PrivateName :: # IdentifierName --- 750
grammar-privatename-whitespace-error-static-async-meth.js --- description: No space allowed between sigil and IdentifierName (Async Method) (class expression) esid: prod-ClassElement features: [class-static-methods-private, class] flags: [generated] negative: phase: parse type: SyntaxError info: | Updated Productions ClassElementName : PropertyName PrivateName PrivateName :: # IdentifierName --- 710
grammar-privatename-whitespace-error-static-field-init.js --- description: No space allowed between sigil and IdentifierName (Static Field with Initializer) (class expression) esid: prod-ClassElement features: [class-static-fields-private, class] flags: [generated] negative: phase: parse type: SyntaxError info: | Updated Productions ClassElementName : PropertyName PrivateName PrivateName :: # IdentifierName --- 720
grammar-privatename-whitespace-error-static-field.js --- description: No space allowed between sigil and IdentifierName (Static Field) (class expression) esid: prod-ClassElement features: [class-static-fields-private, class] flags: [generated] negative: phase: parse type: SyntaxError info: | Updated Productions ClassElementName : PropertyName PrivateName PrivateName :: # IdentifierName --- 694
grammar-privatename-whitespace-error-static-gen-meth.js --- description: No space allowed between sigil and IdentifierName (Static Generator Method) (class expression) esid: prod-ClassElement features: [generators, class-static-methods-private, class] flags: [generated] negative: phase: parse type: SyntaxError info: | Updated Productions ClassElementName : PropertyName PrivateName PrivateName :: # IdentifierName --- 727
grammar-privatename-whitespace-error-static-meth.js --- description: No space allowed between sigil and IdentifierName (Static Method) (class expression) esid: prod-ClassElement features: [class-static-methods-private, class] flags: [generated] negative: phase: parse type: SyntaxError info: | Updated Productions ClassElementName : PropertyName PrivateName PrivateName :: # IdentifierName --- 699
grammar-privatenames-same-line-error.js --- description: SyntaxError (class expression) esid: prod-ClassElement features: [class-fields-private, class] flags: [generated] negative: phase: parse type: SyntaxError info: | ClassElement : MethodDefinition static MethodDefinition FieldDefinition ; ; FieldDefinition : ClassElementName Initializer _opt ClassElementName : PropertyName PrivateName PrivateName :: # IdentifierName --- 758
grammar-special-meth-contains-super-async-gen.js --- description: Async Generator Methods cannot contain direct super (class expression) esid: prod-ClassElement features: [async-iteration, class] flags: [generated] negative: phase: parse type: SyntaxError info: | Class Definitions / Static Semantics: Early Errors ClassElement : MethodDefinition It is a Syntax Error if PropName of MethodDefinition is not "constructor" and HasDirectSuper of MethodDefinition is true. --- 801
grammar-special-meth-contains-super-async.js --- description: Async Methods cannot contain direct super (class expression) esid: prod-ClassElement features: [async-functions, class] flags: [generated] negative: phase: parse type: SyntaxError info: | Class Definitions / Static Semantics: Early Errors ClassElement : MethodDefinition It is a Syntax Error if PropName of MethodDefinition is not "constructor" and HasDirectSuper of MethodDefinition is true. --- 785
grammar-special-meth-contains-super-gen.js --- description: Generator Methods cannot contain direct super (class expression) esid: prod-ClassElement features: [generators, class] flags: [generated] negative: phase: parse type: SyntaxError info: | Class Definitions / Static Semantics: Early Errors ClassElement : MethodDefinition It is a Syntax Error if PropName of MethodDefinition is not "constructor" and HasDirectSuper of MethodDefinition is true. --- 778
grammar-special-meth-contains-super-get.js --- description: Accessor get Methods cannot contain direct super (class expression) esid: prod-ClassElement features: [class] flags: [generated] negative: phase: parse type: SyntaxError info: | Class Definitions / Static Semantics: Early Errors ClassElement : MethodDefinition It is a Syntax Error if PropName of MethodDefinition is not "constructor" and HasDirectSuper of MethodDefinition is true. --- 771
grammar-special-meth-contains-super-method.js --- description: Methods cannot contain direct super (class expression) esid: prod-ClassElement features: [class] flags: [generated] negative: phase: parse type: SyntaxError info: | Class Definitions / Static Semantics: Early Errors ClassElement : MethodDefinition It is a Syntax Error if PropName of MethodDefinition is not "constructor" and HasDirectSuper of MethodDefinition is true. --- 757
grammar-special-meth-contains-super-private-async-gen.js --- description: Private Async Generators Methods cannot contain direct super (class expression) esid: prod-ClassElement features: [async-iteration, class-methods-private, class] flags: [generated] negative: phase: parse type: SyntaxError info: | Class Definitions / Static Semantics: Early Errors ClassElement : MethodDefinition It is a Syntax Error if PropName of MethodDefinition is not "constructor" and HasDirectSuper of MethodDefinition is true. --- 842
grammar-special-meth-contains-super-private-async.js --- description: Private Async Methods cannot contain direct super (class expression) esid: prod-ClassElement features: [async-functions, class-methods-private, class] flags: [generated] negative: phase: parse type: SyntaxError info: | Class Definitions / Static Semantics: Early Errors ClassElement : MethodDefinition It is a Syntax Error if PropName of MethodDefinition is not "constructor" and HasDirectSuper of MethodDefinition is true. --- 825
grammar-special-meth-contains-super-private-gen.js --- description: Private Generators Methods cannot contain direct super (class expression) esid: prod-ClassElement features: [generators, class-methods-private, class] flags: [generated] negative: phase: parse type: SyntaxError info: | Class Definitions / Static Semantics: Early Errors ClassElement : MethodDefinition It is a Syntax Error if PropName of MethodDefinition is not "constructor" and HasDirectSuper of MethodDefinition is true. --- 819
grammar-special-meth-contains-super-private-method.js --- description: Private Methods cannot contain direct super (class expression) esid: prod-ClassElement features: [class-methods-private, class] flags: [generated] negative: phase: parse type: SyntaxError info: | Class Definitions / Static Semantics: Early Errors ClassElement : MethodDefinition It is a Syntax Error if PropName of MethodDefinition is not "constructor" and HasDirectSuper of MethodDefinition is true. --- 797
grammar-special-meth-contains-super-set.js --- description: Accessor set Methods cannot contain direct super (class expression) esid: prod-ClassElement features: [class] flags: [generated] negative: phase: parse type: SyntaxError info: | Class Definitions / Static Semantics: Early Errors ClassElement : MethodDefinition It is a Syntax Error if PropName of MethodDefinition is not "constructor" and HasDirectSuper of MethodDefinition is true. --- 772
grammar-special-meth-ctor-async-gen.js --- description: Async Generator Methods cannot be named "constructor" (class expression) esid: prod-ClassElement features: [async-iteration, class] flags: [generated] negative: phase: parse type: SyntaxError info: | Class Definitions / Static Semantics: Early Errors ClassElement : MethodDefinition It is a Syntax Error if PropName of MethodDefinition is "constructor" and SpecialMethod of MethodDefinition is true. --- 759
grammar-special-meth-ctor-async-meth.js --- description: Async Methods cannot be named "constructor" (class expression) esid: prod-ClassElement features: [async-functions, class] flags: [generated] negative: phase: parse type: SyntaxError info: | Class Definitions / Static Semantics: Early Errors ClassElement : MethodDefinition It is a Syntax Error if PropName of MethodDefinition is "constructor" and SpecialMethod of MethodDefinition is true. --- 748
grammar-special-meth-ctor-gen.js --- description: Generator Methods cannot be named "constructor" (class expression) esid: prod-ClassElement features: [generators, class] flags: [generated] negative: phase: parse type: SyntaxError info: | Class Definitions / Static Semantics: Early Errors ClassElement : MethodDefinition It is a Syntax Error if PropName of MethodDefinition is "constructor" and SpecialMethod of MethodDefinition is true. --- 736
grammar-special-meth-ctor-get.js --- description: Accessor get Methods cannot be named "constructor" (class expression) esid: prod-ClassElement features: [class] flags: [generated] negative: phase: parse type: SyntaxError info: | Class Definitions / Static Semantics: Early Errors ClassElement : MethodDefinition It is a Syntax Error if PropName of MethodDefinition is "constructor" and SpecialMethod of MethodDefinition is true. --- 729
grammar-special-meth-ctor-set.js --- description: Accessor set Methods cannot be named "constructor" (class expression) esid: prod-ClassElement features: [class] flags: [generated] negative: phase: parse type: SyntaxError info: | Class Definitions / Static Semantics: Early Errors ClassElement : MethodDefinition It is a Syntax Error if PropName of MethodDefinition is "constructor" and SpecialMethod of MethodDefinition is true. --- 730
grammar-static-async-gen-meth-prototype.js --- description: Static Async Generator Methods cannot be named prototype (class expression) esid: prod-ClassElement features: [async-iteration, class] flags: [generated] negative: phase: parse type: SyntaxError info: | Class Definitions / Static Semantics: Early Errors ClassElement : static MethodDefinition It is a Syntax Error if PropName of MethodDefinition is "prototype" --- 729
grammar-static-async-gen-meth-super.js --- description: Static Async Generator Methods cannot contain direct super (class expression) esid: prod-ClassElement features: [async-iteration, class] flags: [generated] negative: phase: parse type: SyntaxError info: | Class Definitions / Static Semantics: Early Errors ClassElement : static MethodDefinition It is a Syntax Error if HasDirectSuper of MethodDefinition is true. --- 758
grammar-static-async-meth-prototype.js --- description: Static Async Methods cannot be named prototype (class expression) esid: prod-ClassElement features: [async-functions, class] flags: [generated] negative: phase: parse type: SyntaxError info: | Class Definitions / Static Semantics: Early Errors ClassElement : static MethodDefinition It is a Syntax Error if PropName of MethodDefinition is "prototype" --- 713
grammar-static-async-meth-super.js --- description: Static Async Methods cannot contain direct super (class expression) esid: prod-ClassElement features: [async-functions, class] flags: [generated] negative: phase: parse type: SyntaxError info: | Class Definitions / Static Semantics: Early Errors ClassElement : static MethodDefinition It is a Syntax Error if HasDirectSuper of MethodDefinition is true. --- 742
grammar-static-gen-meth-prototype.js --- description: Static Generator Methods cannot be named prototype (class expression) esid: prod-ClassElement features: [generators, class] flags: [generated] negative: phase: parse type: SyntaxError info: | Class Definitions / Static Semantics: Early Errors ClassElement : static MethodDefinition It is a Syntax Error if PropName of MethodDefinition is "prototype" --- 706
grammar-static-gen-meth-super.js --- description: Static Generator Methods cannot contain direct super (class expression) esid: prod-ClassElement features: [generators, class] flags: [generated] negative: phase: parse type: SyntaxError info: | Class Definitions / Static Semantics: Early Errors ClassElement : static MethodDefinition It is a Syntax Error if HasDirectSuper of MethodDefinition is true. --- 735
grammar-static-get-meth-prototype.js --- description: Static Accessor get Methods cannot be named prototype (class expression) esid: prod-ClassElement features: [class] flags: [generated] negative: phase: parse type: SyntaxError info: | Class Definitions / Static Semantics: Early Errors ClassElement : static MethodDefinition It is a Syntax Error if PropName of MethodDefinition is "prototype" --- 699
grammar-static-get-meth-super.js --- description: Static Accessor get Methods cannot contain direct super (class expression) esid: prod-ClassElement features: [class] flags: [generated] negative: phase: parse type: SyntaxError info: | Class Definitions / Static Semantics: Early Errors ClassElement : static MethodDefinition It is a Syntax Error if HasDirectSuper of MethodDefinition is true. --- 728
grammar-static-meth-prototype.js --- description: Static Methods cannot be named prototype (class expression) esid: prod-ClassElement features: [class] flags: [generated] negative: phase: parse type: SyntaxError info: | Class Definitions / Static Semantics: Early Errors ClassElement : static MethodDefinition It is a Syntax Error if PropName of MethodDefinition is "prototype" --- 678
grammar-static-meth-super.js --- description: Static Methods cannot contain direct super (class expression) esid: prod-ClassElement features: [class] flags: [generated] negative: phase: parse type: SyntaxError info: | Class Definitions / Static Semantics: Early Errors ClassElement : static MethodDefinition It is a Syntax Error if HasDirectSuper of MethodDefinition is true. --- 707
grammar-static-private-async-gen-meth-constructor.js --- description: Static Async Generator Private Methods cannot be named constructor (class expression) esid: prod-ClassElement features: [async-iteration, class-static-methods-private, class] flags: [generated] negative: phase: parse type: SyntaxError info: | Class Definitions / Static Semantics: Early Errors ClassElementName : PrivateName ; It is a Syntax Error if StringValue of PrivateName is "#constructor" --- 777
grammar-static-private-async-gen-meth-super.js --- description: Static Async Generator Private Methods cannot contain direct super (class expression) esid: prod-ClassElement features: [async-iteration, class-static-methods-private, class] flags: [generated] negative: phase: parse type: SyntaxError info: | Class Definitions / Static Semantics: Early Errors ClassElement : static MethodDefinition It is a Syntax Error if HasDirectSuper of MethodDefinition is true. --- 805
grammar-static-private-async-meth-constructor.js --- description: Static Async Private Methods cannot be named constructor (class expression) esid: prod-ClassElement features: [async-functions, class-static-methods-private, class] flags: [generated] negative: phase: parse type: SyntaxError info: | Class Definitions / Static Semantics: Early Errors ClassElementName : PrivateName ; It is a Syntax Error if StringValue of PrivateName is "#constructor" --- 761
grammar-static-private-async-meth-super.js --- description: Static Async Private Methods cannot contain direct super (class expression) esid: prod-ClassElement features: [async-functions, class-static-methods-private, class] flags: [generated] negative: phase: parse type: SyntaxError info: | Class Definitions / Static Semantics: Early Errors ClassElement : static MethodDefinition It is a Syntax Error if HasDirectSuper of MethodDefinition is true. --- 789
grammar-static-private-gen-meth-constructor.js --- description: Static Generator Private Methods cannot be named constructor (class expression) esid: prod-ClassElement features: [generators, class-static-methods-private, class] flags: [generated] negative: phase: parse type: SyntaxError info: | Class Definitions / Static Semantics: Early Errors ClassElementName : PrivateName ; It is a Syntax Error if StringValue of PrivateName is "#constructor" --- 754
grammar-static-private-gen-meth-super.js --- description: Static Generator Private Methods cannot contain direct super (class expression) esid: prod-ClassElement features: [generators, class-static-methods-private, class] flags: [generated] negative: phase: parse type: SyntaxError info: | Class Definitions / Static Semantics: Early Errors ClassElement : static MethodDefinition It is a Syntax Error if HasDirectSuper of MethodDefinition is true. --- 782
grammar-static-private-meth-constructor.js --- description: Static Private Methods cannot be named constructor (class expression) esid: prod-ClassElement features: [class-static-methods-private, class] flags: [generated] negative: phase: parse type: SyntaxError info: | Class Definitions / Static Semantics: Early Errors ClassElementName : PrivateName ; It is a Syntax Error if StringValue of PrivateName is "#constructor" --- 726
grammar-static-private-meth-super.js --- description: Static Private Methods cannot contain direct super (class expression) esid: prod-ClassElement features: [class-static-methods-private, class] flags: [generated] negative: phase: parse type: SyntaxError info: | Class Definitions / Static Semantics: Early Errors ClassElement : static MethodDefinition It is a Syntax Error if HasDirectSuper of MethodDefinition is true. --- 754
grammar-static-privatename-constructor.js --- description: Static Private Fields cannot be named constructor (class expression) esid: prod-ClassElement features: [class-static-fields-private, class] flags: [generated] negative: phase: parse type: SyntaxError info: | Class Definitions / Static Semantics: Early Errors ClassElementName : PrivateName ; It is a Syntax Error if StringValue of PrivateName is "#constructor" --- 718
grammar-static-set-meth-prototype.js --- description: Static Accessor set Methods cannot be named prototype (class expression) esid: prod-ClassElement features: [class] flags: [generated] negative: phase: parse type: SyntaxError info: | Class Definitions / Static Semantics: Early Errors ClassElement : static MethodDefinition It is a Syntax Error if PropName of MethodDefinition is "prototype" --- 700
grammar-static-set-meth-super.js --- description: Static Accessor set Methods cannot contain direct super (class expression) esid: prod-ClassElement features: [class] flags: [generated] negative: phase: parse type: SyntaxError info: | Class Definitions / Static Semantics: Early Errors ClassElement : static MethodDefinition It is a Syntax Error if HasDirectSuper of MethodDefinition is true. --- 729
invalid-names
private-async-generator-cannot-escape-token.js --- description: The pound signal in the private async generator cannot be escaped (class expression) esid: prod-ClassElement features: [class-methods-private, async-iteration, class] flags: [generated] negative: phase: parse type: SyntaxError info: | PrivateName:: # IdentifierName U+0023 is the escape sequence for # --- 675
private-async-method-cannot-escape-token.js --- description: The pound signal in the private async method cannot be escaped (class expression) esid: prod-ClassElement features: [class-methods-private, async-functions, class] flags: [generated] negative: phase: parse type: SyntaxError info: | PrivateName:: # IdentifierName U+0023 is the escape sequence for # --- 667
private-call-exp-cannot-escape-token.js --- description: The pound signal in the private reference cannot be escaped (class expression) esid: prod-ClassElement features: [class-fields-private, class] flags: [generated] negative: phase: parse type: SyntaxError info: | PrivateName :: # IdentifierName MemberExpression : MemberExpression . PrivateName CallExpression : CallExpression . PrivateName U+0023 is the escape sequence for # --- 768
private-field-cannot-escape-token.js --- description: The pound signal in the private field cannot be escaped (class expression) esid: prod-ClassElement features: [class-fields-private, class] flags: [generated] negative: phase: parse type: SyntaxError info: | PrivateName:: # IdentifierName U+0023 is the escape sequence for # --- 617
private-generator-cannot-escape-token.js --- description: The pound signal in the private generator cannot be escaped (class expression) esid: prod-ClassElement features: [class-methods-private, generators, class] flags: [generated] negative: phase: parse type: SyntaxError info: | PrivateName:: # IdentifierName U+0023 is the escape sequence for # --- 652
private-member-exp-cannot-escape-token.js --- description: The pound signal in the private reference cannot be escaped (class expression) esid: prod-ClassElement features: [class-fields-private, class] flags: [generated] negative: phase: parse type: SyntaxError info: | PrivateName :: # IdentifierName MemberExpression : MemberExpression . PrivateName CallExpression : CallExpression . PrivateName U+0023 is the escape sequence for # --- 769
private-method-cannot-escape-token.js --- description: The pound signal in the private method cannot be escaped (class expression) esid: prod-ClassElement features: [class-methods-private, class] flags: [generated] negative: phase: parse type: SyntaxError info: | PrivateName:: # IdentifierName U+0023 is the escape sequence for # --- 632
shell.js 0
super-private-access-invalid.js --- description: It is syntax error if PrivateName IdentifierName is accessed on SuperProperty (class expression) esid: prod-ClassElement features: [class-methods-private, class] flags: [generated] negative: phase: parse type: SyntaxError info: | ClassElementName : PropertyName PrivateName PrivateName :: # IdentifierName SuperProperty: super[Expression] super.IdentifierName --- 766