FIX: visit_value and leave_value for lists and tuples

This commit is contained in:
Jeremy Wall 2020-08-19 19:43:33 -04:00 committed by Jeremy Wall
parent 44986be0f5
commit 97c3a30973

View File

@ -181,6 +181,7 @@ pub trait Walker: Visitor {
} }
fn walk_value(&mut self, val: &mut Value) { fn walk_value(&mut self, val: &mut Value) {
self.visit_value(val);
match val { match val {
Value::Empty(_) Value::Empty(_)
| Value::Symbol(_) | Value::Symbol(_)
@ -188,8 +189,7 @@ pub trait Walker: Visitor {
| Value::Int(_) | Value::Int(_)
| Value::Float(_) | Value::Float(_)
| Value::Str(_) => { | Value::Str(_) => {
self.visit_value(val); // noop
self.leave_value(val);
} }
Value::Tuple(fs) => self.walk_fieldset(&mut fs.val), Value::Tuple(fs) => self.walk_fieldset(&mut fs.val),
Value::List(vs) => { Value::List(vs) => {
@ -198,6 +198,7 @@ pub trait Walker: Visitor {
} }
} }
} }
self.leave_value(val);
} }
} }