test262/test/language/statements/class/elements/private-accessor-name/static-private-name-dollar.js

78 lines
1.7 KiB
JavaScript
Raw Normal View History

2018-11-05 23:18:47 +01:00
// This file was procedurally generated from the following sources:
// - src/accessor-names/private-name-dollar.case
// - src/accessor-names/private/cls-private-decl-static.template
/*---
description: Private IdentifierName - $ (Class declaration, static method)
2019-08-14 21:29:42 +02:00
features: [class, class-static-methods-private]
2018-11-05 23:18:47 +01:00
flags: [generated]
info: |
ClassElement :
MethodDefinition
static MethodDefinition
FieldDefinition ;
;
FieldDefinition :
ClassElementName Initializer _opt
ClassElementName :
PropertyName
PrivateName
PrivateName ::
# IdentifierName
Initializer :
= AssignmentExpression
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".
---*/
var stringSet;
class C {
static get #$() { return 'get string'; }
static set #$(param) { stringSet = param; }
static getPrivateReference() {
return this.#$;
}
static setPrivateReference(value) {
this.#$ = value;
}
}
assert.sameValue(C.getPrivateReference(), 'get string');
C.setPrivateReference('set string');
assert.sameValue(stringSet, 'set string');