// 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. #include 'src/builtins/builtins-proxy-gen.h' namespace proxy { // Proxy Revocation Functions // https://tc39.github.io/ecma262/#sec-proxy-revocation-functions transitioning javascript builtin ProxyRevoke(js-implicit context: Context)(): Undefined { // 1. Let p be F.[[RevocableProxy]]. const proxyObject: Object = context[PROXY_SLOT]; // 2. If p is null, return undefined if (proxyObject == Null) { return Undefined; } // 3. Set F.[[RevocableProxy]] to null. context[PROXY_SLOT] = Null; // 4. Assert: p is a Proxy object. const proxy: JSProxy = UnsafeCast(proxyObject); // 5. Set p.[[ProxyTarget]] to null. proxy.target = Null; // 6. Set p.[[ProxyHandler]] to null. proxy.handler = Null; // 7. Return undefined. return Undefined; } }