blob: 87ee94ad4bfd978c717f6bc38f19e891e1de8339 [file] [log] [blame]
// Copyright (C) 2015 André Bargull. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
esid: sec-function-definitions-runtime-semantics-iteratorbindinginitialization
description: If a computed property key contains a direct eval call, a new declarative environment is created.
info: |
Runtime Semantics: IteratorBindingInitialization
FormalParameter : BindingElement
...
2. Let currentContext be the running execution context.
3. Let originalEnv be the VariableEnvironment of currentContext.
4. Assert: The VariableEnvironment and LexicalEnvironment of currentContext are the same.
5. Assert: environment and originalEnv are the same.
6. Let paramVarEnv be NewDeclarativeEnvironment(originalEnv).
...
---*/
var x = "outer";
function evalInComputedPropertyKey({[eval("var x = 'inner'")]: ignored}) {
assert.sameValue(x, "outer");
}
evalInComputedPropertyKey({});