feat: update rnix, support pipe operator
This commit is contained in:
@@ -248,6 +248,17 @@ impl Compile for ir::BinOp {
|
||||
comp.push(OpCode::Call { arity: 2 });
|
||||
comp.push(OpCode::UnOp { op: UnOp::Not });
|
||||
}
|
||||
|
||||
PipeL => {
|
||||
self.lhs.compile(comp);
|
||||
self.rhs.compile(comp);
|
||||
comp.push(OpCode::Call { arity: 1 });
|
||||
}
|
||||
PipeR => {
|
||||
self.rhs.compile(comp);
|
||||
self.lhs.compile(comp);
|
||||
comp.push(OpCode::Call { arity: 1 });
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -274,6 +274,9 @@ pub enum BinOpKind {
|
||||
|
||||
Con,
|
||||
Upd,
|
||||
|
||||
PipeL,
|
||||
PipeR,
|
||||
}
|
||||
|
||||
impl From<ast::BinOpKind> for BinOpKind {
|
||||
@@ -296,6 +299,8 @@ impl From<ast::BinOpKind> for BinOpKind {
|
||||
astkind::MoreOrEq => Geq,
|
||||
astkind::NotEqual => Neq,
|
||||
astkind::Or => Or,
|
||||
astkind::PipeLeft => PipeL,
|
||||
astkind::PipeRight => PipeR,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user