about summary refs log tree commit diff
diff options
context:
space:
mode:
authorVincent Ambo <mail@tazj.in>2022-08-26T15·40+0300
committertazjin <tazjin@tvl.su>2022-09-03T00·49+0000
commit7da5076191d4037b9a0cfb5c818d64eb2822d9d0 (patch)
tree9408f16eb15e4e03f66099a0f35c5e149630e4b8
parent903b57be042b9f3f0ad6f714d4dec0c1795f93c0 (diff)
refactor(tvix/eval): rename Value::NotFound & OpAttrOrNotFound r/4613
grfn suggested clearer naming for these in cl/6166.

Change-Id: I83164bf1d1902ebd42272e9d5d63819a0f6a72c5
Reviewed-on: https://cl.tvl.fyi/c/depot/+/6277
Reviewed-by: grfn <grfn@gws.fyi>
Tested-by: BuildkiteCI
-rw-r--r--tvix/eval/src/compiler/mod.rs4
-rw-r--r--tvix/eval/src/opcode.rs2
-rw-r--r--tvix/eval/src/value/mod.rs6
-rw-r--r--tvix/eval/src/vm.rs8
4 files changed, 10 insertions, 10 deletions
diff --git a/tvix/eval/src/compiler/mod.rs b/tvix/eval/src/compiler/mod.rs
index a7e5ceb32a..d40cb1e14e 100644
--- a/tvix/eval/src/compiler/mod.rs
+++ b/tvix/eval/src/compiler/mod.rs
@@ -429,7 +429,7 @@ impl Compiler {
         // next nested element, for all fragments except the last one.
         for (count, fragment) in node.attrpath().unwrap().attrs().enumerate() {
             if count > 0 {
-                self.chunk().push_op(OpCode::OpAttrOrNotFound);
+                self.chunk().push_op(OpCode::OpAttrsTrySelect);
             }
 
             self.compile_attr(fragment);
@@ -616,7 +616,7 @@ impl Compiler {
 
         for fragment in path.attrs() {
             self.compile_attr(fragment);
-            self.chunk().push_op(OpCode::OpAttrOrNotFound);
+            self.chunk().push_op(OpCode::OpAttrsTrySelect);
             jumps.push(self.chunk().push_op(OpCode::OpJumpIfNotFound(0)));
         }
 
diff --git a/tvix/eval/src/opcode.rs b/tvix/eval/src/opcode.rs
index 2ad4aa1f98..dadb2ecbf8 100644
--- a/tvix/eval/src/opcode.rs
+++ b/tvix/eval/src/opcode.rs
@@ -50,7 +50,7 @@ pub enum OpCode {
     OpAttrPath(usize),
     OpAttrsUpdate,
     OpAttrsSelect,
-    OpAttrOrNotFound,
+    OpAttrsTrySelect,
     OpAttrsIsSet,
 
     // `with`-handling
diff --git a/tvix/eval/src/value/mod.rs b/tvix/eval/src/value/mod.rs
index 3db6a00e4d..1210e0f9a7 100644
--- a/tvix/eval/src/value/mod.rs
+++ b/tvix/eval/src/value/mod.rs
@@ -33,7 +33,7 @@ pub enum Value {
     // Internal values that, while they technically exist at runtime,
     // are never returned to or created directly by users.
     AttrPath(Vec<NixString>),
-    NotFound,
+    AttrNotFound,
 }
 
 impl Value {
@@ -54,7 +54,7 @@ impl Value {
             Value::Closure(_) | Value::Builtin(_) => "lambda",
 
             // Internal types
-            Value::AttrPath(_) | Value::NotFound => "internal",
+            Value::AttrPath(_) | Value::AttrNotFound => "internal",
         }
     }
 
@@ -140,7 +140,7 @@ impl Display for Value {
 
             // internal types
             Value::AttrPath(path) => write!(f, "internal[attrpath({})]", path.len()),
-            Value::NotFound => f.write_str("internal[not found]"),
+            Value::AttrNotFound => f.write_str("internal[not found]"),
         }
     }
 }
diff --git a/tvix/eval/src/vm.rs b/tvix/eval/src/vm.rs
index 6a7ebd5e64..65534006d0 100644
--- a/tvix/eval/src/vm.rs
+++ b/tvix/eval/src/vm.rs
@@ -225,15 +225,15 @@ impl VM {
                     }
                 }
 
-                OpCode::OpAttrOrNotFound => {
+                OpCode::OpAttrsTrySelect => {
                     let key = self.pop().to_string()?;
                     let value = match self.pop() {
                         Value::Attrs(attrs) => match attrs.select(key.as_str()) {
                             Some(value) => value.clone(),
-                            None => Value::NotFound,
+                            None => Value::AttrNotFound,
                         },
 
-                        _ => Value::NotFound,
+                        _ => Value::AttrNotFound,
                     };
 
                     self.push(value);
@@ -283,7 +283,7 @@ impl VM {
                 }
 
                 OpCode::OpJumpIfNotFound(offset) => {
-                    if matches!(self.peek(0), Value::NotFound) {
+                    if matches!(self.peek(0), Value::AttrNotFound) {
                         self.pop();
                         self.frame_mut().ip += offset;
                     }