Remove unused pipe node definitions
The `Pipe` node and its associated logic have been removed from the AST. This commit cleans up the code by removing all references to this defunct node in the analyzer, binder, captures, dumper, lowering, macros, optimizer, and type checker. The parser no longer recognizes the `pipe` keyword.
This commit is contained in:
@@ -455,33 +455,6 @@ impl Optimizer {
|
||||
)
|
||||
}
|
||||
|
||||
NodeKind::Pipe {
|
||||
inputs,
|
||||
lambda,
|
||||
} => {
|
||||
let mut o_inputs = Vec::with_capacity(inputs.len());
|
||||
let mut inputs_changed = false;
|
||||
for input in inputs {
|
||||
let opt = self.visit_node(input.clone(), sub, path);
|
||||
if !Rc::ptr_eq(&opt, input) {
|
||||
inputs_changed = true;
|
||||
}
|
||||
o_inputs.push(opt);
|
||||
}
|
||||
let o_lambda = self.visit_node(lambda.clone(), sub, path);
|
||||
|
||||
if !inputs_changed && Rc::ptr_eq(&o_lambda, lambda) {
|
||||
return node_rc;
|
||||
}
|
||||
|
||||
(
|
||||
NodeKind::Pipe {
|
||||
inputs: o_inputs,
|
||||
lambda: o_lambda,
|
||||
},
|
||||
node.ty.clone(),
|
||||
)
|
||||
}
|
||||
NodeKind::Block { exprs } => {
|
||||
let mut info = UsageInfo::default();
|
||||
if !exprs.is_empty() {
|
||||
|
||||
@@ -158,12 +158,6 @@ impl UsageInfo {
|
||||
NodeKind::Again { args } => {
|
||||
self.collect(args);
|
||||
}
|
||||
NodeKind::Pipe { inputs, lambda, .. } => {
|
||||
for input in inputs {
|
||||
self.collect(input);
|
||||
}
|
||||
self.collect(lambda);
|
||||
}
|
||||
NodeKind::Nop
|
||||
| NodeKind::FieldAccessor(_)
|
||||
| NodeKind::Extension(_)
|
||||
|
||||
Reference in New Issue
Block a user