mirror of https://github.com/tc39/test262.git
25 lines
1.0 KiB
JavaScript
25 lines
1.0 KiB
JavaScript
// Copyright (C) 2019 Caio Lima (Igalia SL). All rights reserved.
|
|
// This code is governed by the BSD license found in the LICENSE file.
|
|
/*---
|
|
esid: sec-evaldeclarationinstantiation
|
|
description: EvalDeclarationInstantiation throws SyntaxError if there is some invalid private identifier on its body
|
|
info: |
|
|
EvalDeclarationInstantiation(body, varEnv, lexEnv, privateEnv, strict)
|
|
...
|
|
6. Let privateIdentifiers be an empty List.
|
|
7. Let privateEnv be privateEnv.
|
|
8. Repeat while privateEnv is not null,
|
|
a. For each binding named N in privateEnv,
|
|
i. If privateIdentifiers does not contain N, append N to privateIdentifiers.
|
|
b. Let privateEnv be privateEnv's outer environment reference.
|
|
9. If AllPrivateIdentifiersValid of body with the argument privateIdentifiers is false, throw a SyntaxError exception.
|
|
...
|
|
features: [class-fields-private]
|
|
---*/
|
|
|
|
assert.throws(SyntaxError, function() {
|
|
let o = {};
|
|
eval("o.#f");
|
|
}, 'It should be a SyntaxError if AllPrivateIdentifiersValid returns false to eval body');
|
|
|