refactor: rename IS_PRIMOP -> PRIMOP_METADATA
This commit is contained in:
@@ -206,17 +206,17 @@ fn op_resolve_path(#[string] path: String) -> std::result::Result<String, NixErr
|
||||
struct RuntimeContext<'a, 'b> {
|
||||
scope: &'a v8::PinnedRef<'a, v8::HandleScope<'b>>,
|
||||
is_thunk_symbol: Option<v8::Local<'a, v8::Symbol>>,
|
||||
is_primop_symbol: Option<v8::Local<'a, v8::Symbol>>,
|
||||
primop_metadata_symbol: Option<v8::Local<'a, v8::Symbol>>,
|
||||
}
|
||||
|
||||
impl<'a, 'b> RuntimeContext<'a, 'b> {
|
||||
fn new(scope: &'a v8::PinnedRef<'a, v8::HandleScope<'b>>) -> Self {
|
||||
let is_thunk_symbol = Self::get_is_thunk_symbol(scope);
|
||||
let is_primop_symbol = Self::get_is_primop_symbol(scope);
|
||||
let primop_metadata_symbol = Self::get_primop_metadata_symbol(scope);
|
||||
Self {
|
||||
scope,
|
||||
is_thunk_symbol,
|
||||
is_primop_symbol,
|
||||
primop_metadata_symbol,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -237,18 +237,18 @@ impl<'a, 'b> RuntimeContext<'a, 'b> {
|
||||
}
|
||||
}
|
||||
|
||||
fn get_is_primop_symbol(
|
||||
fn get_primop_metadata_symbol(
|
||||
scope: &v8::PinnedRef<'a, v8::HandleScope<'b>>,
|
||||
) -> Option<v8::Local<'a, v8::Symbol>> {
|
||||
let global = scope.get_current_context().global(scope);
|
||||
let nix_key = v8::String::new(scope, "Nix")?;
|
||||
let nix_obj = global.get(scope, nix_key.into())?.to_object(scope)?;
|
||||
|
||||
let is_primop_sym_key = v8::String::new(scope, "IS_PRIMOP")?;
|
||||
let is_primop_sym = nix_obj.get(scope, is_primop_sym_key.into())?;
|
||||
let primop_metadata_sym_key = v8::String::new(scope, "PRIMOP_METADATA")?;
|
||||
let primop_metadata_sym = nix_obj.get(scope, primop_metadata_sym_key.into())?;
|
||||
|
||||
if is_primop_sym.is_symbol() {
|
||||
is_primop_sym.try_cast().ok()
|
||||
if primop_metadata_sym.is_symbol() {
|
||||
primop_metadata_sym.try_cast().ok()
|
||||
} else {
|
||||
None
|
||||
}
|
||||
@@ -382,13 +382,13 @@ fn primop_name<'a, 'b>(
|
||||
return None;
|
||||
}
|
||||
|
||||
// Use cached IS_PRIMOP symbol from context
|
||||
let is_primop_sym = ctx.is_primop_symbol?;
|
||||
// Use cached PRIMOP_METADATA symbol from context
|
||||
let primop_metadata_sym = ctx.primop_metadata_symbol?;
|
||||
|
||||
let scope = ctx.scope;
|
||||
let obj = val.to_object(scope).unwrap();
|
||||
|
||||
if let Some(metadata) = obj.get(scope, is_primop_sym.into())
|
||||
if let Some(metadata) = obj.get(scope, primop_metadata_sym.into())
|
||||
&& let Some(metadata_obj) = metadata.to_object(scope)
|
||||
&& let Some(name_key) = v8::String::new(scope, "name")
|
||||
&& let Some(name_val) = metadata_obj.get(scope, name_key.into())
|
||||
@@ -406,13 +406,13 @@ fn primop_app_name<'a, 'b>(
|
||||
) -> Option<String> {
|
||||
let name = primop_name(val, ctx)?;
|
||||
|
||||
// Get cached IS_PRIMOP symbol
|
||||
let is_primop_sym = ctx.is_primop_symbol?;
|
||||
// Get cached PRIMOP_METADATA symbol
|
||||
let primop_metadata_sym = ctx.primop_metadata_symbol?;
|
||||
|
||||
let scope = ctx.scope;
|
||||
let obj = val.to_object(scope).unwrap();
|
||||
|
||||
if let Some(metadata) = obj.get(scope, is_primop_sym.into())
|
||||
if let Some(metadata) = obj.get(scope, primop_metadata_sym.into())
|
||||
&& let Some(metadata_obj) = metadata.to_object(scope)
|
||||
&& let Some(applied_key) = v8::String::new(scope, "applied")
|
||||
&& let Some(applied_val) = metadata_obj.get(scope, applied_key.into())
|
||||
|
||||
Reference in New Issue
Block a user