wip
This commit is contained in:
@@ -271,10 +271,17 @@ pub enum BaseValue {
|
||||
Nil,
|
||||
Function(LoxFunction),
|
||||
NativeFunction(NativeFunction),
|
||||
Return {
|
||||
value: Box<BaseValue>,
|
||||
labels: Vec<String>,
|
||||
},
|
||||
}
|
||||
|
||||
struct ReturnValue {
|
||||
label: Vec<String>,
|
||||
value: BaseValue,
|
||||
}
|
||||
|
||||
impl ReturnValue {
|
||||
pub fn new(label: Vec<String>, value: BaseValue) -> Self {
|
||||
Self { label, value }
|
||||
}
|
||||
}
|
||||
|
||||
impl BaseValue {
|
||||
@@ -296,9 +303,6 @@ impl Display for BaseValue {
|
||||
BaseValue::Nil => write!(f, "nil"),
|
||||
BaseValue::Function(..) => write!(f, "<fn lox function>"),
|
||||
BaseValue::NativeFunction(..) => write!(f, "<native native function>"),
|
||||
BaseValue::Return { labels, .. } => {
|
||||
write!(f, "<return value [return:{}]>", labels.join(":"))
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user