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 |