61085f2cb3
The current JSObject type is too specific as it can also be passed proxy objects. BUG=chromium:1003919,v8:6949 Change-Id: I2766868543827fc5ee6f99f3b120c7ffe9cfed39 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1803651 Auto-Submit: Ross McIlroy <rmcilroy@chromium.org> Commit-Queue: Mythri Alle <mythria@chromium.org> Reviewed-by: Mythri Alle <mythria@chromium.org> Cr-Commit-Position: refs/heads/master@{#63787}
21 lines
564 B
JavaScript
21 lines
564 B
JavaScript
// 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;
|