From c09563280d9df947938587d0e622c84f3aa0adb5 Mon Sep 17 00:00:00 2001 From: Leo Balter Date: Wed, 14 Aug 2019 15:29:42 -0400 Subject: [PATCH] Generate tests --- .../computed-err-evaluation.js | 2 + .../computed-err-to-prop-key.js | 2 + .../computed-err-unresolvable.js | 2 + .../class/accessor-name-inst/computed.js | 2 + .../literal-numeric-binary.js | 2 + .../literal-numeric-exponent.js | 2 + .../accessor-name-inst/literal-numeric-hex.js | 2 + .../literal-numeric-leading-decimal.js | 2 + .../literal-numeric-non-canonical.js | 2 + .../literal-numeric-octal.js | 2 + .../literal-numeric-zero.js | 2 + .../literal-string-char-escape.js | 2 + .../literal-string-default-escaped-ext.js | 38 ++++++++++++++++++ .../literal-string-default-escaped.js | 38 ++++++++++++++++++ .../literal-string-default.js | 38 ++++++++++++++++++ .../literal-string-double-quote.js | 2 + .../literal-string-empty.js | 2 + .../literal-string-hex-escape.js | 2 + .../literal-string-line-continuation.js | 2 + .../literal-string-single-quote.js | 2 + .../literal-string-unicode-escape.js | 2 + .../computed-err-evaluation.js | 2 + .../computed-err-to-prop-key.js | 2 + .../computed-err-unresolvable.js | 2 + .../class/accessor-name-static/computed.js | 2 + .../literal-numeric-binary.js | 2 + .../literal-numeric-exponent.js | 2 + .../literal-numeric-hex.js | 2 + .../literal-numeric-leading-decimal.js | 2 + .../literal-numeric-non-canonical.js | 2 + .../literal-numeric-octal.js | 2 + .../literal-numeric-zero.js | 2 + .../literal-string-char-escape.js | 2 + .../literal-string-default-escaped-ext.js | 40 +++++++++++++++++++ .../literal-string-default-escaped.js | 40 +++++++++++++++++++ .../literal-string-default.js | 40 +++++++++++++++++++ .../literal-string-double-quote.js | 2 + .../literal-string-empty.js | 2 + .../literal-string-hex-escape.js | 2 + .../literal-string-line-continuation.js | 2 + .../literal-string-single-quote.js | 2 + .../literal-string-unicode-escape.js | 2 + .../inst-private-escape-sequence-ZWJ.js | 2 +- .../inst-private-escape-sequence-ZWNJ.js | 2 +- .../inst-private-escape-sequence-u2118.js | 2 +- .../inst-private-escape-sequence-u6F.js | 2 +- .../inst-private-name-ZWJ.js | 2 +- .../inst-private-name-ZWNJ.js | 2 +- .../inst-private-name-common.js | 2 +- .../inst-private-name-dollar.js | 2 +- .../inst-private-name-u2118.js | 2 +- .../inst-private-name-underscore.js | 2 +- .../static-private-escape-sequence-ZWJ.js | 2 +- .../static-private-escape-sequence-ZWNJ.js | 2 +- .../static-private-escape-sequence-u2118.js | 2 +- .../static-private-escape-sequence-u6F.js | 2 +- .../static-private-name-ZWJ.js | 2 +- .../static-private-name-ZWNJ.js | 2 +- .../static-private-name-common.js | 2 +- .../static-private-name-dollar.js | 2 +- .../static-private-name-u2118.js | 2 +- .../static-private-name-underscore.js | 2 +- ...name-literal-string-default-escaped-ext.js | 37 +++++++++++++++++ ...sor-name-literal-string-default-escaped.js | 37 +++++++++++++++++ .../accessor-name-literal-string-default.js | 37 +++++++++++++++++ .../computed-err-evaluation.js | 2 + .../computed-err-to-prop-key.js | 2 + .../computed-err-unresolvable.js | 2 + .../class/accessor-name-inst/computed.js | 2 + .../literal-numeric-binary.js | 2 + .../literal-numeric-exponent.js | 2 + .../accessor-name-inst/literal-numeric-hex.js | 2 + .../literal-numeric-leading-decimal.js | 2 + .../literal-numeric-non-canonical.js | 2 + .../literal-numeric-octal.js | 2 + .../literal-numeric-zero.js | 2 + .../literal-string-char-escape.js | 2 + .../literal-string-default-escaped-ext.js | 38 ++++++++++++++++++ .../literal-string-default-escaped.js | 38 ++++++++++++++++++ .../literal-string-default.js | 38 ++++++++++++++++++ .../literal-string-double-quote.js | 2 + .../literal-string-empty.js | 2 + .../literal-string-hex-escape.js | 2 + .../literal-string-line-continuation.js | 2 + .../literal-string-single-quote.js | 2 + .../literal-string-unicode-escape.js | 2 + .../computed-err-evaluation.js | 2 + .../computed-err-to-prop-key.js | 2 + .../computed-err-unresolvable.js | 2 + .../class/accessor-name-static/computed.js | 2 + .../literal-numeric-binary.js | 2 + .../literal-numeric-exponent.js | 2 + .../literal-numeric-hex.js | 2 + .../literal-numeric-leading-decimal.js | 2 + .../literal-numeric-non-canonical.js | 2 + .../literal-numeric-octal.js | 2 + .../literal-numeric-zero.js | 2 + .../literal-string-char-escape.js | 2 + .../literal-string-default-escaped-ext.js | 40 +++++++++++++++++++ .../literal-string-default-escaped.js | 40 +++++++++++++++++++ .../literal-string-default.js | 40 +++++++++++++++++++ .../literal-string-double-quote.js | 2 + .../literal-string-empty.js | 2 + .../literal-string-hex-escape.js | 2 + .../literal-string-line-continuation.js | 2 + .../literal-string-single-quote.js | 2 + .../literal-string-unicode-escape.js | 2 + .../inst-private-escape-sequence-ZWJ.js | 2 +- .../inst-private-escape-sequence-ZWNJ.js | 2 +- .../inst-private-escape-sequence-u2118.js | 2 +- .../inst-private-escape-sequence-u6F.js | 2 +- .../inst-private-name-ZWJ.js | 2 +- .../inst-private-name-ZWNJ.js | 2 +- .../inst-private-name-common.js | 2 +- .../inst-private-name-dollar.js | 2 +- .../inst-private-name-u2118.js | 2 +- .../inst-private-name-underscore.js | 2 +- .../static-private-escape-sequence-ZWJ.js | 2 +- .../static-private-escape-sequence-ZWNJ.js | 2 +- .../static-private-escape-sequence-u2118.js | 2 +- .../static-private-escape-sequence-u6F.js | 2 +- .../static-private-name-ZWJ.js | 2 +- .../static-private-name-ZWNJ.js | 2 +- .../static-private-name-common.js | 2 +- .../static-private-name-dollar.js | 2 +- .../static-private-name-u2118.js | 2 +- .../static-private-name-underscore.js | 2 +- 127 files changed, 763 insertions(+), 40 deletions(-) create mode 100644 test/language/expressions/class/accessor-name-inst/literal-string-default-escaped-ext.js create mode 100644 test/language/expressions/class/accessor-name-inst/literal-string-default-escaped.js create mode 100644 test/language/expressions/class/accessor-name-inst/literal-string-default.js create mode 100644 test/language/expressions/class/accessor-name-static/literal-string-default-escaped-ext.js create mode 100644 test/language/expressions/class/accessor-name-static/literal-string-default-escaped.js create mode 100644 test/language/expressions/class/accessor-name-static/literal-string-default.js create mode 100644 test/language/expressions/object/accessor-name-literal-string-default-escaped-ext.js create mode 100644 test/language/expressions/object/accessor-name-literal-string-default-escaped.js create mode 100644 test/language/expressions/object/accessor-name-literal-string-default.js create mode 100644 test/language/statements/class/accessor-name-inst/literal-string-default-escaped-ext.js create mode 100644 test/language/statements/class/accessor-name-inst/literal-string-default-escaped.js create mode 100644 test/language/statements/class/accessor-name-inst/literal-string-default.js create mode 100644 test/language/statements/class/accessor-name-static/literal-string-default-escaped-ext.js create mode 100644 test/language/statements/class/accessor-name-static/literal-string-default-escaped.js create mode 100644 test/language/statements/class/accessor-name-static/literal-string-default.js diff --git a/test/language/expressions/class/accessor-name-inst/computed-err-evaluation.js b/test/language/expressions/class/accessor-name-inst/computed-err-evaluation.js index f9a0f0af08..189aeb41fe 100644 --- a/test/language/expressions/class/accessor-name-inst/computed-err-evaluation.js +++ b/test/language/expressions/class/accessor-name-inst/computed-err-evaluation.js @@ -4,6 +4,7 @@ /*--- description: Abrupt completion when evaluating expression (Class expression, instance method) esid: sec-runtime-semantics-classdefinitionevaluation +features: [class] flags: [generated] info: | [...] @@ -12,6 +13,7 @@ info: | i. Let status be the result of performing PropertyDefinitionEvaluation for m with arguments proto and false. + 12.2.6.7 Runtime Semantics: Evaluation ComputedPropertyName : [ AssignmentExpression ] diff --git a/test/language/expressions/class/accessor-name-inst/computed-err-to-prop-key.js b/test/language/expressions/class/accessor-name-inst/computed-err-to-prop-key.js index 494792e7c8..8a7cf73701 100644 --- a/test/language/expressions/class/accessor-name-inst/computed-err-to-prop-key.js +++ b/test/language/expressions/class/accessor-name-inst/computed-err-to-prop-key.js @@ -4,6 +4,7 @@ /*--- description: Abrupt completion when coercing to property key value (Class expression, instance method) esid: sec-runtime-semantics-classdefinitionevaluation +features: [class] flags: [generated] info: | [...] @@ -12,6 +13,7 @@ info: | i. Let status be the result of performing PropertyDefinitionEvaluation for m with arguments proto and false. + 12.2.6.7 Runtime Semantics: Evaluation [...] diff --git a/test/language/expressions/class/accessor-name-inst/computed-err-unresolvable.js b/test/language/expressions/class/accessor-name-inst/computed-err-unresolvable.js index 5e63e89e5f..4e46a9bb08 100644 --- a/test/language/expressions/class/accessor-name-inst/computed-err-unresolvable.js +++ b/test/language/expressions/class/accessor-name-inst/computed-err-unresolvable.js @@ -4,6 +4,7 @@ /*--- description: Abrupt completion when resolving reference value (Class expression, instance method) esid: sec-runtime-semantics-classdefinitionevaluation +features: [class] flags: [generated] info: | [...] @@ -12,6 +13,7 @@ info: | i. Let status be the result of performing PropertyDefinitionEvaluation for m with arguments proto and false. + 12.2.6.7 Runtime Semantics: Evaluation [...] diff --git a/test/language/expressions/class/accessor-name-inst/computed.js b/test/language/expressions/class/accessor-name-inst/computed.js index 0ff00b2681..6b7cdefd75 100644 --- a/test/language/expressions/class/accessor-name-inst/computed.js +++ b/test/language/expressions/class/accessor-name-inst/computed.js @@ -4,6 +4,7 @@ /*--- description: Computed values as accessor property names (AssignmentExpression) (Class expression, instance method) esid: sec-runtime-semantics-classdefinitionevaluation +features: [class] flags: [generated] info: | [...] @@ -12,6 +13,7 @@ info: | i. Let status be the result of performing PropertyDefinitionEvaluation for m with arguments proto and false. + 12.2.6.7 Runtime Semantics: Evaluation [...] diff --git a/test/language/expressions/class/accessor-name-inst/literal-numeric-binary.js b/test/language/expressions/class/accessor-name-inst/literal-numeric-binary.js index f2bae92a3e..c7ddc62e88 100644 --- a/test/language/expressions/class/accessor-name-inst/literal-numeric-binary.js +++ b/test/language/expressions/class/accessor-name-inst/literal-numeric-binary.js @@ -4,6 +4,7 @@ /*--- description: Computed values as accessor property names (numeric literal in binary notation) (Class expression, instance method) esid: sec-runtime-semantics-classdefinitionevaluation +features: [class] flags: [generated] info: | [...] @@ -12,6 +13,7 @@ info: | i. Let status be the result of performing PropertyDefinitionEvaluation for m with arguments proto and false. + 12.2.6.7 Runtime Semantics: Evaluation [...] diff --git a/test/language/expressions/class/accessor-name-inst/literal-numeric-exponent.js b/test/language/expressions/class/accessor-name-inst/literal-numeric-exponent.js index 90fcd6ef65..5ee43f5d3b 100644 --- a/test/language/expressions/class/accessor-name-inst/literal-numeric-exponent.js +++ b/test/language/expressions/class/accessor-name-inst/literal-numeric-exponent.js @@ -4,6 +4,7 @@ /*--- description: Computed values as accessor property names (numeric literal in exponent notation) (Class expression, instance method) esid: sec-runtime-semantics-classdefinitionevaluation +features: [class] flags: [generated] info: | [...] @@ -12,6 +13,7 @@ info: | i. Let status be the result of performing PropertyDefinitionEvaluation for m with arguments proto and false. + 12.2.6.7 Runtime Semantics: Evaluation [...] diff --git a/test/language/expressions/class/accessor-name-inst/literal-numeric-hex.js b/test/language/expressions/class/accessor-name-inst/literal-numeric-hex.js index ee7829f249..5d5ca8fbb1 100644 --- a/test/language/expressions/class/accessor-name-inst/literal-numeric-hex.js +++ b/test/language/expressions/class/accessor-name-inst/literal-numeric-hex.js @@ -4,6 +4,7 @@ /*--- description: Computed values as accessor property names (numeric literal in hexadecimal notation) (Class expression, instance method) esid: sec-runtime-semantics-classdefinitionevaluation +features: [class] flags: [generated] info: | [...] @@ -12,6 +13,7 @@ info: | i. Let status be the result of performing PropertyDefinitionEvaluation for m with arguments proto and false. + 12.2.6.7 Runtime Semantics: Evaluation [...] diff --git a/test/language/expressions/class/accessor-name-inst/literal-numeric-leading-decimal.js b/test/language/expressions/class/accessor-name-inst/literal-numeric-leading-decimal.js index 647fc2bea5..1cb3e6e8b3 100644 --- a/test/language/expressions/class/accessor-name-inst/literal-numeric-leading-decimal.js +++ b/test/language/expressions/class/accessor-name-inst/literal-numeric-leading-decimal.js @@ -4,6 +4,7 @@ /*--- description: Computed values as accessor property names (numeric literal with leading decimal point) (Class expression, instance method) esid: sec-runtime-semantics-classdefinitionevaluation +features: [class] flags: [generated] info: | [...] @@ -12,6 +13,7 @@ info: | i. Let status be the result of performing PropertyDefinitionEvaluation for m with arguments proto and false. + 12.2.6.7 Runtime Semantics: Evaluation [...] diff --git a/test/language/expressions/class/accessor-name-inst/literal-numeric-non-canonical.js b/test/language/expressions/class/accessor-name-inst/literal-numeric-non-canonical.js index e11d7e59c3..171ce1d2e3 100644 --- a/test/language/expressions/class/accessor-name-inst/literal-numeric-non-canonical.js +++ b/test/language/expressions/class/accessor-name-inst/literal-numeric-non-canonical.js @@ -4,6 +4,7 @@ /*--- description: Computed values as accessor property names (numeric literal with non-canonical representation) (Class expression, instance method) esid: sec-runtime-semantics-classdefinitionevaluation +features: [class] flags: [generated] info: | [...] @@ -12,6 +13,7 @@ info: | i. Let status be the result of performing PropertyDefinitionEvaluation for m with arguments proto and false. + 12.2.6.7 Runtime Semantics: Evaluation [...] diff --git a/test/language/expressions/class/accessor-name-inst/literal-numeric-octal.js b/test/language/expressions/class/accessor-name-inst/literal-numeric-octal.js index dad128cd80..c522dda114 100644 --- a/test/language/expressions/class/accessor-name-inst/literal-numeric-octal.js +++ b/test/language/expressions/class/accessor-name-inst/literal-numeric-octal.js @@ -4,6 +4,7 @@ /*--- description: Computed values as accessor property names (numeric literal in octal notation) (Class expression, instance method) esid: sec-runtime-semantics-classdefinitionevaluation +features: [class] flags: [generated] info: | [...] @@ -12,6 +13,7 @@ info: | i. Let status be the result of performing PropertyDefinitionEvaluation for m with arguments proto and false. + 12.2.6.7 Runtime Semantics: Evaluation [...] diff --git a/test/language/expressions/class/accessor-name-inst/literal-numeric-zero.js b/test/language/expressions/class/accessor-name-inst/literal-numeric-zero.js index 116100897a..6aa988a60b 100644 --- a/test/language/expressions/class/accessor-name-inst/literal-numeric-zero.js +++ b/test/language/expressions/class/accessor-name-inst/literal-numeric-zero.js @@ -4,6 +4,7 @@ /*--- description: Computed values as accessor property names (numeric literal zero) (Class expression, instance method) esid: sec-runtime-semantics-classdefinitionevaluation +features: [class] flags: [generated] info: | [...] @@ -12,6 +13,7 @@ info: | i. Let status be the result of performing PropertyDefinitionEvaluation for m with arguments proto and false. + 12.2.6.7 Runtime Semantics: Evaluation [...] diff --git a/test/language/expressions/class/accessor-name-inst/literal-string-char-escape.js b/test/language/expressions/class/accessor-name-inst/literal-string-char-escape.js index 976d68e6da..d5c7729bd7 100644 --- a/test/language/expressions/class/accessor-name-inst/literal-string-char-escape.js +++ b/test/language/expressions/class/accessor-name-inst/literal-string-char-escape.js @@ -4,6 +4,7 @@ /*--- description: Computed values as accessor property names (string literal containing a character escape sequence) (Class expression, instance method) esid: sec-runtime-semantics-classdefinitionevaluation +features: [class] flags: [generated] info: | [...] @@ -12,6 +13,7 @@ info: | i. Let status be the result of performing PropertyDefinitionEvaluation for m with arguments proto and false. + 12.2.6.7 Runtime Semantics: Evaluation [...] diff --git a/test/language/expressions/class/accessor-name-inst/literal-string-default-escaped-ext.js b/test/language/expressions/class/accessor-name-inst/literal-string-default-escaped-ext.js new file mode 100644 index 0000000000..7b18833670 --- /dev/null +++ b/test/language/expressions/class/accessor-name-inst/literal-string-default-escaped-ext.js @@ -0,0 +1,38 @@ +// This file was procedurally generated from the following sources: +// - src/accessor-names/literal-string-default-escaped-ext.case +// - src/accessor-names/default/cls-expr-inst.template +/*--- +description: Computed values as accessor property names (string literal 'default' w/ extended escape) (Class expression, instance method) +esid: sec-runtime-semantics-classdefinitionevaluation +features: [class] +flags: [generated] +info: | + [...] + 21. For each ClassElement m in order from methods + a. If IsStatic of m is false, then + i. Let status be the result of performing PropertyDefinitionEvaluation + for m with arguments proto and false. + + + 12.2.6.7 Runtime Semantics: Evaluation + + [...] + + ComputedPropertyName : [ AssignmentExpression ] + + 1. Let exprValue be the result of evaluating AssignmentExpression. + 2. Let propName be ? GetValue(exprValue). + 3. Return ? ToPropertyKey(propName). +---*/ + +var stringSet; + +var C = class { + get 'def\u{61}ult'() { return 'get string'; } + set 'def\u{61}ult'(param) { stringSet = param; } +}; + +assert.sameValue(C.prototype['default'], 'get string'); + +C.prototype['default'] = 'set string'; +assert.sameValue(stringSet, 'set string'); diff --git a/test/language/expressions/class/accessor-name-inst/literal-string-default-escaped.js b/test/language/expressions/class/accessor-name-inst/literal-string-default-escaped.js new file mode 100644 index 0000000000..af436e28bb --- /dev/null +++ b/test/language/expressions/class/accessor-name-inst/literal-string-default-escaped.js @@ -0,0 +1,38 @@ +// This file was procedurally generated from the following sources: +// - src/accessor-names/literal-string-default-escaped.case +// - src/accessor-names/default/cls-expr-inst.template +/*--- +description: Computed values as accessor property names (string literal 'default' escaped) (Class expression, instance method) +esid: sec-runtime-semantics-classdefinitionevaluation +features: [class] +flags: [generated] +info: | + [...] + 21. For each ClassElement m in order from methods + a. If IsStatic of m is false, then + i. Let status be the result of performing PropertyDefinitionEvaluation + for m with arguments proto and false. + + + 12.2.6.7 Runtime Semantics: Evaluation + + [...] + + ComputedPropertyName : [ AssignmentExpression ] + + 1. Let exprValue be the result of evaluating AssignmentExpression. + 2. Let propName be ? GetValue(exprValue). + 3. Return ? ToPropertyKey(propName). +---*/ + +var stringSet; + +var C = class { + get 'def\u0061ult'() { return 'get string'; } + set 'def\u0061ult'(param) { stringSet = param; } +}; + +assert.sameValue(C.prototype['default'], 'get string'); + +C.prototype['default'] = 'set string'; +assert.sameValue(stringSet, 'set string'); diff --git a/test/language/expressions/class/accessor-name-inst/literal-string-default.js b/test/language/expressions/class/accessor-name-inst/literal-string-default.js new file mode 100644 index 0000000000..6d619ec5df --- /dev/null +++ b/test/language/expressions/class/accessor-name-inst/literal-string-default.js @@ -0,0 +1,38 @@ +// This file was procedurally generated from the following sources: +// - src/accessor-names/literal-string-default.case +// - src/accessor-names/default/cls-expr-inst.template +/*--- +description: Computed values as accessor property names (string literal 'default') (Class expression, instance method) +esid: sec-runtime-semantics-classdefinitionevaluation +features: [class] +flags: [generated] +info: | + [...] + 21. For each ClassElement m in order from methods + a. If IsStatic of m is false, then + i. Let status be the result of performing PropertyDefinitionEvaluation + for m with arguments proto and false. + + + 12.2.6.7 Runtime Semantics: Evaluation + + [...] + + ComputedPropertyName : [ AssignmentExpression ] + + 1. Let exprValue be the result of evaluating AssignmentExpression. + 2. Let propName be ? GetValue(exprValue). + 3. Return ? ToPropertyKey(propName). +---*/ + +var stringSet; + +var C = class { + get 'default'() { return 'get string'; } + set 'default'(param) { stringSet = param; } +}; + +assert.sameValue(C.prototype['default'], 'get string'); + +C.prototype['default'] = 'set string'; +assert.sameValue(stringSet, 'set string'); diff --git a/test/language/expressions/class/accessor-name-inst/literal-string-double-quote.js b/test/language/expressions/class/accessor-name-inst/literal-string-double-quote.js index 85352d207b..ca95c4fb30 100644 --- a/test/language/expressions/class/accessor-name-inst/literal-string-double-quote.js +++ b/test/language/expressions/class/accessor-name-inst/literal-string-double-quote.js @@ -4,6 +4,7 @@ /*--- description: Computed values as accessor property names (string literal using double quotes) (Class expression, instance method) esid: sec-runtime-semantics-classdefinitionevaluation +features: [class] flags: [generated] info: | [...] @@ -12,6 +13,7 @@ info: | i. Let status be the result of performing PropertyDefinitionEvaluation for m with arguments proto and false. + 12.2.6.7 Runtime Semantics: Evaluation [...] diff --git a/test/language/expressions/class/accessor-name-inst/literal-string-empty.js b/test/language/expressions/class/accessor-name-inst/literal-string-empty.js index 735fe1b24c..0535660f66 100644 --- a/test/language/expressions/class/accessor-name-inst/literal-string-empty.js +++ b/test/language/expressions/class/accessor-name-inst/literal-string-empty.js @@ -4,6 +4,7 @@ /*--- description: Computed values as accessor property names (string literal, the empty string) (Class expression, instance method) esid: sec-runtime-semantics-classdefinitionevaluation +features: [class] flags: [generated] info: | [...] @@ -12,6 +13,7 @@ info: | i. Let status be the result of performing PropertyDefinitionEvaluation for m with arguments proto and false. + 12.2.6.7 Runtime Semantics: Evaluation [...] diff --git a/test/language/expressions/class/accessor-name-inst/literal-string-hex-escape.js b/test/language/expressions/class/accessor-name-inst/literal-string-hex-escape.js index 51a3d64584..257f494873 100644 --- a/test/language/expressions/class/accessor-name-inst/literal-string-hex-escape.js +++ b/test/language/expressions/class/accessor-name-inst/literal-string-hex-escape.js @@ -4,6 +4,7 @@ /*--- description: Computed values as accessor property names (string literal containing a hexadecimal escape sequence) (Class expression, instance method) esid: sec-runtime-semantics-classdefinitionevaluation +features: [class] flags: [generated] info: | [...] @@ -12,6 +13,7 @@ info: | i. Let status be the result of performing PropertyDefinitionEvaluation for m with arguments proto and false. + 12.2.6.7 Runtime Semantics: Evaluation [...] diff --git a/test/language/expressions/class/accessor-name-inst/literal-string-line-continuation.js b/test/language/expressions/class/accessor-name-inst/literal-string-line-continuation.js index 02305287e4..db4804e395 100644 --- a/test/language/expressions/class/accessor-name-inst/literal-string-line-continuation.js +++ b/test/language/expressions/class/accessor-name-inst/literal-string-line-continuation.js @@ -4,6 +4,7 @@ /*--- description: Computed values as accessor property names (string literal containing LineContinuation) (Class expression, instance method) esid: sec-runtime-semantics-classdefinitionevaluation +features: [class] flags: [generated] info: | [...] @@ -12,6 +13,7 @@ info: | i. Let status be the result of performing PropertyDefinitionEvaluation for m with arguments proto and false. + 12.2.6.7 Runtime Semantics: Evaluation [...] diff --git a/test/language/expressions/class/accessor-name-inst/literal-string-single-quote.js b/test/language/expressions/class/accessor-name-inst/literal-string-single-quote.js index 1e271f8c20..e19b04d02e 100644 --- a/test/language/expressions/class/accessor-name-inst/literal-string-single-quote.js +++ b/test/language/expressions/class/accessor-name-inst/literal-string-single-quote.js @@ -4,6 +4,7 @@ /*--- description: Computed values as accessor property names (string literal using single quotes) (Class expression, instance method) esid: sec-runtime-semantics-classdefinitionevaluation +features: [class] flags: [generated] info: | [...] @@ -12,6 +13,7 @@ info: | i. Let status be the result of performing PropertyDefinitionEvaluation for m with arguments proto and false. + 12.2.6.7 Runtime Semantics: Evaluation [...] diff --git a/test/language/expressions/class/accessor-name-inst/literal-string-unicode-escape.js b/test/language/expressions/class/accessor-name-inst/literal-string-unicode-escape.js index fbdf446318..af5e79b735 100644 --- a/test/language/expressions/class/accessor-name-inst/literal-string-unicode-escape.js +++ b/test/language/expressions/class/accessor-name-inst/literal-string-unicode-escape.js @@ -4,6 +4,7 @@ /*--- description: Computed values as accessor property names (string literal containing a Unicode escape sequence) (Class expression, instance method) esid: sec-runtime-semantics-classdefinitionevaluation +features: [class] flags: [generated] info: | [...] @@ -12,6 +13,7 @@ info: | i. Let status be the result of performing PropertyDefinitionEvaluation for m with arguments proto and false. + 12.2.6.7 Runtime Semantics: Evaluation [...] diff --git a/test/language/expressions/class/accessor-name-static/computed-err-evaluation.js b/test/language/expressions/class/accessor-name-static/computed-err-evaluation.js index 1e36d2cb9d..641e71ba1d 100644 --- a/test/language/expressions/class/accessor-name-static/computed-err-evaluation.js +++ b/test/language/expressions/class/accessor-name-static/computed-err-evaluation.js @@ -4,6 +4,7 @@ /*--- description: Abrupt completion when evaluating expression (Class expression, static method) esid: sec-runtime-semantics-classdefinitionevaluation +features: [class] flags: [generated] info: | [...] @@ -14,6 +15,7 @@ info: | a. Let status be the result of performing PropertyDefinitionEvaluation for m with arguments F and false. + 12.2.6.7 Runtime Semantics: Evaluation ComputedPropertyName : [ AssignmentExpression ] diff --git a/test/language/expressions/class/accessor-name-static/computed-err-to-prop-key.js b/test/language/expressions/class/accessor-name-static/computed-err-to-prop-key.js index f714adad67..c7f7182d95 100644 --- a/test/language/expressions/class/accessor-name-static/computed-err-to-prop-key.js +++ b/test/language/expressions/class/accessor-name-static/computed-err-to-prop-key.js @@ -4,6 +4,7 @@ /*--- description: Abrupt completion when coercing to property key value (Class expression, static method) esid: sec-runtime-semantics-classdefinitionevaluation +features: [class] flags: [generated] info: | [...] @@ -14,6 +15,7 @@ info: | a. Let status be the result of performing PropertyDefinitionEvaluation for m with arguments F and false. + 12.2.6.7 Runtime Semantics: Evaluation [...] diff --git a/test/language/expressions/class/accessor-name-static/computed-err-unresolvable.js b/test/language/expressions/class/accessor-name-static/computed-err-unresolvable.js index c03febd422..098b04d4d7 100644 --- a/test/language/expressions/class/accessor-name-static/computed-err-unresolvable.js +++ b/test/language/expressions/class/accessor-name-static/computed-err-unresolvable.js @@ -4,6 +4,7 @@ /*--- description: Abrupt completion when resolving reference value (Class expression, static method) esid: sec-runtime-semantics-classdefinitionevaluation +features: [class] flags: [generated] info: | [...] @@ -14,6 +15,7 @@ info: | a. Let status be the result of performing PropertyDefinitionEvaluation for m with arguments F and false. + 12.2.6.7 Runtime Semantics: Evaluation [...] diff --git a/test/language/expressions/class/accessor-name-static/computed.js b/test/language/expressions/class/accessor-name-static/computed.js index 1848c0c6a6..b346486034 100644 --- a/test/language/expressions/class/accessor-name-static/computed.js +++ b/test/language/expressions/class/accessor-name-static/computed.js @@ -4,6 +4,7 @@ /*--- description: Computed values as accessor property names (AssignmentExpression) (Class expression, static method) esid: sec-runtime-semantics-classdefinitionevaluation +features: [class] flags: [generated] info: | [...] @@ -14,6 +15,7 @@ info: | a. Let status be the result of performing PropertyDefinitionEvaluation for m with arguments F and false. + 12.2.6.7 Runtime Semantics: Evaluation [...] diff --git a/test/language/expressions/class/accessor-name-static/literal-numeric-binary.js b/test/language/expressions/class/accessor-name-static/literal-numeric-binary.js index 3aacc695d0..49a806c045 100644 --- a/test/language/expressions/class/accessor-name-static/literal-numeric-binary.js +++ b/test/language/expressions/class/accessor-name-static/literal-numeric-binary.js @@ -4,6 +4,7 @@ /*--- description: Computed values as accessor property names (numeric literal in binary notation) (Class expression, static method) esid: sec-runtime-semantics-classdefinitionevaluation +features: [class] flags: [generated] info: | [...] @@ -14,6 +15,7 @@ info: | a. Let status be the result of performing PropertyDefinitionEvaluation for m with arguments F and false. + 12.2.6.7 Runtime Semantics: Evaluation [...] diff --git a/test/language/expressions/class/accessor-name-static/literal-numeric-exponent.js b/test/language/expressions/class/accessor-name-static/literal-numeric-exponent.js index b1fc07d7f1..975f005ce5 100644 --- a/test/language/expressions/class/accessor-name-static/literal-numeric-exponent.js +++ b/test/language/expressions/class/accessor-name-static/literal-numeric-exponent.js @@ -4,6 +4,7 @@ /*--- description: Computed values as accessor property names (numeric literal in exponent notation) (Class expression, static method) esid: sec-runtime-semantics-classdefinitionevaluation +features: [class] flags: [generated] info: | [...] @@ -14,6 +15,7 @@ info: | a. Let status be the result of performing PropertyDefinitionEvaluation for m with arguments F and false. + 12.2.6.7 Runtime Semantics: Evaluation [...] diff --git a/test/language/expressions/class/accessor-name-static/literal-numeric-hex.js b/test/language/expressions/class/accessor-name-static/literal-numeric-hex.js index 5df293bfaf..d3fe107323 100644 --- a/test/language/expressions/class/accessor-name-static/literal-numeric-hex.js +++ b/test/language/expressions/class/accessor-name-static/literal-numeric-hex.js @@ -4,6 +4,7 @@ /*--- description: Computed values as accessor property names (numeric literal in hexadecimal notation) (Class expression, static method) esid: sec-runtime-semantics-classdefinitionevaluation +features: [class] flags: [generated] info: | [...] @@ -14,6 +15,7 @@ info: | a. Let status be the result of performing PropertyDefinitionEvaluation for m with arguments F and false. + 12.2.6.7 Runtime Semantics: Evaluation [...] diff --git a/test/language/expressions/class/accessor-name-static/literal-numeric-leading-decimal.js b/test/language/expressions/class/accessor-name-static/literal-numeric-leading-decimal.js index dced19ba94..d6e71b15b3 100644 --- a/test/language/expressions/class/accessor-name-static/literal-numeric-leading-decimal.js +++ b/test/language/expressions/class/accessor-name-static/literal-numeric-leading-decimal.js @@ -4,6 +4,7 @@ /*--- description: Computed values as accessor property names (numeric literal with leading decimal point) (Class expression, static method) esid: sec-runtime-semantics-classdefinitionevaluation +features: [class] flags: [generated] info: | [...] @@ -14,6 +15,7 @@ info: | a. Let status be the result of performing PropertyDefinitionEvaluation for m with arguments F and false. + 12.2.6.7 Runtime Semantics: Evaluation [...] diff --git a/test/language/expressions/class/accessor-name-static/literal-numeric-non-canonical.js b/test/language/expressions/class/accessor-name-static/literal-numeric-non-canonical.js index d3f0d505a2..36f32a0f0f 100644 --- a/test/language/expressions/class/accessor-name-static/literal-numeric-non-canonical.js +++ b/test/language/expressions/class/accessor-name-static/literal-numeric-non-canonical.js @@ -4,6 +4,7 @@ /*--- description: Computed values as accessor property names (numeric literal with non-canonical representation) (Class expression, static method) esid: sec-runtime-semantics-classdefinitionevaluation +features: [class] flags: [generated] info: | [...] @@ -14,6 +15,7 @@ info: | a. Let status be the result of performing PropertyDefinitionEvaluation for m with arguments F and false. + 12.2.6.7 Runtime Semantics: Evaluation [...] diff --git a/test/language/expressions/class/accessor-name-static/literal-numeric-octal.js b/test/language/expressions/class/accessor-name-static/literal-numeric-octal.js index ed0db98195..2047c0630f 100644 --- a/test/language/expressions/class/accessor-name-static/literal-numeric-octal.js +++ b/test/language/expressions/class/accessor-name-static/literal-numeric-octal.js @@ -4,6 +4,7 @@ /*--- description: Computed values as accessor property names (numeric literal in octal notation) (Class expression, static method) esid: sec-runtime-semantics-classdefinitionevaluation +features: [class] flags: [generated] info: | [...] @@ -14,6 +15,7 @@ info: | a. Let status be the result of performing PropertyDefinitionEvaluation for m with arguments F and false. + 12.2.6.7 Runtime Semantics: Evaluation [...] diff --git a/test/language/expressions/class/accessor-name-static/literal-numeric-zero.js b/test/language/expressions/class/accessor-name-static/literal-numeric-zero.js index 70a4ad4a2f..966c41a536 100644 --- a/test/language/expressions/class/accessor-name-static/literal-numeric-zero.js +++ b/test/language/expressions/class/accessor-name-static/literal-numeric-zero.js @@ -4,6 +4,7 @@ /*--- description: Computed values as accessor property names (numeric literal zero) (Class expression, static method) esid: sec-runtime-semantics-classdefinitionevaluation +features: [class] flags: [generated] info: | [...] @@ -14,6 +15,7 @@ info: | a. Let status be the result of performing PropertyDefinitionEvaluation for m with arguments F and false. + 12.2.6.7 Runtime Semantics: Evaluation [...] diff --git a/test/language/expressions/class/accessor-name-static/literal-string-char-escape.js b/test/language/expressions/class/accessor-name-static/literal-string-char-escape.js index 6013c3e187..0038f1a010 100644 --- a/test/language/expressions/class/accessor-name-static/literal-string-char-escape.js +++ b/test/language/expressions/class/accessor-name-static/literal-string-char-escape.js @@ -4,6 +4,7 @@ /*--- description: Computed values as accessor property names (string literal containing a character escape sequence) (Class expression, static method) esid: sec-runtime-semantics-classdefinitionevaluation +features: [class] flags: [generated] info: | [...] @@ -14,6 +15,7 @@ info: | a. Let status be the result of performing PropertyDefinitionEvaluation for m with arguments F and false. + 12.2.6.7 Runtime Semantics: Evaluation [...] diff --git a/test/language/expressions/class/accessor-name-static/literal-string-default-escaped-ext.js b/test/language/expressions/class/accessor-name-static/literal-string-default-escaped-ext.js new file mode 100644 index 0000000000..5da10cbd54 --- /dev/null +++ b/test/language/expressions/class/accessor-name-static/literal-string-default-escaped-ext.js @@ -0,0 +1,40 @@ +// This file was procedurally generated from the following sources: +// - src/accessor-names/literal-string-default-escaped-ext.case +// - src/accessor-names/default/cls-expr-static.template +/*--- +description: Computed values as accessor property names (string literal 'default' w/ extended escape) (Class expression, static method) +esid: sec-runtime-semantics-classdefinitionevaluation +features: [class] +flags: [generated] +info: | + [...] + 21. For each ClassElement m in order from methods + a. If IsStatic of m is false, then + [...] + b. Else, + a. Let status be the result of performing PropertyDefinitionEvaluation + for m with arguments F and false. + + + 12.2.6.7 Runtime Semantics: Evaluation + + [...] + + ComputedPropertyName : [ AssignmentExpression ] + + 1. Let exprValue be the result of evaluating AssignmentExpression. + 2. Let propName be ? GetValue(exprValue). + 3. Return ? ToPropertyKey(propName). +---*/ + +var stringSet; + +var C = class { + static get 'def\u{61}ult'() { return 'get string'; } + static set 'def\u{61}ult'(param) { stringSet = param; } +}; + +assert.sameValue(C['default'], 'get string'); + +C['default'] = 'set string'; +assert.sameValue(stringSet, 'set string'); diff --git a/test/language/expressions/class/accessor-name-static/literal-string-default-escaped.js b/test/language/expressions/class/accessor-name-static/literal-string-default-escaped.js new file mode 100644 index 0000000000..6a446dfbea --- /dev/null +++ b/test/language/expressions/class/accessor-name-static/literal-string-default-escaped.js @@ -0,0 +1,40 @@ +// This file was procedurally generated from the following sources: +// - src/accessor-names/literal-string-default-escaped.case +// - src/accessor-names/default/cls-expr-static.template +/*--- +description: Computed values as accessor property names (string literal 'default' escaped) (Class expression, static method) +esid: sec-runtime-semantics-classdefinitionevaluation +features: [class] +flags: [generated] +info: | + [...] + 21. For each ClassElement m in order from methods + a. If IsStatic of m is false, then + [...] + b. Else, + a. Let status be the result of performing PropertyDefinitionEvaluation + for m with arguments F and false. + + + 12.2.6.7 Runtime Semantics: Evaluation + + [...] + + ComputedPropertyName : [ AssignmentExpression ] + + 1. Let exprValue be the result of evaluating AssignmentExpression. + 2. Let propName be ? GetValue(exprValue). + 3. Return ? ToPropertyKey(propName). +---*/ + +var stringSet; + +var C = class { + static get 'def\u0061ult'() { return 'get string'; } + static set 'def\u0061ult'(param) { stringSet = param; } +}; + +assert.sameValue(C['default'], 'get string'); + +C['default'] = 'set string'; +assert.sameValue(stringSet, 'set string'); diff --git a/test/language/expressions/class/accessor-name-static/literal-string-default.js b/test/language/expressions/class/accessor-name-static/literal-string-default.js new file mode 100644 index 0000000000..b4e10762a8 --- /dev/null +++ b/test/language/expressions/class/accessor-name-static/literal-string-default.js @@ -0,0 +1,40 @@ +// This file was procedurally generated from the following sources: +// - src/accessor-names/literal-string-default.case +// - src/accessor-names/default/cls-expr-static.template +/*--- +description: Computed values as accessor property names (string literal 'default') (Class expression, static method) +esid: sec-runtime-semantics-classdefinitionevaluation +features: [class] +flags: [generated] +info: | + [...] + 21. For each ClassElement m in order from methods + a. If IsStatic of m is false, then + [...] + b. Else, + a. Let status be the result of performing PropertyDefinitionEvaluation + for m with arguments F and false. + + + 12.2.6.7 Runtime Semantics: Evaluation + + [...] + + ComputedPropertyName : [ AssignmentExpression ] + + 1. Let exprValue be the result of evaluating AssignmentExpression. + 2. Let propName be ? GetValue(exprValue). + 3. Return ? ToPropertyKey(propName). +---*/ + +var stringSet; + +var C = class { + static get 'default'() { return 'get string'; } + static set 'default'(param) { stringSet = param; } +}; + +assert.sameValue(C['default'], 'get string'); + +C['default'] = 'set string'; +assert.sameValue(stringSet, 'set string'); diff --git a/test/language/expressions/class/accessor-name-static/literal-string-double-quote.js b/test/language/expressions/class/accessor-name-static/literal-string-double-quote.js index 1dd585f5aa..f7afcfa084 100644 --- a/test/language/expressions/class/accessor-name-static/literal-string-double-quote.js +++ b/test/language/expressions/class/accessor-name-static/literal-string-double-quote.js @@ -4,6 +4,7 @@ /*--- description: Computed values as accessor property names (string literal using double quotes) (Class expression, static method) esid: sec-runtime-semantics-classdefinitionevaluation +features: [class] flags: [generated] info: | [...] @@ -14,6 +15,7 @@ info: | a. Let status be the result of performing PropertyDefinitionEvaluation for m with arguments F and false. + 12.2.6.7 Runtime Semantics: Evaluation [...] diff --git a/test/language/expressions/class/accessor-name-static/literal-string-empty.js b/test/language/expressions/class/accessor-name-static/literal-string-empty.js index 22ed3a8e1d..05016eb541 100644 --- a/test/language/expressions/class/accessor-name-static/literal-string-empty.js +++ b/test/language/expressions/class/accessor-name-static/literal-string-empty.js @@ -4,6 +4,7 @@ /*--- description: Computed values as accessor property names (string literal, the empty string) (Class expression, static method) esid: sec-runtime-semantics-classdefinitionevaluation +features: [class] flags: [generated] info: | [...] @@ -14,6 +15,7 @@ info: | a. Let status be the result of performing PropertyDefinitionEvaluation for m with arguments F and false. + 12.2.6.7 Runtime Semantics: Evaluation [...] diff --git a/test/language/expressions/class/accessor-name-static/literal-string-hex-escape.js b/test/language/expressions/class/accessor-name-static/literal-string-hex-escape.js index e279bcad56..a515ab40db 100644 --- a/test/language/expressions/class/accessor-name-static/literal-string-hex-escape.js +++ b/test/language/expressions/class/accessor-name-static/literal-string-hex-escape.js @@ -4,6 +4,7 @@ /*--- description: Computed values as accessor property names (string literal containing a hexadecimal escape sequence) (Class expression, static method) esid: sec-runtime-semantics-classdefinitionevaluation +features: [class] flags: [generated] info: | [...] @@ -14,6 +15,7 @@ info: | a. Let status be the result of performing PropertyDefinitionEvaluation for m with arguments F and false. + 12.2.6.7 Runtime Semantics: Evaluation [...] diff --git a/test/language/expressions/class/accessor-name-static/literal-string-line-continuation.js b/test/language/expressions/class/accessor-name-static/literal-string-line-continuation.js index 349574d376..c6d388fb57 100644 --- a/test/language/expressions/class/accessor-name-static/literal-string-line-continuation.js +++ b/test/language/expressions/class/accessor-name-static/literal-string-line-continuation.js @@ -4,6 +4,7 @@ /*--- description: Computed values as accessor property names (string literal containing LineContinuation) (Class expression, static method) esid: sec-runtime-semantics-classdefinitionevaluation +features: [class] flags: [generated] info: | [...] @@ -14,6 +15,7 @@ info: | a. Let status be the result of performing PropertyDefinitionEvaluation for m with arguments F and false. + 12.2.6.7 Runtime Semantics: Evaluation [...] diff --git a/test/language/expressions/class/accessor-name-static/literal-string-single-quote.js b/test/language/expressions/class/accessor-name-static/literal-string-single-quote.js index b5c28ca444..0c9d5a2c23 100644 --- a/test/language/expressions/class/accessor-name-static/literal-string-single-quote.js +++ b/test/language/expressions/class/accessor-name-static/literal-string-single-quote.js @@ -4,6 +4,7 @@ /*--- description: Computed values as accessor property names (string literal using single quotes) (Class expression, static method) esid: sec-runtime-semantics-classdefinitionevaluation +features: [class] flags: [generated] info: | [...] @@ -14,6 +15,7 @@ info: | a. Let status be the result of performing PropertyDefinitionEvaluation for m with arguments F and false. + 12.2.6.7 Runtime Semantics: Evaluation [...] diff --git a/test/language/expressions/class/accessor-name-static/literal-string-unicode-escape.js b/test/language/expressions/class/accessor-name-static/literal-string-unicode-escape.js index 2568967877..2c56130c08 100644 --- a/test/language/expressions/class/accessor-name-static/literal-string-unicode-escape.js +++ b/test/language/expressions/class/accessor-name-static/literal-string-unicode-escape.js @@ -4,6 +4,7 @@ /*--- description: Computed values as accessor property names (string literal containing a Unicode escape sequence) (Class expression, static method) esid: sec-runtime-semantics-classdefinitionevaluation +features: [class] flags: [generated] info: | [...] @@ -14,6 +15,7 @@ info: | a. Let status be the result of performing PropertyDefinitionEvaluation for m with arguments F and false. + 12.2.6.7 Runtime Semantics: Evaluation [...] diff --git a/test/language/expressions/class/elements/private-accessor-name/inst-private-escape-sequence-ZWJ.js b/test/language/expressions/class/elements/private-accessor-name/inst-private-escape-sequence-ZWJ.js index f1ed105118..8513b18661 100644 --- a/test/language/expressions/class/elements/private-accessor-name/inst-private-escape-sequence-ZWJ.js +++ b/test/language/expressions/class/elements/private-accessor-name/inst-private-escape-sequence-ZWJ.js @@ -3,7 +3,7 @@ // - src/accessor-names/private/cls-private-expr-inst.template /*--- description: Private IdentifierName - ZWJ (Class expression, instance private method) -features: [class-methods-private] +features: [class, class-methods-private] flags: [generated] info: | ClassElement : diff --git a/test/language/expressions/class/elements/private-accessor-name/inst-private-escape-sequence-ZWNJ.js b/test/language/expressions/class/elements/private-accessor-name/inst-private-escape-sequence-ZWNJ.js index dcc08c5f82..d88076c392 100644 --- a/test/language/expressions/class/elements/private-accessor-name/inst-private-escape-sequence-ZWNJ.js +++ b/test/language/expressions/class/elements/private-accessor-name/inst-private-escape-sequence-ZWNJ.js @@ -3,7 +3,7 @@ // - src/accessor-names/private/cls-private-expr-inst.template /*--- description: Private IdentifierName - ZWNJ (Class expression, instance private method) -features: [class-methods-private] +features: [class, class-methods-private] flags: [generated] info: | ClassElement : diff --git a/test/language/expressions/class/elements/private-accessor-name/inst-private-escape-sequence-u2118.js b/test/language/expressions/class/elements/private-accessor-name/inst-private-escape-sequence-u2118.js index 7539f2c5fa..66aeec773b 100644 --- a/test/language/expressions/class/elements/private-accessor-name/inst-private-escape-sequence-u2118.js +++ b/test/language/expressions/class/elements/private-accessor-name/inst-private-escape-sequence-u2118.js @@ -3,7 +3,7 @@ // - src/accessor-names/private/cls-private-expr-inst.template /*--- description: Private IdentifierName - u2118 (℘) (Class expression, instance private method) -features: [class-methods-private] +features: [class, class-methods-private] flags: [generated] info: | ClassElement : diff --git a/test/language/expressions/class/elements/private-accessor-name/inst-private-escape-sequence-u6F.js b/test/language/expressions/class/elements/private-accessor-name/inst-private-escape-sequence-u6F.js index 926b99b404..bcb23853a4 100644 --- a/test/language/expressions/class/elements/private-accessor-name/inst-private-escape-sequence-u6F.js +++ b/test/language/expressions/class/elements/private-accessor-name/inst-private-escape-sequence-u6F.js @@ -3,7 +3,7 @@ // - src/accessor-names/private/cls-private-expr-inst.template /*--- description: Private IdentifierName - u6F (o) (Class expression, instance private method) -features: [class-methods-private] +features: [class, class-methods-private] flags: [generated] info: | ClassElement : diff --git a/test/language/expressions/class/elements/private-accessor-name/inst-private-name-ZWJ.js b/test/language/expressions/class/elements/private-accessor-name/inst-private-name-ZWJ.js index 07a7e0fd29..e06222df2f 100644 --- a/test/language/expressions/class/elements/private-accessor-name/inst-private-name-ZWJ.js +++ b/test/language/expressions/class/elements/private-accessor-name/inst-private-name-ZWJ.js @@ -3,7 +3,7 @@ // - src/accessor-names/private/cls-private-expr-inst.template /*--- description: Private IdentifierName - ZWJ (Class expression, instance private method) -features: [class-methods-private] +features: [class, class-methods-private] flags: [generated] info: | ClassElement : diff --git a/test/language/expressions/class/elements/private-accessor-name/inst-private-name-ZWNJ.js b/test/language/expressions/class/elements/private-accessor-name/inst-private-name-ZWNJ.js index 1b9c63aff4..26bd62a370 100644 --- a/test/language/expressions/class/elements/private-accessor-name/inst-private-name-ZWNJ.js +++ b/test/language/expressions/class/elements/private-accessor-name/inst-private-name-ZWNJ.js @@ -3,7 +3,7 @@ // - src/accessor-names/private/cls-private-expr-inst.template /*--- description: Private IdentifierName - ZWNJ (Class expression, instance private method) -features: [class-methods-private] +features: [class, class-methods-private] flags: [generated] info: | ClassElement : diff --git a/test/language/expressions/class/elements/private-accessor-name/inst-private-name-common.js b/test/language/expressions/class/elements/private-accessor-name/inst-private-name-common.js index 49d12be020..c85aae6805 100644 --- a/test/language/expressions/class/elements/private-accessor-name/inst-private-name-common.js +++ b/test/language/expressions/class/elements/private-accessor-name/inst-private-name-common.js @@ -3,7 +3,7 @@ // - src/accessor-names/private/cls-private-expr-inst.template /*--- description: Private IdentifierName - common (Class expression, instance private method) -features: [class-methods-private] +features: [class, class-methods-private] flags: [generated] info: | ClassElement : diff --git a/test/language/expressions/class/elements/private-accessor-name/inst-private-name-dollar.js b/test/language/expressions/class/elements/private-accessor-name/inst-private-name-dollar.js index 75f6b7edc6..1a63a64160 100644 --- a/test/language/expressions/class/elements/private-accessor-name/inst-private-name-dollar.js +++ b/test/language/expressions/class/elements/private-accessor-name/inst-private-name-dollar.js @@ -3,7 +3,7 @@ // - src/accessor-names/private/cls-private-expr-inst.template /*--- description: Private IdentifierName - $ (Class expression, instance private method) -features: [class-methods-private] +features: [class, class-methods-private] flags: [generated] info: | ClassElement : diff --git a/test/language/expressions/class/elements/private-accessor-name/inst-private-name-u2118.js b/test/language/expressions/class/elements/private-accessor-name/inst-private-name-u2118.js index 7ac400f757..eb5e9be212 100644 --- a/test/language/expressions/class/elements/private-accessor-name/inst-private-name-u2118.js +++ b/test/language/expressions/class/elements/private-accessor-name/inst-private-name-u2118.js @@ -3,7 +3,7 @@ // - src/accessor-names/private/cls-private-expr-inst.template /*--- description: Private IdentifierName - ℘ (Class expression, instance private method) -features: [class-methods-private] +features: [class, class-methods-private] flags: [generated] info: | ClassElement : diff --git a/test/language/expressions/class/elements/private-accessor-name/inst-private-name-underscore.js b/test/language/expressions/class/elements/private-accessor-name/inst-private-name-underscore.js index 0e6c86fda4..80bdcbc266 100644 --- a/test/language/expressions/class/elements/private-accessor-name/inst-private-name-underscore.js +++ b/test/language/expressions/class/elements/private-accessor-name/inst-private-name-underscore.js @@ -3,7 +3,7 @@ // - src/accessor-names/private/cls-private-expr-inst.template /*--- description: Private IdentifierName - _ (Class expression, instance private method) -features: [class-methods-private] +features: [class, class-methods-private] flags: [generated] info: | ClassElement : diff --git a/test/language/expressions/class/elements/private-accessor-name/static-private-escape-sequence-ZWJ.js b/test/language/expressions/class/elements/private-accessor-name/static-private-escape-sequence-ZWJ.js index eaf0fc3861..6ad2ec7a6f 100644 --- a/test/language/expressions/class/elements/private-accessor-name/static-private-escape-sequence-ZWJ.js +++ b/test/language/expressions/class/elements/private-accessor-name/static-private-escape-sequence-ZWJ.js @@ -3,7 +3,7 @@ // - src/accessor-names/private/cls-private-expr-static.template /*--- description: Private IdentifierName - ZWJ (Class expression, static private method) -features: [class-static-methods-private] +features: [class, class-static-methods-private] flags: [generated] info: | ClassElement : diff --git a/test/language/expressions/class/elements/private-accessor-name/static-private-escape-sequence-ZWNJ.js b/test/language/expressions/class/elements/private-accessor-name/static-private-escape-sequence-ZWNJ.js index 4f3bbbb2ac..fab88792b8 100644 --- a/test/language/expressions/class/elements/private-accessor-name/static-private-escape-sequence-ZWNJ.js +++ b/test/language/expressions/class/elements/private-accessor-name/static-private-escape-sequence-ZWNJ.js @@ -3,7 +3,7 @@ // - src/accessor-names/private/cls-private-expr-static.template /*--- description: Private IdentifierName - ZWNJ (Class expression, static private method) -features: [class-static-methods-private] +features: [class, class-static-methods-private] flags: [generated] info: | ClassElement : diff --git a/test/language/expressions/class/elements/private-accessor-name/static-private-escape-sequence-u2118.js b/test/language/expressions/class/elements/private-accessor-name/static-private-escape-sequence-u2118.js index ed9cecf0c8..936cbb49d9 100644 --- a/test/language/expressions/class/elements/private-accessor-name/static-private-escape-sequence-u2118.js +++ b/test/language/expressions/class/elements/private-accessor-name/static-private-escape-sequence-u2118.js @@ -3,7 +3,7 @@ // - src/accessor-names/private/cls-private-expr-static.template /*--- description: Private IdentifierName - u2118 (℘) (Class expression, static private method) -features: [class-static-methods-private] +features: [class, class-static-methods-private] flags: [generated] info: | ClassElement : diff --git a/test/language/expressions/class/elements/private-accessor-name/static-private-escape-sequence-u6F.js b/test/language/expressions/class/elements/private-accessor-name/static-private-escape-sequence-u6F.js index c197c5207d..adf9deeb95 100644 --- a/test/language/expressions/class/elements/private-accessor-name/static-private-escape-sequence-u6F.js +++ b/test/language/expressions/class/elements/private-accessor-name/static-private-escape-sequence-u6F.js @@ -3,7 +3,7 @@ // - src/accessor-names/private/cls-private-expr-static.template /*--- description: Private IdentifierName - u6F (o) (Class expression, static private method) -features: [class-static-methods-private] +features: [class, class-static-methods-private] flags: [generated] info: | ClassElement : diff --git a/test/language/expressions/class/elements/private-accessor-name/static-private-name-ZWJ.js b/test/language/expressions/class/elements/private-accessor-name/static-private-name-ZWJ.js index 459d5b2a11..eec0280c5a 100644 --- a/test/language/expressions/class/elements/private-accessor-name/static-private-name-ZWJ.js +++ b/test/language/expressions/class/elements/private-accessor-name/static-private-name-ZWJ.js @@ -3,7 +3,7 @@ // - src/accessor-names/private/cls-private-expr-static.template /*--- description: Private IdentifierName - ZWJ (Class expression, static private method) -features: [class-static-methods-private] +features: [class, class-static-methods-private] flags: [generated] info: | ClassElement : diff --git a/test/language/expressions/class/elements/private-accessor-name/static-private-name-ZWNJ.js b/test/language/expressions/class/elements/private-accessor-name/static-private-name-ZWNJ.js index 77c196089b..00ad77e379 100644 --- a/test/language/expressions/class/elements/private-accessor-name/static-private-name-ZWNJ.js +++ b/test/language/expressions/class/elements/private-accessor-name/static-private-name-ZWNJ.js @@ -3,7 +3,7 @@ // - src/accessor-names/private/cls-private-expr-static.template /*--- description: Private IdentifierName - ZWNJ (Class expression, static private method) -features: [class-static-methods-private] +features: [class, class-static-methods-private] flags: [generated] info: | ClassElement : diff --git a/test/language/expressions/class/elements/private-accessor-name/static-private-name-common.js b/test/language/expressions/class/elements/private-accessor-name/static-private-name-common.js index 914d5e89d5..5b1cae712c 100644 --- a/test/language/expressions/class/elements/private-accessor-name/static-private-name-common.js +++ b/test/language/expressions/class/elements/private-accessor-name/static-private-name-common.js @@ -3,7 +3,7 @@ // - src/accessor-names/private/cls-private-expr-static.template /*--- description: Private IdentifierName - common (Class expression, static private method) -features: [class-static-methods-private] +features: [class, class-static-methods-private] flags: [generated] info: | ClassElement : diff --git a/test/language/expressions/class/elements/private-accessor-name/static-private-name-dollar.js b/test/language/expressions/class/elements/private-accessor-name/static-private-name-dollar.js index 42ab00433b..1f7af16613 100644 --- a/test/language/expressions/class/elements/private-accessor-name/static-private-name-dollar.js +++ b/test/language/expressions/class/elements/private-accessor-name/static-private-name-dollar.js @@ -3,7 +3,7 @@ // - src/accessor-names/private/cls-private-expr-static.template /*--- description: Private IdentifierName - $ (Class expression, static private method) -features: [class-static-methods-private] +features: [class, class-static-methods-private] flags: [generated] info: | ClassElement : diff --git a/test/language/expressions/class/elements/private-accessor-name/static-private-name-u2118.js b/test/language/expressions/class/elements/private-accessor-name/static-private-name-u2118.js index 5f1f88d159..cfea56eb18 100644 --- a/test/language/expressions/class/elements/private-accessor-name/static-private-name-u2118.js +++ b/test/language/expressions/class/elements/private-accessor-name/static-private-name-u2118.js @@ -3,7 +3,7 @@ // - src/accessor-names/private/cls-private-expr-static.template /*--- description: Private IdentifierName - ℘ (Class expression, static private method) -features: [class-static-methods-private] +features: [class, class-static-methods-private] flags: [generated] info: | ClassElement : diff --git a/test/language/expressions/class/elements/private-accessor-name/static-private-name-underscore.js b/test/language/expressions/class/elements/private-accessor-name/static-private-name-underscore.js index ef28aea8b6..55e351e787 100644 --- a/test/language/expressions/class/elements/private-accessor-name/static-private-name-underscore.js +++ b/test/language/expressions/class/elements/private-accessor-name/static-private-name-underscore.js @@ -3,7 +3,7 @@ // - src/accessor-names/private/cls-private-expr-static.template /*--- description: Private IdentifierName - _ (Class expression, static private method) -features: [class-static-methods-private] +features: [class, class-static-methods-private] flags: [generated] info: | ClassElement : diff --git a/test/language/expressions/object/accessor-name-literal-string-default-escaped-ext.js b/test/language/expressions/object/accessor-name-literal-string-default-escaped-ext.js new file mode 100644 index 0000000000..460c50e51c --- /dev/null +++ b/test/language/expressions/object/accessor-name-literal-string-default-escaped-ext.js @@ -0,0 +1,37 @@ +// This file was procedurally generated from the following sources: +// - src/accessor-names/literal-string-default-escaped-ext.case +// - src/accessor-names/default/obj.template +/*--- +description: Computed values as accessor property names (string literal 'default' w/ extended escape) (Object initializer) +esid: sec-object-initializer-runtime-semantics-evaluation +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + 1. Let obj be ObjectCreate(%ObjectPrototype%). + 2. Let status be the result of performing PropertyDefinitionEvaluation of + PropertyDefinitionList with arguments obj and true. + + 12.2.6.7 Runtime Semantics: Evaluation + + [...] + + ComputedPropertyName : [ AssignmentExpression ] + + 1. Let exprValue be the result of evaluating AssignmentExpression. + 2. Let propName be ? GetValue(exprValue). + 3. Return ? ToPropertyKey(propName). +---*/ + +var stringSet; +var obj = { + get ['def\u{61}ult']() { return 'get string'; }, + set ['def\u{61}ult'](param) { stringSet = param; } +}; + +assert.sameValue(obj['default'], 'get string'); + +obj['default'] = 'set string'; +assert.sameValue(stringSet, 'set string'); diff --git a/test/language/expressions/object/accessor-name-literal-string-default-escaped.js b/test/language/expressions/object/accessor-name-literal-string-default-escaped.js new file mode 100644 index 0000000000..98598c9b28 --- /dev/null +++ b/test/language/expressions/object/accessor-name-literal-string-default-escaped.js @@ -0,0 +1,37 @@ +// This file was procedurally generated from the following sources: +// - src/accessor-names/literal-string-default-escaped.case +// - src/accessor-names/default/obj.template +/*--- +description: Computed values as accessor property names (string literal 'default' escaped) (Object initializer) +esid: sec-object-initializer-runtime-semantics-evaluation +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + 1. Let obj be ObjectCreate(%ObjectPrototype%). + 2. Let status be the result of performing PropertyDefinitionEvaluation of + PropertyDefinitionList with arguments obj and true. + + 12.2.6.7 Runtime Semantics: Evaluation + + [...] + + ComputedPropertyName : [ AssignmentExpression ] + + 1. Let exprValue be the result of evaluating AssignmentExpression. + 2. Let propName be ? GetValue(exprValue). + 3. Return ? ToPropertyKey(propName). +---*/ + +var stringSet; +var obj = { + get ['def\u0061ult']() { return 'get string'; }, + set ['def\u0061ult'](param) { stringSet = param; } +}; + +assert.sameValue(obj['default'], 'get string'); + +obj['default'] = 'set string'; +assert.sameValue(stringSet, 'set string'); diff --git a/test/language/expressions/object/accessor-name-literal-string-default.js b/test/language/expressions/object/accessor-name-literal-string-default.js new file mode 100644 index 0000000000..a75647adc3 --- /dev/null +++ b/test/language/expressions/object/accessor-name-literal-string-default.js @@ -0,0 +1,37 @@ +// This file was procedurally generated from the following sources: +// - src/accessor-names/literal-string-default.case +// - src/accessor-names/default/obj.template +/*--- +description: Computed values as accessor property names (string literal 'default') (Object initializer) +esid: sec-object-initializer-runtime-semantics-evaluation +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + 1. Let obj be ObjectCreate(%ObjectPrototype%). + 2. Let status be the result of performing PropertyDefinitionEvaluation of + PropertyDefinitionList with arguments obj and true. + + 12.2.6.7 Runtime Semantics: Evaluation + + [...] + + ComputedPropertyName : [ AssignmentExpression ] + + 1. Let exprValue be the result of evaluating AssignmentExpression. + 2. Let propName be ? GetValue(exprValue). + 3. Return ? ToPropertyKey(propName). +---*/ + +var stringSet; +var obj = { + get ['default']() { return 'get string'; }, + set ['default'](param) { stringSet = param; } +}; + +assert.sameValue(obj['default'], 'get string'); + +obj['default'] = 'set string'; +assert.sameValue(stringSet, 'set string'); diff --git a/test/language/statements/class/accessor-name-inst/computed-err-evaluation.js b/test/language/statements/class/accessor-name-inst/computed-err-evaluation.js index 872ac2d7c1..ada59d9628 100644 --- a/test/language/statements/class/accessor-name-inst/computed-err-evaluation.js +++ b/test/language/statements/class/accessor-name-inst/computed-err-evaluation.js @@ -4,6 +4,7 @@ /*--- description: Abrupt completion when evaluating expression (Class declaration, instance method) esid: sec-runtime-semantics-classdefinitionevaluation +features: [class] flags: [generated] info: | [...] @@ -12,6 +13,7 @@ info: | i. Let status be the result of performing PropertyDefinitionEvaluation for m with arguments proto and false. + 12.2.6.7 Runtime Semantics: Evaluation ComputedPropertyName : [ AssignmentExpression ] diff --git a/test/language/statements/class/accessor-name-inst/computed-err-to-prop-key.js b/test/language/statements/class/accessor-name-inst/computed-err-to-prop-key.js index 9321d201f8..d363cf9ec4 100644 --- a/test/language/statements/class/accessor-name-inst/computed-err-to-prop-key.js +++ b/test/language/statements/class/accessor-name-inst/computed-err-to-prop-key.js @@ -4,6 +4,7 @@ /*--- description: Abrupt completion when coercing to property key value (Class declaration, instance method) esid: sec-runtime-semantics-classdefinitionevaluation +features: [class] flags: [generated] info: | [...] @@ -12,6 +13,7 @@ info: | i. Let status be the result of performing PropertyDefinitionEvaluation for m with arguments proto and false. + 12.2.6.7 Runtime Semantics: Evaluation [...] diff --git a/test/language/statements/class/accessor-name-inst/computed-err-unresolvable.js b/test/language/statements/class/accessor-name-inst/computed-err-unresolvable.js index 0fb92b7d6b..0faa1be11b 100644 --- a/test/language/statements/class/accessor-name-inst/computed-err-unresolvable.js +++ b/test/language/statements/class/accessor-name-inst/computed-err-unresolvable.js @@ -4,6 +4,7 @@ /*--- description: Abrupt completion when resolving reference value (Class declaration, instance method) esid: sec-runtime-semantics-classdefinitionevaluation +features: [class] flags: [generated] info: | [...] @@ -12,6 +13,7 @@ info: | i. Let status be the result of performing PropertyDefinitionEvaluation for m with arguments proto and false. + 12.2.6.7 Runtime Semantics: Evaluation [...] diff --git a/test/language/statements/class/accessor-name-inst/computed.js b/test/language/statements/class/accessor-name-inst/computed.js index 84fb4a6c36..0813598625 100644 --- a/test/language/statements/class/accessor-name-inst/computed.js +++ b/test/language/statements/class/accessor-name-inst/computed.js @@ -4,6 +4,7 @@ /*--- description: Computed values as accessor property names (AssignmentExpression) (Class declaration, instance method) esid: sec-runtime-semantics-classdefinitionevaluation +features: [class] flags: [generated] info: | [...] @@ -12,6 +13,7 @@ info: | i. Let status be the result of performing PropertyDefinitionEvaluation for m with arguments proto and false. + 12.2.6.7 Runtime Semantics: Evaluation [...] diff --git a/test/language/statements/class/accessor-name-inst/literal-numeric-binary.js b/test/language/statements/class/accessor-name-inst/literal-numeric-binary.js index b480b8d2a3..5454110989 100644 --- a/test/language/statements/class/accessor-name-inst/literal-numeric-binary.js +++ b/test/language/statements/class/accessor-name-inst/literal-numeric-binary.js @@ -4,6 +4,7 @@ /*--- description: Computed values as accessor property names (numeric literal in binary notation) (Class declaration, instance method) esid: sec-runtime-semantics-classdefinitionevaluation +features: [class] flags: [generated] info: | [...] @@ -12,6 +13,7 @@ info: | i. Let status be the result of performing PropertyDefinitionEvaluation for m with arguments proto and false. + 12.2.6.7 Runtime Semantics: Evaluation [...] diff --git a/test/language/statements/class/accessor-name-inst/literal-numeric-exponent.js b/test/language/statements/class/accessor-name-inst/literal-numeric-exponent.js index b124ce1a57..0087e52d02 100644 --- a/test/language/statements/class/accessor-name-inst/literal-numeric-exponent.js +++ b/test/language/statements/class/accessor-name-inst/literal-numeric-exponent.js @@ -4,6 +4,7 @@ /*--- description: Computed values as accessor property names (numeric literal in exponent notation) (Class declaration, instance method) esid: sec-runtime-semantics-classdefinitionevaluation +features: [class] flags: [generated] info: | [...] @@ -12,6 +13,7 @@ info: | i. Let status be the result of performing PropertyDefinitionEvaluation for m with arguments proto and false. + 12.2.6.7 Runtime Semantics: Evaluation [...] diff --git a/test/language/statements/class/accessor-name-inst/literal-numeric-hex.js b/test/language/statements/class/accessor-name-inst/literal-numeric-hex.js index 656562df6c..fea8d47e8d 100644 --- a/test/language/statements/class/accessor-name-inst/literal-numeric-hex.js +++ b/test/language/statements/class/accessor-name-inst/literal-numeric-hex.js @@ -4,6 +4,7 @@ /*--- description: Computed values as accessor property names (numeric literal in hexadecimal notation) (Class declaration, instance method) esid: sec-runtime-semantics-classdefinitionevaluation +features: [class] flags: [generated] info: | [...] @@ -12,6 +13,7 @@ info: | i. Let status be the result of performing PropertyDefinitionEvaluation for m with arguments proto and false. + 12.2.6.7 Runtime Semantics: Evaluation [...] diff --git a/test/language/statements/class/accessor-name-inst/literal-numeric-leading-decimal.js b/test/language/statements/class/accessor-name-inst/literal-numeric-leading-decimal.js index 8c1470a292..6c960ea3de 100644 --- a/test/language/statements/class/accessor-name-inst/literal-numeric-leading-decimal.js +++ b/test/language/statements/class/accessor-name-inst/literal-numeric-leading-decimal.js @@ -4,6 +4,7 @@ /*--- description: Computed values as accessor property names (numeric literal with leading decimal point) (Class declaration, instance method) esid: sec-runtime-semantics-classdefinitionevaluation +features: [class] flags: [generated] info: | [...] @@ -12,6 +13,7 @@ info: | i. Let status be the result of performing PropertyDefinitionEvaluation for m with arguments proto and false. + 12.2.6.7 Runtime Semantics: Evaluation [...] diff --git a/test/language/statements/class/accessor-name-inst/literal-numeric-non-canonical.js b/test/language/statements/class/accessor-name-inst/literal-numeric-non-canonical.js index 14ca45c198..31ee3925d9 100644 --- a/test/language/statements/class/accessor-name-inst/literal-numeric-non-canonical.js +++ b/test/language/statements/class/accessor-name-inst/literal-numeric-non-canonical.js @@ -4,6 +4,7 @@ /*--- description: Computed values as accessor property names (numeric literal with non-canonical representation) (Class declaration, instance method) esid: sec-runtime-semantics-classdefinitionevaluation +features: [class] flags: [generated] info: | [...] @@ -12,6 +13,7 @@ info: | i. Let status be the result of performing PropertyDefinitionEvaluation for m with arguments proto and false. + 12.2.6.7 Runtime Semantics: Evaluation [...] diff --git a/test/language/statements/class/accessor-name-inst/literal-numeric-octal.js b/test/language/statements/class/accessor-name-inst/literal-numeric-octal.js index a656e8348e..e6a3b61b9d 100644 --- a/test/language/statements/class/accessor-name-inst/literal-numeric-octal.js +++ b/test/language/statements/class/accessor-name-inst/literal-numeric-octal.js @@ -4,6 +4,7 @@ /*--- description: Computed values as accessor property names (numeric literal in octal notation) (Class declaration, instance method) esid: sec-runtime-semantics-classdefinitionevaluation +features: [class] flags: [generated] info: | [...] @@ -12,6 +13,7 @@ info: | i. Let status be the result of performing PropertyDefinitionEvaluation for m with arguments proto and false. + 12.2.6.7 Runtime Semantics: Evaluation [...] diff --git a/test/language/statements/class/accessor-name-inst/literal-numeric-zero.js b/test/language/statements/class/accessor-name-inst/literal-numeric-zero.js index 96a59a3235..f7e8d29e83 100644 --- a/test/language/statements/class/accessor-name-inst/literal-numeric-zero.js +++ b/test/language/statements/class/accessor-name-inst/literal-numeric-zero.js @@ -4,6 +4,7 @@ /*--- description: Computed values as accessor property names (numeric literal zero) (Class declaration, instance method) esid: sec-runtime-semantics-classdefinitionevaluation +features: [class] flags: [generated] info: | [...] @@ -12,6 +13,7 @@ info: | i. Let status be the result of performing PropertyDefinitionEvaluation for m with arguments proto and false. + 12.2.6.7 Runtime Semantics: Evaluation [...] diff --git a/test/language/statements/class/accessor-name-inst/literal-string-char-escape.js b/test/language/statements/class/accessor-name-inst/literal-string-char-escape.js index 0a08d78e93..e95557e0d2 100644 --- a/test/language/statements/class/accessor-name-inst/literal-string-char-escape.js +++ b/test/language/statements/class/accessor-name-inst/literal-string-char-escape.js @@ -4,6 +4,7 @@ /*--- description: Computed values as accessor property names (string literal containing a character escape sequence) (Class declaration, instance method) esid: sec-runtime-semantics-classdefinitionevaluation +features: [class] flags: [generated] info: | [...] @@ -12,6 +13,7 @@ info: | i. Let status be the result of performing PropertyDefinitionEvaluation for m with arguments proto and false. + 12.2.6.7 Runtime Semantics: Evaluation [...] diff --git a/test/language/statements/class/accessor-name-inst/literal-string-default-escaped-ext.js b/test/language/statements/class/accessor-name-inst/literal-string-default-escaped-ext.js new file mode 100644 index 0000000000..ef9d8f80da --- /dev/null +++ b/test/language/statements/class/accessor-name-inst/literal-string-default-escaped-ext.js @@ -0,0 +1,38 @@ +// This file was procedurally generated from the following sources: +// - src/accessor-names/literal-string-default-escaped-ext.case +// - src/accessor-names/default/cls-decl-inst.template +/*--- +description: Computed values as accessor property names (string literal 'default' w/ extended escape) (Class declaration, instance method) +esid: sec-runtime-semantics-classdefinitionevaluation +features: [class] +flags: [generated] +info: | + [...] + 21. For each ClassElement m in order from methods + a. If IsStatic of m is false, then + i. Let status be the result of performing PropertyDefinitionEvaluation + for m with arguments proto and false. + + + 12.2.6.7 Runtime Semantics: Evaluation + + [...] + + ComputedPropertyName : [ AssignmentExpression ] + + 1. Let exprValue be the result of evaluating AssignmentExpression. + 2. Let propName be ? GetValue(exprValue). + 3. Return ? ToPropertyKey(propName). +---*/ + +var stringSet; + +class C { + get 'def\u{61}ult'() { return 'get string'; } + set 'def\u{61}ult'(param) { stringSet = param; } +} + +assert.sameValue(C.prototype['default'], 'get string'); + +C.prototype['default'] = 'set string'; +assert.sameValue(stringSet, 'set string'); diff --git a/test/language/statements/class/accessor-name-inst/literal-string-default-escaped.js b/test/language/statements/class/accessor-name-inst/literal-string-default-escaped.js new file mode 100644 index 0000000000..0f9c19cd6a --- /dev/null +++ b/test/language/statements/class/accessor-name-inst/literal-string-default-escaped.js @@ -0,0 +1,38 @@ +// This file was procedurally generated from the following sources: +// - src/accessor-names/literal-string-default-escaped.case +// - src/accessor-names/default/cls-decl-inst.template +/*--- +description: Computed values as accessor property names (string literal 'default' escaped) (Class declaration, instance method) +esid: sec-runtime-semantics-classdefinitionevaluation +features: [class] +flags: [generated] +info: | + [...] + 21. For each ClassElement m in order from methods + a. If IsStatic of m is false, then + i. Let status be the result of performing PropertyDefinitionEvaluation + for m with arguments proto and false. + + + 12.2.6.7 Runtime Semantics: Evaluation + + [...] + + ComputedPropertyName : [ AssignmentExpression ] + + 1. Let exprValue be the result of evaluating AssignmentExpression. + 2. Let propName be ? GetValue(exprValue). + 3. Return ? ToPropertyKey(propName). +---*/ + +var stringSet; + +class C { + get 'def\u0061ult'() { return 'get string'; } + set 'def\u0061ult'(param) { stringSet = param; } +} + +assert.sameValue(C.prototype['default'], 'get string'); + +C.prototype['default'] = 'set string'; +assert.sameValue(stringSet, 'set string'); diff --git a/test/language/statements/class/accessor-name-inst/literal-string-default.js b/test/language/statements/class/accessor-name-inst/literal-string-default.js new file mode 100644 index 0000000000..91bba54b51 --- /dev/null +++ b/test/language/statements/class/accessor-name-inst/literal-string-default.js @@ -0,0 +1,38 @@ +// This file was procedurally generated from the following sources: +// - src/accessor-names/literal-string-default.case +// - src/accessor-names/default/cls-decl-inst.template +/*--- +description: Computed values as accessor property names (string literal 'default') (Class declaration, instance method) +esid: sec-runtime-semantics-classdefinitionevaluation +features: [class] +flags: [generated] +info: | + [...] + 21. For each ClassElement m in order from methods + a. If IsStatic of m is false, then + i. Let status be the result of performing PropertyDefinitionEvaluation + for m with arguments proto and false. + + + 12.2.6.7 Runtime Semantics: Evaluation + + [...] + + ComputedPropertyName : [ AssignmentExpression ] + + 1. Let exprValue be the result of evaluating AssignmentExpression. + 2. Let propName be ? GetValue(exprValue). + 3. Return ? ToPropertyKey(propName). +---*/ + +var stringSet; + +class C { + get 'default'() { return 'get string'; } + set 'default'(param) { stringSet = param; } +} + +assert.sameValue(C.prototype['default'], 'get string'); + +C.prototype['default'] = 'set string'; +assert.sameValue(stringSet, 'set string'); diff --git a/test/language/statements/class/accessor-name-inst/literal-string-double-quote.js b/test/language/statements/class/accessor-name-inst/literal-string-double-quote.js index a8db0f9fe4..3b09c25ae6 100644 --- a/test/language/statements/class/accessor-name-inst/literal-string-double-quote.js +++ b/test/language/statements/class/accessor-name-inst/literal-string-double-quote.js @@ -4,6 +4,7 @@ /*--- description: Computed values as accessor property names (string literal using double quotes) (Class declaration, instance method) esid: sec-runtime-semantics-classdefinitionevaluation +features: [class] flags: [generated] info: | [...] @@ -12,6 +13,7 @@ info: | i. Let status be the result of performing PropertyDefinitionEvaluation for m with arguments proto and false. + 12.2.6.7 Runtime Semantics: Evaluation [...] diff --git a/test/language/statements/class/accessor-name-inst/literal-string-empty.js b/test/language/statements/class/accessor-name-inst/literal-string-empty.js index 5edc8efc1f..09e40ba60b 100644 --- a/test/language/statements/class/accessor-name-inst/literal-string-empty.js +++ b/test/language/statements/class/accessor-name-inst/literal-string-empty.js @@ -4,6 +4,7 @@ /*--- description: Computed values as accessor property names (string literal, the empty string) (Class declaration, instance method) esid: sec-runtime-semantics-classdefinitionevaluation +features: [class] flags: [generated] info: | [...] @@ -12,6 +13,7 @@ info: | i. Let status be the result of performing PropertyDefinitionEvaluation for m with arguments proto and false. + 12.2.6.7 Runtime Semantics: Evaluation [...] diff --git a/test/language/statements/class/accessor-name-inst/literal-string-hex-escape.js b/test/language/statements/class/accessor-name-inst/literal-string-hex-escape.js index a6c2cfa0b3..b2a0ae95c5 100644 --- a/test/language/statements/class/accessor-name-inst/literal-string-hex-escape.js +++ b/test/language/statements/class/accessor-name-inst/literal-string-hex-escape.js @@ -4,6 +4,7 @@ /*--- description: Computed values as accessor property names (string literal containing a hexadecimal escape sequence) (Class declaration, instance method) esid: sec-runtime-semantics-classdefinitionevaluation +features: [class] flags: [generated] info: | [...] @@ -12,6 +13,7 @@ info: | i. Let status be the result of performing PropertyDefinitionEvaluation for m with arguments proto and false. + 12.2.6.7 Runtime Semantics: Evaluation [...] diff --git a/test/language/statements/class/accessor-name-inst/literal-string-line-continuation.js b/test/language/statements/class/accessor-name-inst/literal-string-line-continuation.js index 2c905fcb92..a248dfcd72 100644 --- a/test/language/statements/class/accessor-name-inst/literal-string-line-continuation.js +++ b/test/language/statements/class/accessor-name-inst/literal-string-line-continuation.js @@ -4,6 +4,7 @@ /*--- description: Computed values as accessor property names (string literal containing LineContinuation) (Class declaration, instance method) esid: sec-runtime-semantics-classdefinitionevaluation +features: [class] flags: [generated] info: | [...] @@ -12,6 +13,7 @@ info: | i. Let status be the result of performing PropertyDefinitionEvaluation for m with arguments proto and false. + 12.2.6.7 Runtime Semantics: Evaluation [...] diff --git a/test/language/statements/class/accessor-name-inst/literal-string-single-quote.js b/test/language/statements/class/accessor-name-inst/literal-string-single-quote.js index a6d57b6b3c..0d071751bf 100644 --- a/test/language/statements/class/accessor-name-inst/literal-string-single-quote.js +++ b/test/language/statements/class/accessor-name-inst/literal-string-single-quote.js @@ -4,6 +4,7 @@ /*--- description: Computed values as accessor property names (string literal using single quotes) (Class declaration, instance method) esid: sec-runtime-semantics-classdefinitionevaluation +features: [class] flags: [generated] info: | [...] @@ -12,6 +13,7 @@ info: | i. Let status be the result of performing PropertyDefinitionEvaluation for m with arguments proto and false. + 12.2.6.7 Runtime Semantics: Evaluation [...] diff --git a/test/language/statements/class/accessor-name-inst/literal-string-unicode-escape.js b/test/language/statements/class/accessor-name-inst/literal-string-unicode-escape.js index 7f80b33d72..6c3cd87291 100644 --- a/test/language/statements/class/accessor-name-inst/literal-string-unicode-escape.js +++ b/test/language/statements/class/accessor-name-inst/literal-string-unicode-escape.js @@ -4,6 +4,7 @@ /*--- description: Computed values as accessor property names (string literal containing a Unicode escape sequence) (Class declaration, instance method) esid: sec-runtime-semantics-classdefinitionevaluation +features: [class] flags: [generated] info: | [...] @@ -12,6 +13,7 @@ info: | i. Let status be the result of performing PropertyDefinitionEvaluation for m with arguments proto and false. + 12.2.6.7 Runtime Semantics: Evaluation [...] diff --git a/test/language/statements/class/accessor-name-static/computed-err-evaluation.js b/test/language/statements/class/accessor-name-static/computed-err-evaluation.js index 87da054607..134e07edd6 100644 --- a/test/language/statements/class/accessor-name-static/computed-err-evaluation.js +++ b/test/language/statements/class/accessor-name-static/computed-err-evaluation.js @@ -4,6 +4,7 @@ /*--- description: Abrupt completion when evaluating expression (Class declaration, static method) esid: sec-runtime-semantics-classdefinitionevaluation +features: [class] flags: [generated] info: | [...] @@ -14,6 +15,7 @@ info: | a. Let status be the result of performing PropertyDefinitionEvaluation for m with arguments F and false. + 12.2.6.7 Runtime Semantics: Evaluation ComputedPropertyName : [ AssignmentExpression ] diff --git a/test/language/statements/class/accessor-name-static/computed-err-to-prop-key.js b/test/language/statements/class/accessor-name-static/computed-err-to-prop-key.js index 48c158d259..a73a00376b 100644 --- a/test/language/statements/class/accessor-name-static/computed-err-to-prop-key.js +++ b/test/language/statements/class/accessor-name-static/computed-err-to-prop-key.js @@ -4,6 +4,7 @@ /*--- description: Abrupt completion when coercing to property key value (Class declaration, static method) esid: sec-runtime-semantics-classdefinitionevaluation +features: [class] flags: [generated] info: | [...] @@ -14,6 +15,7 @@ info: | a. Let status be the result of performing PropertyDefinitionEvaluation for m with arguments F and false. + 12.2.6.7 Runtime Semantics: Evaluation [...] diff --git a/test/language/statements/class/accessor-name-static/computed-err-unresolvable.js b/test/language/statements/class/accessor-name-static/computed-err-unresolvable.js index 2835e6eb8b..4f1fe191c6 100644 --- a/test/language/statements/class/accessor-name-static/computed-err-unresolvable.js +++ b/test/language/statements/class/accessor-name-static/computed-err-unresolvable.js @@ -4,6 +4,7 @@ /*--- description: Abrupt completion when resolving reference value (Class declaration, static method) esid: sec-runtime-semantics-classdefinitionevaluation +features: [class] flags: [generated] info: | [...] @@ -14,6 +15,7 @@ info: | a. Let status be the result of performing PropertyDefinitionEvaluation for m with arguments F and false. + 12.2.6.7 Runtime Semantics: Evaluation [...] diff --git a/test/language/statements/class/accessor-name-static/computed.js b/test/language/statements/class/accessor-name-static/computed.js index d3ced7e088..df995b4897 100644 --- a/test/language/statements/class/accessor-name-static/computed.js +++ b/test/language/statements/class/accessor-name-static/computed.js @@ -4,6 +4,7 @@ /*--- description: Computed values as accessor property names (AssignmentExpression) (Class declaration, static method) esid: sec-runtime-semantics-classdefinitionevaluation +features: [class] flags: [generated] info: | [...] @@ -14,6 +15,7 @@ info: | a. Let status be the result of performing PropertyDefinitionEvaluation for m with arguments F and false. + 12.2.6.7 Runtime Semantics: Evaluation [...] diff --git a/test/language/statements/class/accessor-name-static/literal-numeric-binary.js b/test/language/statements/class/accessor-name-static/literal-numeric-binary.js index 5bf2c98f48..d3625d8b82 100644 --- a/test/language/statements/class/accessor-name-static/literal-numeric-binary.js +++ b/test/language/statements/class/accessor-name-static/literal-numeric-binary.js @@ -4,6 +4,7 @@ /*--- description: Computed values as accessor property names (numeric literal in binary notation) (Class declaration, static method) esid: sec-runtime-semantics-classdefinitionevaluation +features: [class] flags: [generated] info: | [...] @@ -14,6 +15,7 @@ info: | a. Let status be the result of performing PropertyDefinitionEvaluation for m with arguments F and false. + 12.2.6.7 Runtime Semantics: Evaluation [...] diff --git a/test/language/statements/class/accessor-name-static/literal-numeric-exponent.js b/test/language/statements/class/accessor-name-static/literal-numeric-exponent.js index a4fc26e48e..8c956dd96d 100644 --- a/test/language/statements/class/accessor-name-static/literal-numeric-exponent.js +++ b/test/language/statements/class/accessor-name-static/literal-numeric-exponent.js @@ -4,6 +4,7 @@ /*--- description: Computed values as accessor property names (numeric literal in exponent notation) (Class declaration, static method) esid: sec-runtime-semantics-classdefinitionevaluation +features: [class] flags: [generated] info: | [...] @@ -14,6 +15,7 @@ info: | a. Let status be the result of performing PropertyDefinitionEvaluation for m with arguments F and false. + 12.2.6.7 Runtime Semantics: Evaluation [...] diff --git a/test/language/statements/class/accessor-name-static/literal-numeric-hex.js b/test/language/statements/class/accessor-name-static/literal-numeric-hex.js index d256c67b72..552f60fbb1 100644 --- a/test/language/statements/class/accessor-name-static/literal-numeric-hex.js +++ b/test/language/statements/class/accessor-name-static/literal-numeric-hex.js @@ -4,6 +4,7 @@ /*--- description: Computed values as accessor property names (numeric literal in hexadecimal notation) (Class declaration, static method) esid: sec-runtime-semantics-classdefinitionevaluation +features: [class] flags: [generated] info: | [...] @@ -14,6 +15,7 @@ info: | a. Let status be the result of performing PropertyDefinitionEvaluation for m with arguments F and false. + 12.2.6.7 Runtime Semantics: Evaluation [...] diff --git a/test/language/statements/class/accessor-name-static/literal-numeric-leading-decimal.js b/test/language/statements/class/accessor-name-static/literal-numeric-leading-decimal.js index 19dddc6413..0a1982ec90 100644 --- a/test/language/statements/class/accessor-name-static/literal-numeric-leading-decimal.js +++ b/test/language/statements/class/accessor-name-static/literal-numeric-leading-decimal.js @@ -4,6 +4,7 @@ /*--- description: Computed values as accessor property names (numeric literal with leading decimal point) (Class declaration, static method) esid: sec-runtime-semantics-classdefinitionevaluation +features: [class] flags: [generated] info: | [...] @@ -14,6 +15,7 @@ info: | a. Let status be the result of performing PropertyDefinitionEvaluation for m with arguments F and false. + 12.2.6.7 Runtime Semantics: Evaluation [...] diff --git a/test/language/statements/class/accessor-name-static/literal-numeric-non-canonical.js b/test/language/statements/class/accessor-name-static/literal-numeric-non-canonical.js index f3e6f62982..b739cc4147 100644 --- a/test/language/statements/class/accessor-name-static/literal-numeric-non-canonical.js +++ b/test/language/statements/class/accessor-name-static/literal-numeric-non-canonical.js @@ -4,6 +4,7 @@ /*--- description: Computed values as accessor property names (numeric literal with non-canonical representation) (Class declaration, static method) esid: sec-runtime-semantics-classdefinitionevaluation +features: [class] flags: [generated] info: | [...] @@ -14,6 +15,7 @@ info: | a. Let status be the result of performing PropertyDefinitionEvaluation for m with arguments F and false. + 12.2.6.7 Runtime Semantics: Evaluation [...] diff --git a/test/language/statements/class/accessor-name-static/literal-numeric-octal.js b/test/language/statements/class/accessor-name-static/literal-numeric-octal.js index 9cb320cece..7cc4b5acfb 100644 --- a/test/language/statements/class/accessor-name-static/literal-numeric-octal.js +++ b/test/language/statements/class/accessor-name-static/literal-numeric-octal.js @@ -4,6 +4,7 @@ /*--- description: Computed values as accessor property names (numeric literal in octal notation) (Class declaration, static method) esid: sec-runtime-semantics-classdefinitionevaluation +features: [class] flags: [generated] info: | [...] @@ -14,6 +15,7 @@ info: | a. Let status be the result of performing PropertyDefinitionEvaluation for m with arguments F and false. + 12.2.6.7 Runtime Semantics: Evaluation [...] diff --git a/test/language/statements/class/accessor-name-static/literal-numeric-zero.js b/test/language/statements/class/accessor-name-static/literal-numeric-zero.js index 15ac20eed2..c0e15dc890 100644 --- a/test/language/statements/class/accessor-name-static/literal-numeric-zero.js +++ b/test/language/statements/class/accessor-name-static/literal-numeric-zero.js @@ -4,6 +4,7 @@ /*--- description: Computed values as accessor property names (numeric literal zero) (Class declaration, static method) esid: sec-runtime-semantics-classdefinitionevaluation +features: [class] flags: [generated] info: | [...] @@ -14,6 +15,7 @@ info: | a. Let status be the result of performing PropertyDefinitionEvaluation for m with arguments F and false. + 12.2.6.7 Runtime Semantics: Evaluation [...] diff --git a/test/language/statements/class/accessor-name-static/literal-string-char-escape.js b/test/language/statements/class/accessor-name-static/literal-string-char-escape.js index a961c22441..49716a4d4d 100644 --- a/test/language/statements/class/accessor-name-static/literal-string-char-escape.js +++ b/test/language/statements/class/accessor-name-static/literal-string-char-escape.js @@ -4,6 +4,7 @@ /*--- description: Computed values as accessor property names (string literal containing a character escape sequence) (Class declaration, static method) esid: sec-runtime-semantics-classdefinitionevaluation +features: [class] flags: [generated] info: | [...] @@ -14,6 +15,7 @@ info: | a. Let status be the result of performing PropertyDefinitionEvaluation for m with arguments F and false. + 12.2.6.7 Runtime Semantics: Evaluation [...] diff --git a/test/language/statements/class/accessor-name-static/literal-string-default-escaped-ext.js b/test/language/statements/class/accessor-name-static/literal-string-default-escaped-ext.js new file mode 100644 index 0000000000..e0f1242ac7 --- /dev/null +++ b/test/language/statements/class/accessor-name-static/literal-string-default-escaped-ext.js @@ -0,0 +1,40 @@ +// This file was procedurally generated from the following sources: +// - src/accessor-names/literal-string-default-escaped-ext.case +// - src/accessor-names/default/cls-decl-static.template +/*--- +description: Computed values as accessor property names (string literal 'default' w/ extended escape) (Class declaration, static method) +esid: sec-runtime-semantics-classdefinitionevaluation +features: [class] +flags: [generated] +info: | + [...] + 21. For each ClassElement m in order from methods + a. If IsStatic of m is false, then + [...] + b. Else, + a. Let status be the result of performing PropertyDefinitionEvaluation + for m with arguments F and false. + + + 12.2.6.7 Runtime Semantics: Evaluation + + [...] + + ComputedPropertyName : [ AssignmentExpression ] + + 1. Let exprValue be the result of evaluating AssignmentExpression. + 2. Let propName be ? GetValue(exprValue). + 3. Return ? ToPropertyKey(propName). +---*/ + +var stringSet; + +class C { + static get 'def\u{61}ult'() { return 'get string'; } + static set 'def\u{61}ult'(param) { stringSet = param; } +} + +assert.sameValue(C['default'], 'get string'); + +C['default'] = 'set string'; +assert.sameValue(stringSet, 'set string'); diff --git a/test/language/statements/class/accessor-name-static/literal-string-default-escaped.js b/test/language/statements/class/accessor-name-static/literal-string-default-escaped.js new file mode 100644 index 0000000000..29565f8774 --- /dev/null +++ b/test/language/statements/class/accessor-name-static/literal-string-default-escaped.js @@ -0,0 +1,40 @@ +// This file was procedurally generated from the following sources: +// - src/accessor-names/literal-string-default-escaped.case +// - src/accessor-names/default/cls-decl-static.template +/*--- +description: Computed values as accessor property names (string literal 'default' escaped) (Class declaration, static method) +esid: sec-runtime-semantics-classdefinitionevaluation +features: [class] +flags: [generated] +info: | + [...] + 21. For each ClassElement m in order from methods + a. If IsStatic of m is false, then + [...] + b. Else, + a. Let status be the result of performing PropertyDefinitionEvaluation + for m with arguments F and false. + + + 12.2.6.7 Runtime Semantics: Evaluation + + [...] + + ComputedPropertyName : [ AssignmentExpression ] + + 1. Let exprValue be the result of evaluating AssignmentExpression. + 2. Let propName be ? GetValue(exprValue). + 3. Return ? ToPropertyKey(propName). +---*/ + +var stringSet; + +class C { + static get 'def\u0061ult'() { return 'get string'; } + static set 'def\u0061ult'(param) { stringSet = param; } +} + +assert.sameValue(C['default'], 'get string'); + +C['default'] = 'set string'; +assert.sameValue(stringSet, 'set string'); diff --git a/test/language/statements/class/accessor-name-static/literal-string-default.js b/test/language/statements/class/accessor-name-static/literal-string-default.js new file mode 100644 index 0000000000..d73f4606f1 --- /dev/null +++ b/test/language/statements/class/accessor-name-static/literal-string-default.js @@ -0,0 +1,40 @@ +// This file was procedurally generated from the following sources: +// - src/accessor-names/literal-string-default.case +// - src/accessor-names/default/cls-decl-static.template +/*--- +description: Computed values as accessor property names (string literal 'default') (Class declaration, static method) +esid: sec-runtime-semantics-classdefinitionevaluation +features: [class] +flags: [generated] +info: | + [...] + 21. For each ClassElement m in order from methods + a. If IsStatic of m is false, then + [...] + b. Else, + a. Let status be the result of performing PropertyDefinitionEvaluation + for m with arguments F and false. + + + 12.2.6.7 Runtime Semantics: Evaluation + + [...] + + ComputedPropertyName : [ AssignmentExpression ] + + 1. Let exprValue be the result of evaluating AssignmentExpression. + 2. Let propName be ? GetValue(exprValue). + 3. Return ? ToPropertyKey(propName). +---*/ + +var stringSet; + +class C { + static get 'default'() { return 'get string'; } + static set 'default'(param) { stringSet = param; } +} + +assert.sameValue(C['default'], 'get string'); + +C['default'] = 'set string'; +assert.sameValue(stringSet, 'set string'); diff --git a/test/language/statements/class/accessor-name-static/literal-string-double-quote.js b/test/language/statements/class/accessor-name-static/literal-string-double-quote.js index 792c9cd4b1..b218c7b56f 100644 --- a/test/language/statements/class/accessor-name-static/literal-string-double-quote.js +++ b/test/language/statements/class/accessor-name-static/literal-string-double-quote.js @@ -4,6 +4,7 @@ /*--- description: Computed values as accessor property names (string literal using double quotes) (Class declaration, static method) esid: sec-runtime-semantics-classdefinitionevaluation +features: [class] flags: [generated] info: | [...] @@ -14,6 +15,7 @@ info: | a. Let status be the result of performing PropertyDefinitionEvaluation for m with arguments F and false. + 12.2.6.7 Runtime Semantics: Evaluation [...] diff --git a/test/language/statements/class/accessor-name-static/literal-string-empty.js b/test/language/statements/class/accessor-name-static/literal-string-empty.js index b9e4cff295..92ba10d398 100644 --- a/test/language/statements/class/accessor-name-static/literal-string-empty.js +++ b/test/language/statements/class/accessor-name-static/literal-string-empty.js @@ -4,6 +4,7 @@ /*--- description: Computed values as accessor property names (string literal, the empty string) (Class declaration, static method) esid: sec-runtime-semantics-classdefinitionevaluation +features: [class] flags: [generated] info: | [...] @@ -14,6 +15,7 @@ info: | a. Let status be the result of performing PropertyDefinitionEvaluation for m with arguments F and false. + 12.2.6.7 Runtime Semantics: Evaluation [...] diff --git a/test/language/statements/class/accessor-name-static/literal-string-hex-escape.js b/test/language/statements/class/accessor-name-static/literal-string-hex-escape.js index 070bc21eea..8e8a62f886 100644 --- a/test/language/statements/class/accessor-name-static/literal-string-hex-escape.js +++ b/test/language/statements/class/accessor-name-static/literal-string-hex-escape.js @@ -4,6 +4,7 @@ /*--- description: Computed values as accessor property names (string literal containing a hexadecimal escape sequence) (Class declaration, static method) esid: sec-runtime-semantics-classdefinitionevaluation +features: [class] flags: [generated] info: | [...] @@ -14,6 +15,7 @@ info: | a. Let status be the result of performing PropertyDefinitionEvaluation for m with arguments F and false. + 12.2.6.7 Runtime Semantics: Evaluation [...] diff --git a/test/language/statements/class/accessor-name-static/literal-string-line-continuation.js b/test/language/statements/class/accessor-name-static/literal-string-line-continuation.js index bc5ec52a03..dce5d6f13c 100644 --- a/test/language/statements/class/accessor-name-static/literal-string-line-continuation.js +++ b/test/language/statements/class/accessor-name-static/literal-string-line-continuation.js @@ -4,6 +4,7 @@ /*--- description: Computed values as accessor property names (string literal containing LineContinuation) (Class declaration, static method) esid: sec-runtime-semantics-classdefinitionevaluation +features: [class] flags: [generated] info: | [...] @@ -14,6 +15,7 @@ info: | a. Let status be the result of performing PropertyDefinitionEvaluation for m with arguments F and false. + 12.2.6.7 Runtime Semantics: Evaluation [...] diff --git a/test/language/statements/class/accessor-name-static/literal-string-single-quote.js b/test/language/statements/class/accessor-name-static/literal-string-single-quote.js index a521991c0c..dd36b17279 100644 --- a/test/language/statements/class/accessor-name-static/literal-string-single-quote.js +++ b/test/language/statements/class/accessor-name-static/literal-string-single-quote.js @@ -4,6 +4,7 @@ /*--- description: Computed values as accessor property names (string literal using single quotes) (Class declaration, static method) esid: sec-runtime-semantics-classdefinitionevaluation +features: [class] flags: [generated] info: | [...] @@ -14,6 +15,7 @@ info: | a. Let status be the result of performing PropertyDefinitionEvaluation for m with arguments F and false. + 12.2.6.7 Runtime Semantics: Evaluation [...] diff --git a/test/language/statements/class/accessor-name-static/literal-string-unicode-escape.js b/test/language/statements/class/accessor-name-static/literal-string-unicode-escape.js index c273d33eec..d02549a388 100644 --- a/test/language/statements/class/accessor-name-static/literal-string-unicode-escape.js +++ b/test/language/statements/class/accessor-name-static/literal-string-unicode-escape.js @@ -4,6 +4,7 @@ /*--- description: Computed values as accessor property names (string literal containing a Unicode escape sequence) (Class declaration, static method) esid: sec-runtime-semantics-classdefinitionevaluation +features: [class] flags: [generated] info: | [...] @@ -14,6 +15,7 @@ info: | a. Let status be the result of performing PropertyDefinitionEvaluation for m with arguments F and false. + 12.2.6.7 Runtime Semantics: Evaluation [...] diff --git a/test/language/statements/class/elements/private-accessor-name/inst-private-escape-sequence-ZWJ.js b/test/language/statements/class/elements/private-accessor-name/inst-private-escape-sequence-ZWJ.js index 86e72881b7..f437f55f1d 100644 --- a/test/language/statements/class/elements/private-accessor-name/inst-private-escape-sequence-ZWJ.js +++ b/test/language/statements/class/elements/private-accessor-name/inst-private-escape-sequence-ZWJ.js @@ -3,7 +3,7 @@ // - src/accessor-names/private/cls-private-decl-inst.template /*--- description: Private IdentifierName - ZWJ (Class declaration, private instance method) -features: [class-methods-private] +features: [class, class-methods-private] flags: [generated] info: | ClassElement : diff --git a/test/language/statements/class/elements/private-accessor-name/inst-private-escape-sequence-ZWNJ.js b/test/language/statements/class/elements/private-accessor-name/inst-private-escape-sequence-ZWNJ.js index 8909f000f2..74f9ddd4b3 100644 --- a/test/language/statements/class/elements/private-accessor-name/inst-private-escape-sequence-ZWNJ.js +++ b/test/language/statements/class/elements/private-accessor-name/inst-private-escape-sequence-ZWNJ.js @@ -3,7 +3,7 @@ // - src/accessor-names/private/cls-private-decl-inst.template /*--- description: Private IdentifierName - ZWNJ (Class declaration, private instance method) -features: [class-methods-private] +features: [class, class-methods-private] flags: [generated] info: | ClassElement : diff --git a/test/language/statements/class/elements/private-accessor-name/inst-private-escape-sequence-u2118.js b/test/language/statements/class/elements/private-accessor-name/inst-private-escape-sequence-u2118.js index 0bb3ee2661..cf41d42807 100644 --- a/test/language/statements/class/elements/private-accessor-name/inst-private-escape-sequence-u2118.js +++ b/test/language/statements/class/elements/private-accessor-name/inst-private-escape-sequence-u2118.js @@ -3,7 +3,7 @@ // - src/accessor-names/private/cls-private-decl-inst.template /*--- description: Private IdentifierName - u2118 (℘) (Class declaration, private instance method) -features: [class-methods-private] +features: [class, class-methods-private] flags: [generated] info: | ClassElement : diff --git a/test/language/statements/class/elements/private-accessor-name/inst-private-escape-sequence-u6F.js b/test/language/statements/class/elements/private-accessor-name/inst-private-escape-sequence-u6F.js index 97204c97f3..2eac06fd92 100644 --- a/test/language/statements/class/elements/private-accessor-name/inst-private-escape-sequence-u6F.js +++ b/test/language/statements/class/elements/private-accessor-name/inst-private-escape-sequence-u6F.js @@ -3,7 +3,7 @@ // - src/accessor-names/private/cls-private-decl-inst.template /*--- description: Private IdentifierName - u6F (o) (Class declaration, private instance method) -features: [class-methods-private] +features: [class, class-methods-private] flags: [generated] info: | ClassElement : diff --git a/test/language/statements/class/elements/private-accessor-name/inst-private-name-ZWJ.js b/test/language/statements/class/elements/private-accessor-name/inst-private-name-ZWJ.js index 71edcfbe7b..7fd12273a9 100644 --- a/test/language/statements/class/elements/private-accessor-name/inst-private-name-ZWJ.js +++ b/test/language/statements/class/elements/private-accessor-name/inst-private-name-ZWJ.js @@ -3,7 +3,7 @@ // - src/accessor-names/private/cls-private-decl-inst.template /*--- description: Private IdentifierName - ZWJ (Class declaration, private instance method) -features: [class-methods-private] +features: [class, class-methods-private] flags: [generated] info: | ClassElement : diff --git a/test/language/statements/class/elements/private-accessor-name/inst-private-name-ZWNJ.js b/test/language/statements/class/elements/private-accessor-name/inst-private-name-ZWNJ.js index ceda684296..f1adbc4495 100644 --- a/test/language/statements/class/elements/private-accessor-name/inst-private-name-ZWNJ.js +++ b/test/language/statements/class/elements/private-accessor-name/inst-private-name-ZWNJ.js @@ -3,7 +3,7 @@ // - src/accessor-names/private/cls-private-decl-inst.template /*--- description: Private IdentifierName - ZWNJ (Class declaration, private instance method) -features: [class-methods-private] +features: [class, class-methods-private] flags: [generated] info: | ClassElement : diff --git a/test/language/statements/class/elements/private-accessor-name/inst-private-name-common.js b/test/language/statements/class/elements/private-accessor-name/inst-private-name-common.js index b4146435cc..af3dad8b70 100644 --- a/test/language/statements/class/elements/private-accessor-name/inst-private-name-common.js +++ b/test/language/statements/class/elements/private-accessor-name/inst-private-name-common.js @@ -3,7 +3,7 @@ // - src/accessor-names/private/cls-private-decl-inst.template /*--- description: Private IdentifierName - common (Class declaration, private instance method) -features: [class-methods-private] +features: [class, class-methods-private] flags: [generated] info: | ClassElement : diff --git a/test/language/statements/class/elements/private-accessor-name/inst-private-name-dollar.js b/test/language/statements/class/elements/private-accessor-name/inst-private-name-dollar.js index 8d4b53f563..2c154e0cd2 100644 --- a/test/language/statements/class/elements/private-accessor-name/inst-private-name-dollar.js +++ b/test/language/statements/class/elements/private-accessor-name/inst-private-name-dollar.js @@ -3,7 +3,7 @@ // - src/accessor-names/private/cls-private-decl-inst.template /*--- description: Private IdentifierName - $ (Class declaration, private instance method) -features: [class-methods-private] +features: [class, class-methods-private] flags: [generated] info: | ClassElement : diff --git a/test/language/statements/class/elements/private-accessor-name/inst-private-name-u2118.js b/test/language/statements/class/elements/private-accessor-name/inst-private-name-u2118.js index d5415324dc..151cf927d0 100644 --- a/test/language/statements/class/elements/private-accessor-name/inst-private-name-u2118.js +++ b/test/language/statements/class/elements/private-accessor-name/inst-private-name-u2118.js @@ -3,7 +3,7 @@ // - src/accessor-names/private/cls-private-decl-inst.template /*--- description: Private IdentifierName - ℘ (Class declaration, private instance method) -features: [class-methods-private] +features: [class, class-methods-private] flags: [generated] info: | ClassElement : diff --git a/test/language/statements/class/elements/private-accessor-name/inst-private-name-underscore.js b/test/language/statements/class/elements/private-accessor-name/inst-private-name-underscore.js index 269b8563b3..a8a06af10a 100644 --- a/test/language/statements/class/elements/private-accessor-name/inst-private-name-underscore.js +++ b/test/language/statements/class/elements/private-accessor-name/inst-private-name-underscore.js @@ -3,7 +3,7 @@ // - src/accessor-names/private/cls-private-decl-inst.template /*--- description: Private IdentifierName - _ (Class declaration, private instance method) -features: [class-methods-private] +features: [class, class-methods-private] flags: [generated] info: | ClassElement : diff --git a/test/language/statements/class/elements/private-accessor-name/static-private-escape-sequence-ZWJ.js b/test/language/statements/class/elements/private-accessor-name/static-private-escape-sequence-ZWJ.js index 6361a95580..d47bce5fa6 100644 --- a/test/language/statements/class/elements/private-accessor-name/static-private-escape-sequence-ZWJ.js +++ b/test/language/statements/class/elements/private-accessor-name/static-private-escape-sequence-ZWJ.js @@ -3,7 +3,7 @@ // - src/accessor-names/private/cls-private-decl-static.template /*--- description: Private IdentifierName - ZWJ (Class declaration, static method) -features: [class-static-methods-private] +features: [class, class-static-methods-private] flags: [generated] info: | ClassElement : diff --git a/test/language/statements/class/elements/private-accessor-name/static-private-escape-sequence-ZWNJ.js b/test/language/statements/class/elements/private-accessor-name/static-private-escape-sequence-ZWNJ.js index 4ef6dbd18c..966044a068 100644 --- a/test/language/statements/class/elements/private-accessor-name/static-private-escape-sequence-ZWNJ.js +++ b/test/language/statements/class/elements/private-accessor-name/static-private-escape-sequence-ZWNJ.js @@ -3,7 +3,7 @@ // - src/accessor-names/private/cls-private-decl-static.template /*--- description: Private IdentifierName - ZWNJ (Class declaration, static method) -features: [class-static-methods-private] +features: [class, class-static-methods-private] flags: [generated] info: | ClassElement : diff --git a/test/language/statements/class/elements/private-accessor-name/static-private-escape-sequence-u2118.js b/test/language/statements/class/elements/private-accessor-name/static-private-escape-sequence-u2118.js index 5c8d230742..4a4f3ffc44 100644 --- a/test/language/statements/class/elements/private-accessor-name/static-private-escape-sequence-u2118.js +++ b/test/language/statements/class/elements/private-accessor-name/static-private-escape-sequence-u2118.js @@ -3,7 +3,7 @@ // - src/accessor-names/private/cls-private-decl-static.template /*--- description: Private IdentifierName - u2118 (℘) (Class declaration, static method) -features: [class-static-methods-private] +features: [class, class-static-methods-private] flags: [generated] info: | ClassElement : diff --git a/test/language/statements/class/elements/private-accessor-name/static-private-escape-sequence-u6F.js b/test/language/statements/class/elements/private-accessor-name/static-private-escape-sequence-u6F.js index 96b979767f..ff0a79972c 100644 --- a/test/language/statements/class/elements/private-accessor-name/static-private-escape-sequence-u6F.js +++ b/test/language/statements/class/elements/private-accessor-name/static-private-escape-sequence-u6F.js @@ -3,7 +3,7 @@ // - src/accessor-names/private/cls-private-decl-static.template /*--- description: Private IdentifierName - u6F (o) (Class declaration, static method) -features: [class-static-methods-private] +features: [class, class-static-methods-private] flags: [generated] info: | ClassElement : diff --git a/test/language/statements/class/elements/private-accessor-name/static-private-name-ZWJ.js b/test/language/statements/class/elements/private-accessor-name/static-private-name-ZWJ.js index 242c8a99d5..205d1a9b58 100644 --- a/test/language/statements/class/elements/private-accessor-name/static-private-name-ZWJ.js +++ b/test/language/statements/class/elements/private-accessor-name/static-private-name-ZWJ.js @@ -3,7 +3,7 @@ // - src/accessor-names/private/cls-private-decl-static.template /*--- description: Private IdentifierName - ZWJ (Class declaration, static method) -features: [class-static-methods-private] +features: [class, class-static-methods-private] flags: [generated] info: | ClassElement : diff --git a/test/language/statements/class/elements/private-accessor-name/static-private-name-ZWNJ.js b/test/language/statements/class/elements/private-accessor-name/static-private-name-ZWNJ.js index 6b09197ecf..1216f2a7b5 100644 --- a/test/language/statements/class/elements/private-accessor-name/static-private-name-ZWNJ.js +++ b/test/language/statements/class/elements/private-accessor-name/static-private-name-ZWNJ.js @@ -3,7 +3,7 @@ // - src/accessor-names/private/cls-private-decl-static.template /*--- description: Private IdentifierName - ZWNJ (Class declaration, static method) -features: [class-static-methods-private] +features: [class, class-static-methods-private] flags: [generated] info: | ClassElement : diff --git a/test/language/statements/class/elements/private-accessor-name/static-private-name-common.js b/test/language/statements/class/elements/private-accessor-name/static-private-name-common.js index 9d9addde21..e33771e45e 100644 --- a/test/language/statements/class/elements/private-accessor-name/static-private-name-common.js +++ b/test/language/statements/class/elements/private-accessor-name/static-private-name-common.js @@ -3,7 +3,7 @@ // - src/accessor-names/private/cls-private-decl-static.template /*--- description: Private IdentifierName - common (Class declaration, static method) -features: [class-static-methods-private] +features: [class, class-static-methods-private] flags: [generated] info: | ClassElement : diff --git a/test/language/statements/class/elements/private-accessor-name/static-private-name-dollar.js b/test/language/statements/class/elements/private-accessor-name/static-private-name-dollar.js index 2004b81103..102ba721d3 100644 --- a/test/language/statements/class/elements/private-accessor-name/static-private-name-dollar.js +++ b/test/language/statements/class/elements/private-accessor-name/static-private-name-dollar.js @@ -3,7 +3,7 @@ // - src/accessor-names/private/cls-private-decl-static.template /*--- description: Private IdentifierName - $ (Class declaration, static method) -features: [class-static-methods-private] +features: [class, class-static-methods-private] flags: [generated] info: | ClassElement : diff --git a/test/language/statements/class/elements/private-accessor-name/static-private-name-u2118.js b/test/language/statements/class/elements/private-accessor-name/static-private-name-u2118.js index f5026b28e4..59223fd31e 100644 --- a/test/language/statements/class/elements/private-accessor-name/static-private-name-u2118.js +++ b/test/language/statements/class/elements/private-accessor-name/static-private-name-u2118.js @@ -3,7 +3,7 @@ // - src/accessor-names/private/cls-private-decl-static.template /*--- description: Private IdentifierName - ℘ (Class declaration, static method) -features: [class-static-methods-private] +features: [class, class-static-methods-private] flags: [generated] info: | ClassElement : diff --git a/test/language/statements/class/elements/private-accessor-name/static-private-name-underscore.js b/test/language/statements/class/elements/private-accessor-name/static-private-name-underscore.js index eacb64bc7b..89f0b4f7ee 100644 --- a/test/language/statements/class/elements/private-accessor-name/static-private-name-underscore.js +++ b/test/language/statements/class/elements/private-accessor-name/static-private-name-underscore.js @@ -3,7 +3,7 @@ // - src/accessor-names/private/cls-private-decl-static.template /*--- description: Private IdentifierName - _ (Class declaration, static method) -features: [class-static-methods-private] +features: [class, class-static-methods-private] flags: [generated] info: | ClassElement :