computed.js (1233B)
1 // This file was procedurally generated from the following sources: 2 // - src/accessor-names/computed.case 3 // - src/accessor-names/default/cls-expr-static.template 4 /*--- 5 description: Computed values as accessor property names (AssignmentExpression) (Class expression, static method) 6 esid: sec-runtime-semantics-classdefinitionevaluation 7 features: [class] 8 flags: [generated] 9 info: | 10 [...] 11 21. For each ClassElement m in order from methods 12 a. If IsStatic of m is false, then 13 [...] 14 b. Else, 15 a. Let status be the result of performing PropertyDefinitionEvaluation 16 for m with arguments F and false. 17 18 19 12.2.6.7 Runtime Semantics: Evaluation 20 21 [...] 22 23 ComputedPropertyName : [ AssignmentExpression ] 24 25 1. Let exprValue be the result of evaluating AssignmentExpression. 26 2. Let propName be ? GetValue(exprValue). 27 3. Return ? ToPropertyKey(propName). 28 ---*/ 29 var _; 30 31 32 var stringSet; 33 34 var C = class { 35 static get [_ = 'str' + 'ing']() { return 'get string'; } 36 static set [_ = 'str' + 'ing'](param) { stringSet = param; } 37 }; 38 39 assert.sameValue(C['string'], 'get string'); 40 41 C['string'] = 'set string'; 42 assert.sameValue(stringSet, 'set string'); 43 44 reportCompare(0, 0);