feat: update rnix, support pipe operator
This commit is contained in:
8
Cargo.lock
generated
8
Cargo.lock
generated
@@ -193,9 +193,9 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "itertools"
|
name = "itertools"
|
||||||
version = "0.12.1"
|
version = "0.14.0"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569"
|
checksum = "2b192c782037fadd9cfa75548310488aabdbf3d2da73885b31bd0abd03351285"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"either",
|
"either",
|
||||||
]
|
]
|
||||||
@@ -360,9 +360,9 @@ checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c"
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "rnix"
|
name = "rnix"
|
||||||
version = "0.11.0"
|
version = "0.12.0"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "bb35cedbeb70e0ccabef2a31bcff0aebd114f19566086300b8f42c725fc2cb5f"
|
checksum = "6f15e00b0ab43abd70d50b6f8cd021290028f9b7fdd7cdfa6c35997173bc1ba9"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"rowan",
|
"rowan",
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -15,9 +15,9 @@ debug = 1
|
|||||||
inherits = "release"
|
inherits = "release"
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
rnix = "0.11"
|
rnix = "0.12"
|
||||||
thiserror = "2.0"
|
thiserror = "2.0"
|
||||||
itertools = "0.12"
|
itertools = "0.14"
|
||||||
rpds = "1.1"
|
rpds = "1.1"
|
||||||
derive_more = { version = "2.0", features = [ "full" ] }
|
derive_more = { version = "2.0", features = [ "full" ] }
|
||||||
ecow = "0.2"
|
ecow = "0.2"
|
||||||
|
|||||||
@@ -248,6 +248,17 @@ impl Compile for ir::BinOp {
|
|||||||
comp.push(OpCode::Call { arity: 2 });
|
comp.push(OpCode::Call { arity: 2 });
|
||||||
comp.push(OpCode::UnOp { op: UnOp::Not });
|
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,
|
Con,
|
||||||
Upd,
|
Upd,
|
||||||
|
|
||||||
|
PipeL,
|
||||||
|
PipeR,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl From<ast::BinOpKind> for BinOpKind {
|
impl From<ast::BinOpKind> for BinOpKind {
|
||||||
@@ -296,6 +299,8 @@ impl From<ast::BinOpKind> for BinOpKind {
|
|||||||
astkind::MoreOrEq => Geq,
|
astkind::MoreOrEq => Geq,
|
||||||
astkind::NotEqual => Neq,
|
astkind::NotEqual => Neq,
|
||||||
astkind::Or => Or,
|
astkind::Or => Or,
|
||||||
|
astkind::PipeLeft => PipeL,
|
||||||
|
astkind::PipeRight => PipeR,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user