| // Copyright 2019 the V8 project authors. All rights reserved. | |
| // Use of this source code is governed by a BSD-style license that can be | |
| // found in the LICENSE file. | |
| let prop = "someName"; | |
| function foo(a, b, v) { return a[b] = 0 } | |
| try { | |
| foo("", prop); | |
| } catch(e) {} | |
| var target = {}; | |
| var traps = { set() {return 42} }; | |
| var proxy = new Proxy(target, traps); | |
| Object.defineProperty(target, prop, { value: 0 }); | |
| try { | |
| foo(proxy, prop); | |
| } catch (e) { } | |
| foo(proxy, prop, 0); |