// 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. // Define an object with a getter and a proxy as it's prototype. var obj = {foo: 'bar'}; Object.defineProperty(obj, 'foo', { get: function () { } }); obj.__proto__ = new Proxy([], {}); // Get key from a function to avoid the property access turning into a // named property access. function getKey() { return 'values' } // Keyed access to update obj's values property. obj[getKey()] = 1;