privatename-not-valid-eval-earlyerr-7.js (742B)
1 // Copyright (C) 2017 Valerie Young. All rights reserved. 2 // This code is governed by the BSD license found in the LICENSE file. 3 /*--- 4 esid: sec-scripts-static-semantics-early-errors 5 description: Early error when referencing privatename on object, outside of class. 6 info: | 7 Static Semantics: Early Errors 8 ScriptBody : StatementList 9 10 It is a Syntax Error if AllPrivateNamesValid of StatementList with an empty List as an argument is false unless the source code is eval code that is being processed by a direct eval. 11 12 features: [class-fields-private] 13 ---*/ 14 15 var executed = false; 16 var obj = {}; 17 18 assert.throws(SyntaxError, function() { 19 eval("executed = true; obj.#x;"); 20 }); 21 22 assert.sameValue(executed, false); 23 24 reportCompare(0, 0);