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 declaration) esid: prod-ClassElement features: [class] flags: [generated] negative: phase: parse type: SyntaxError info: | ClassTail : ClassHeritage { ClassBody } ClassHeritage : extends LeftHandSideExpression --- 657
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 declaration) esid: prod-ClassElement features: [class] flags: [generated] negative: phase: parse type: SyntaxError info: | ClassTail : ClassHeritage { ClassBody } ClassHeritage : extends LeftHandSideExpression --- 669
delete
grammar-class-body-ctor-duplicate.js --- description: It is a SyntaxError if the class body has more than one constructor (class declaration) 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". --- 713
grammar-ctor-super-no-heritage.js --- description: It is a SyntaxError if class has no heritage and constructor has a direct super (class declaration) 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. --- 855
grammar-field-identifier-invalid-ues-error.js --- description: Invalid FieldDefinition, ClassElementName, PropertyName Syntax (class declaration) 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". --- 1596
grammar-field-identifier-invalid-zwj-error.js --- description: Invalid FieldDefinition, ClassElementName, PropertyName Syntax (class declaration) 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". --- 1600
grammar-field-identifier-invalid-zwnj-error.js --- description: Invalid FieldDefinition, ClassElementName, PropertyName Syntax (class declaration) 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-fields-same-line-error.js --- description: SyntaxError (class declaration) 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 --- 700
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 declaration) 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. ... --- 1663
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 declaration) 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. ... --- 1774
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 declaration) 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. ... --- 1688
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 declaration) 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. ... --- 1664
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 declaration) 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. ... --- 1718
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 declaration) 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. ... --- 1672
grammar-private-field-on-object-destructuring.js --- description: Acessing private field from object destructuring pattern is not a valid syntax (class declaration) 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} --- 898
grammar-private-field-super-access.js --- description: Acessing private field from super is not a valid syntax (class declaration) esid: prod-ClassElement features: [class-fields-private, class] flags: [generated] negative: phase: parse type: SyntaxError info: | Updated Productions MemberExpression[Yield]: MemberExpression[?Yield].PrivateName --- 777
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 declaration) 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. --- 883
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 declaration) 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. --- 876
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 declaration) 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. --- 860
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 declaration) 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. --- 855
grammar-privatemeth-duplicate-get-get.js --- description: It's a SyntaxError if a class contains multiple private getters with the same name (class declaration) 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-field.js --- description: It's a SyntaxError if a class contains a private method and a private field with the same name (class declaration) 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. --- 852
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 declaration) 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. --- 837
grammar-privatemeth-duplicate-meth-meth.js --- description: It's a SyntaxError if a class contains multiple private methods with the same name (class declaration) 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. --- 821
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 declaration) 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. --- 838
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 declaration) 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. --- 879
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 declaration) 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. --- 884
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 declaration) 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. --- 856
grammar-privatemeth-duplicate-set-set.js --- description: It's a SyntaxError if a class contains multiple private setters with the same name (class declaration) 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. --- 829
grammar-privatename-constructor.js --- description: Private Fields cannot be named constructor (class declaration) 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" --- 684
grammar-privatename-error.js --- description: No space allowed between sigial and IdentifierName (class declaration) 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 --- 778
grammar-privatename-identifier-invalid-ues.js --- description: Valid PrivateName Syntax (class declaration) 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". --- 1438
grammar-privatename-identifier-invalid-zwj-error.js --- description: Valid PrivateName Syntax (class declaration) 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". --- 1449
grammar-privatename-identifier-invalid-zwnj-error.js --- description: Valid PrivateName Syntax (class declaration) 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". --- 1451
grammar-privatename-in-computed-property-missing.js --- description: Use of undeclared PrivateName in ComputedProperty is a syntax error (class declaration) 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. --- 1680
grammar-privatename-whitespace-error-accessor-get-meth.js --- description: No space allowed between sigil and IdentifierName () (class declaration) 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-accessor-set-meth.js --- description: No space allowed between sigil and IdentifierName (Accessor set Method) (class declaration) esid: prod-ClassElement features: [class-methods-private, class] flags: [generated] negative: phase: parse type: SyntaxError info: | Updated Productions ClassElementName : PropertyName PrivateName PrivateName :: # IdentifierName --- 696
grammar-privatename-whitespace-error-async-gen-meth.js --- description: No space allowed between sigil and IdentifierName (Async Generator Method) (class declaration) 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 --- 716
grammar-privatename-whitespace-error-async-meth.js --- description: No space allowed between sigil and IdentifierName (Async Method) (class declaration) 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 --- 700
grammar-privatename-whitespace-error-call-expr.js --- description: No space allowed between sigil and IdentifierName (CallExpression) (class declaration) 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 --- 790
grammar-privatename-whitespace-error-field-init.js --- description: No space allowed between sigil and IdentifierName (Field with Initializer) (class declaration) esid: prod-ClassElement features: [class-fields-private, class] flags: [generated] negative: phase: parse type: SyntaxError info: | Updated Productions ClassElementName : PropertyName PrivateName PrivateName :: # IdentifierName --- 686
grammar-privatename-whitespace-error-field.js --- description: No space allowed between sigil and IdentifierName (Field) (class declaration) esid: prod-ClassElement features: [class-fields-private, class] flags: [generated] negative: phase: parse type: SyntaxError info: | Updated Productions ClassElementName : PropertyName PrivateName PrivateName :: # IdentifierName --- 660
grammar-privatename-whitespace-error-gen-meth.js --- description: No space allowed between sigil and IdentifierName (Generator Method) (class declaration) esid: prod-ClassElement features: [generators, class-methods-private, class] flags: [generated] negative: phase: parse type: SyntaxError info: | Updated Productions ClassElementName : PropertyName PrivateName PrivateName :: # IdentifierName --- 693
grammar-privatename-whitespace-error-member-expr.js --- description: No space allowed between sigil and IdentifierName (MemberExpression) (class declaration) 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 --- 759
grammar-privatename-whitespace-error-meth.case.js --- description: No space allowed between sigil and IdentifierName (Method) (class declaration) esid: prod-ClassElement features: [class-methods-private, class] flags: [generated] negative: phase: parse type: SyntaxError info: | Updated Productions ClassElementName : PropertyName PrivateName PrivateName :: # IdentifierName --- 670
grammar-privatename-whitespace-error-static-accessor-get-meth.js --- description: No space allowed between sigil and IdentifierName (Static Accessor get Method) (class declaration) esid: prod-ClassElement features: [class-static-methods-private, class] flags: [generated] negative: phase: parse type: SyntaxError info: | Updated Productions ClassElementName : PropertyName PrivateName PrivateName :: # IdentifierName --- 723
grammar-privatename-whitespace-error-static-accessor-set-meth.js --- description: No space allowed between sigil and IdentifierName (Static Accessor set Method) (class declaration) esid: prod-ClassElement features: [class-static-methods-private, class] flags: [generated] negative: phase: parse type: SyntaxError info: | Updated Productions ClassElementName : PropertyName PrivateName PrivateName :: # IdentifierName --- 724
grammar-privatename-whitespace-error-static-async-gen-meth.js --- description: No space allowed between sigil and IdentifierName (Static Async Generator Method) (class declaration) 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 --- 744
grammar-privatename-whitespace-error-static-async-meth.js --- description: No space allowed between sigil and IdentifierName (Async Method) (class declaration) esid: prod-ClassElement features: [class-static-methods-private, class] flags: [generated] negative: phase: parse type: SyntaxError info: | Updated Productions ClassElementName : PropertyName PrivateName PrivateName :: # IdentifierName --- 704
grammar-privatename-whitespace-error-static-field-init.js --- description: No space allowed between sigil and IdentifierName (Static Field with Initializer) (class declaration) esid: prod-ClassElement features: [class-static-fields-private, class] flags: [generated] negative: phase: parse type: SyntaxError info: | Updated Productions ClassElementName : PropertyName PrivateName PrivateName :: # IdentifierName --- 714
grammar-privatename-whitespace-error-static-field.js --- description: No space allowed between sigil and IdentifierName (Static Field) (class declaration) esid: prod-ClassElement features: [class-static-fields-private, class] flags: [generated] negative: phase: parse type: SyntaxError info: | Updated Productions ClassElementName : PropertyName PrivateName PrivateName :: # IdentifierName --- 688
grammar-privatename-whitespace-error-static-gen-meth.js --- description: No space allowed between sigil and IdentifierName (Static Generator Method) (class declaration) 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 --- 721
grammar-privatename-whitespace-error-static-meth.js --- description: No space allowed between sigil and IdentifierName (Static Method) (class declaration) esid: prod-ClassElement features: [class-static-methods-private, class] flags: [generated] negative: phase: parse type: SyntaxError info: | Updated Productions ClassElementName : PropertyName PrivateName PrivateName :: # IdentifierName --- 693
grammar-privatenames-same-line-error.js --- description: SyntaxError (class declaration) 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 --- 752
grammar-special-meth-contains-super-async-gen.js --- description: Async Generator Methods cannot contain direct super (class declaration) 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. --- 795
grammar-special-meth-contains-super-async.js --- description: Async Methods cannot contain direct super (class declaration) 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. --- 779
grammar-special-meth-contains-super-gen.js --- description: Generator Methods cannot contain direct super (class declaration) 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. --- 772
grammar-special-meth-contains-super-get.js --- description: Accessor get Methods cannot contain direct super (class declaration) 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. --- 765
grammar-special-meth-contains-super-method.js --- description: Methods cannot contain direct super (class declaration) 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. --- 751
grammar-special-meth-contains-super-private-async-gen.js --- description: Private Async Generators Methods cannot contain direct super (class declaration) 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. --- 836
grammar-special-meth-contains-super-private-async.js --- description: Private Async Methods cannot contain direct super (class declaration) 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. --- 819
grammar-special-meth-contains-super-private-gen.js --- description: Private Generators Methods cannot contain direct super (class declaration) 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. --- 813
grammar-special-meth-contains-super-private-method.js --- description: Private Methods cannot contain direct super (class declaration) 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. --- 791
grammar-special-meth-contains-super-set.js --- description: Accessor set Methods cannot contain direct super (class declaration) 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. --- 766
grammar-special-meth-ctor-async-gen.js --- description: Async Generator Methods cannot be named "constructor" (class declaration) 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. --- 753
grammar-special-meth-ctor-async-meth.js --- description: Async Methods cannot be named "constructor" (class declaration) 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. --- 742
grammar-special-meth-ctor-gen.js --- description: Generator Methods cannot be named "constructor" (class declaration) 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. --- 730
grammar-special-meth-ctor-get.js --- description: Accessor get Methods cannot be named "constructor" (class declaration) 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. --- 723
grammar-special-meth-ctor-set.js --- description: Accessor set Methods cannot be named "constructor" (class declaration) 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. --- 724
grammar-static-async-gen-meth-prototype.js --- description: Static Async Generator Methods cannot be named prototype (class declaration) 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" --- 723
grammar-static-async-gen-meth-super.js --- description: Static Async Generator Methods cannot contain direct super (class declaration) 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. --- 752
grammar-static-async-meth-prototype.js --- description: Static Async Methods cannot be named prototype (class declaration) 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" --- 707
grammar-static-async-meth-super.js --- description: Static Async Methods cannot contain direct super (class declaration) 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. --- 736
grammar-static-gen-meth-prototype.js --- description: Static Generator Methods cannot be named prototype (class declaration) 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" --- 700
grammar-static-gen-meth-super.js --- description: Static Generator Methods cannot contain direct super (class declaration) 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. --- 729
grammar-static-get-meth-prototype.js --- description: Static Accessor get Methods cannot be named prototype (class declaration) 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" --- 693
grammar-static-get-meth-super.js --- description: Static Accessor get Methods cannot contain direct super (class declaration) 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. --- 722
grammar-static-meth-prototype.js --- description: Static Methods cannot be named prototype (class declaration) 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" --- 672
grammar-static-meth-super.js --- description: Static Methods cannot contain direct super (class declaration) 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. --- 701
grammar-static-private-async-gen-meth-constructor.js --- description: Static Async Generator Private Methods cannot be named constructor (class declaration) 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" --- 771
grammar-static-private-async-gen-meth-super.js --- description: Static Async Generator Private Methods cannot contain direct super (class declaration) 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. --- 799
grammar-static-private-async-meth-constructor.js --- description: Static Async Private Methods cannot be named constructor (class declaration) 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" --- 755
grammar-static-private-async-meth-super.js --- description: Static Async Private Methods cannot contain direct super (class declaration) 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. --- 783
grammar-static-private-gen-meth-constructor.js --- description: Static Generator Private Methods cannot be named constructor (class declaration) 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" --- 748
grammar-static-private-gen-meth-super.js --- description: Static Generator Private Methods cannot contain direct super (class declaration) 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. --- 776
grammar-static-private-meth-constructor.js --- description: Static Private Methods cannot be named constructor (class declaration) 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" --- 720
grammar-static-private-meth-super.js --- description: Static Private Methods cannot contain direct super (class declaration) 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. --- 748
grammar-static-privatename-constructor.js --- description: Static Private Fields cannot be named constructor (class declaration) 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" --- 712
grammar-static-set-meth-prototype.js --- description: Static Accessor set Methods cannot be named prototype (class declaration) 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" --- 694
grammar-static-set-meth-super.js --- description: Static Accessor set Methods cannot contain direct super (class declaration) 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. --- 723
invalid-names
private-async-generator-cannot-escape-token.js --- description: The pound signal in the private async generator cannot be escaped (class declaration) 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 # --- 669
private-async-method-cannot-escape-token.js --- description: The pound signal in the private async method cannot be escaped (class declaration) 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 # --- 661
private-call-exp-cannot-escape-token.js --- description: The pound signal in the private reference cannot be escaped (class declaration) 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 # --- 762
private-field-cannot-escape-token.js --- description: The pound signal in the private field cannot be escaped (class declaration) 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 # --- 611
private-generator-cannot-escape-token.js --- description: The pound signal in the private generator cannot be escaped (class declaration) 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 # --- 646
private-member-exp-cannot-escape-token.js --- description: The pound signal in the private reference cannot be escaped (class declaration) 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 # --- 763
private-method-cannot-escape-token.js --- description: The pound signal in the private method cannot be escaped (class declaration) 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 # --- 626
shell.js 0
super-private-access-invalid.js --- description: It is syntax error if PrivateName IdentifierName is accessed on SuperProperty (class declaration) 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 --- 760