PR-URL: https://github.com/nodejs/node/pull/40488 Reviewed-By: Jiawen Geng <technicalcute@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com>
25 lines
633 B
JavaScript
25 lines
633 B
JavaScript
// Copyright 2021 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.
|
|
|
|
function setup_proxy() {
|
|
// Mess with the prototype to get funky conversion behavior.
|
|
Function.prototype.__proto__ = new Proxy(setup_proxy, {
|
|
get: async (target, key) => {
|
|
console.log(key);
|
|
}
|
|
});
|
|
}
|
|
|
|
setup_proxy();
|
|
|
|
function asm(global, imports) {
|
|
'use asm';
|
|
// Trigger proxy trap when looking up #toPrimitive:
|
|
var bar = +imports.bar;
|
|
function f() {}
|
|
return {f: f};
|
|
}
|
|
|
|
assertThrows(() => asm(undefined, {bar: setup_proxy}), TypeError);
|