From d4d1c3aaf8c58905c0761b001b3014451fdb9cd3 Mon Sep 17 00:00:00 2001 From: Shelley Vohr Date: Mon, 24 Oct 2022 10:36:24 +0200 Subject: [PATCH] src: expose LookupAndCompile with parameters --- src/node_builtins.cc | 16 ++++++++++++++++ src/node_builtins.h | 5 +++++ 2 files changed, 21 insertions(+) diff --git a/src/node_builtins.cc b/src/node_builtins.cc index 768e248fc9f171a..5b5c1ea497f7b46 100644 --- a/src/node_builtins.cc +++ b/src/node_builtins.cc @@ -502,6 +502,22 @@ MaybeLocal BuiltinLoader::CompileAndCall(Local context, return fn->Call(context, undefined, argc, argv); } +MaybeLocal BuiltinLoader::LookupAndCompile( + Local context, + const char* id, + std::vector>* parameters, + Environment* optional_env) { + Result result; + Isolate* isolate = context->GetIsolate(); + + MaybeLocal maybe = GetInstance()->LookupAndCompileInternal( + context, id, parameters, &result); + if (optional_env != nullptr) { + RecordResult(id, result, optional_env); + } + return maybe; +} + bool BuiltinLoader::CompileAllBuiltins(Local context) { BuiltinLoader* loader = GetInstance(); std::vector ids = loader->GetBuiltinIds(); diff --git a/src/node_builtins.h b/src/node_builtins.h index 423383507658740..05c3b3cc187e22d 100644 --- a/src/node_builtins.h +++ b/src/node_builtins.h @@ -66,6 +66,11 @@ class NODE_EXTERN_PRIVATE BuiltinLoader { static v8::MaybeLocal CompileAndCall( v8::Local context, const char* id, Realm* realm); + static v8::MaybeLocal LookupAndCompile( + v8::Local context, + const char* id, + std::vector>* parameters, + Environment* optional_env); static v8::Local GetSourceObject(v8::Local context); // Returns config.gypi as a JSON string static v8::Local GetConfigString(v8::Isolate* isolate);