diff --git a/ast/src/analyzed/visitor.rs b/ast/src/analyzed/visitor.rs index d397b814a..9d7d2094c 100644 --- a/ast/src/analyzed/visitor.rs +++ b/ast/src/analyzed/visitor.rs @@ -2,7 +2,7 @@ use crate::parsed::visitor::VisitOrder; use super::*; -impl ExpressionVisitable for Analyzed { +impl ExpressionVisitable> for Analyzed { fn visit_expressions_mut(&mut self, f: &mut F, o: VisitOrder) -> ControlFlow where F: FnMut(&mut parsed::Expression) -> ControlFlow, @@ -50,7 +50,7 @@ impl ExpressionVisitable for Analyzed { } } -impl ExpressionVisitable for Identity { +impl ExpressionVisitable> for Identity { fn visit_expressions_mut(&mut self, f: &mut F, o: VisitOrder) -> ControlFlow where F: FnMut(&mut parsed::Expression) -> ControlFlow, diff --git a/ast/src/asm_analysis/mod.rs b/ast/src/asm_analysis/mod.rs index 19f638ed0..1e55ad13a 100644 --- a/ast/src/asm_analysis/mod.rs +++ b/ast/src/asm_analysis/mod.rs @@ -540,7 +540,7 @@ pub enum FunctionStatement { Return(Return), } -impl ExpressionVisitable> for FunctionStatement { +impl ExpressionVisitable>> for FunctionStatement { fn visit_expressions_mut(&mut self, f: &mut F, o: VisitOrder) -> std::ops::ControlFlow where F: FnMut(&mut Expression>) -> std::ops::ControlFlow, diff --git a/ast/src/parsed/visitor.rs b/ast/src/parsed/visitor.rs index 06616f6ef..626e4187e 100644 --- a/ast/src/parsed/visitor.rs +++ b/ast/src/parsed/visitor.rs @@ -14,12 +14,12 @@ pub enum VisitOrder { /// A trait to be implemented by an AST node. /// The idea is that it calls a callback function on each of the sub-nodes /// that are expressions. -pub trait ExpressionVisitable { +pub trait ExpressionVisitable { /// Traverses the AST and calls `f` on each Expression in pre-order, /// potentially break early and return a value. fn pre_visit_expressions_return_mut(&mut self, f: &mut F) -> ControlFlow where - F: FnMut(&mut Expression) -> ControlFlow, + F: FnMut(&mut Expr) -> ControlFlow, { self.visit_expressions_mut(f, VisitOrder::Pre) } @@ -27,7 +27,7 @@ pub trait ExpressionVisitable { /// Traverses the AST and calls `f` on each Expression in pre-order. fn pre_visit_expressions_mut(&mut self, f: &mut F) where - F: FnMut(&mut Expression), + F: FnMut(&mut Expr), { self.pre_visit_expressions_return_mut(&mut move |e| { f(e); @@ -39,7 +39,7 @@ pub trait ExpressionVisitable { /// potentially break early and return a value. fn pre_visit_expressions_return(&self, f: &mut F) -> ControlFlow where - F: FnMut(&Expression) -> ControlFlow, + F: FnMut(&Expr) -> ControlFlow, { self.visit_expressions(f, VisitOrder::Pre) } @@ -47,7 +47,7 @@ pub trait ExpressionVisitable { /// Traverses the AST and calls `f` on each Expression in pre-order. fn pre_visit_expressions(&self, f: &mut F) where - F: FnMut(&Expression), + F: FnMut(&Expr), { self.pre_visit_expressions_return(&mut move |e| { f(e); @@ -59,7 +59,7 @@ pub trait ExpressionVisitable { /// potentially break early and return a value. fn post_visit_expressions_return_mut(&mut self, f: &mut F) -> ControlFlow where - F: FnMut(&mut Expression) -> ControlFlow, + F: FnMut(&mut Expr) -> ControlFlow, { self.visit_expressions_mut(f, VisitOrder::Post) } @@ -67,7 +67,7 @@ pub trait ExpressionVisitable { /// Traverses the AST and calls `f` on each Expression in post-order. fn post_visit_expressions_mut(&mut self, f: &mut F) where - F: FnMut(&mut Expression), + F: FnMut(&mut Expr), { self.post_visit_expressions_return_mut(&mut move |e| { f(e); @@ -79,7 +79,7 @@ pub trait ExpressionVisitable { /// potentially break early and return a value. fn post_visit_expressions_return(&self, f: &mut F) -> ControlFlow where - F: FnMut(&Expression) -> ControlFlow, + F: FnMut(&Expr) -> ControlFlow, { self.visit_expressions(f, VisitOrder::Post) } @@ -87,7 +87,7 @@ pub trait ExpressionVisitable { /// Traverses the AST and calls `f` on each Expression in post-order. fn post_visit_expressions(&self, f: &mut F) where - F: FnMut(&Expression), + F: FnMut(&Expr), { self.post_visit_expressions_return(&mut move |e| { f(e); @@ -97,14 +97,14 @@ pub trait ExpressionVisitable { fn visit_expressions(&self, f: &mut F, order: VisitOrder) -> ControlFlow where - F: FnMut(&Expression) -> ControlFlow; + F: FnMut(&Expr) -> ControlFlow; fn visit_expressions_mut(&mut self, f: &mut F, order: VisitOrder) -> ControlFlow where - F: FnMut(&mut Expression) -> ControlFlow; + F: FnMut(&mut Expr) -> ControlFlow; } -impl ExpressionVisitable for Expression { +impl ExpressionVisitable> for Expression { fn visit_expressions_mut(&mut self, f: &mut F, o: VisitOrder) -> ControlFlow where F: FnMut(&mut Expression) -> ControlFlow, @@ -182,7 +182,7 @@ impl ExpressionVisitable for Expression { } } -impl ExpressionVisitable> for PilStatement { +impl ExpressionVisitable>> for PilStatement { fn visit_expressions_mut(&mut self, f: &mut F, o: VisitOrder) -> ControlFlow where F: FnMut(&mut Expression>) -> ControlFlow, @@ -256,7 +256,7 @@ impl ExpressionVisitable> for PilStatement ExpressionVisitable for SelectedExpressions { +impl ExpressionVisitable> for SelectedExpressions { fn visit_expressions_mut(&mut self, f: &mut F, o: VisitOrder) -> ControlFlow where F: FnMut(&mut Expression) -> ControlFlow, @@ -280,7 +280,7 @@ impl ExpressionVisitable for SelectedExpressions { } } -impl ExpressionVisitable> for FunctionDefinition { +impl ExpressionVisitable> for FunctionDefinition { fn visit_expressions_mut(&mut self, f: &mut F, o: VisitOrder) -> ControlFlow where F: FnMut(&mut Expression) -> ControlFlow, @@ -308,7 +308,7 @@ impl ExpressionVisitable> for FunctionDefini } } -impl ExpressionVisitable> for ArrayExpression { +impl ExpressionVisitable> for ArrayExpression { fn visit_expressions_mut(&mut self, f: &mut F, o: VisitOrder) -> ControlFlow where F: FnMut(&mut Expression) -> ControlFlow, @@ -342,7 +342,7 @@ impl ExpressionVisitable> for ArrayExpressio } } -impl ExpressionVisitable for LambdaExpression { +impl ExpressionVisitable> for LambdaExpression { fn visit_expressions_mut(&mut self, f: &mut F, o: VisitOrder) -> ControlFlow where F: FnMut(&mut Expression) -> ControlFlow, @@ -358,7 +358,7 @@ impl ExpressionVisitable for LambdaExpression { } } -impl ExpressionVisitable for ArrayLiteral { +impl ExpressionVisitable> for ArrayLiteral { fn visit_expressions_mut(&mut self, f: &mut F, o: VisitOrder) -> ControlFlow where F: FnMut(&mut Expression) -> ControlFlow, @@ -378,7 +378,7 @@ impl ExpressionVisitable for ArrayLiteral { } } -impl ExpressionVisitable for FunctionCall { +impl ExpressionVisitable> for FunctionCall { fn visit_expressions_mut(&mut self, f: &mut F, o: VisitOrder) -> ControlFlow where F: FnMut(&mut Expression) -> ControlFlow, @@ -398,7 +398,7 @@ impl ExpressionVisitable for FunctionCall { } } -impl ExpressionVisitable for MatchArm { +impl ExpressionVisitable> for MatchArm { fn visit_expressions_mut(&mut self, f: &mut F, o: VisitOrder) -> ControlFlow where F: FnMut(&mut Expression) -> ControlFlow, @@ -416,7 +416,7 @@ impl ExpressionVisitable for MatchArm { } } -impl ExpressionVisitable for MatchPattern { +impl ExpressionVisitable> for MatchPattern { fn visit_expressions_mut(&mut self, f: &mut F, o: VisitOrder) -> ControlFlow where F: FnMut(&mut Expression) -> ControlFlow,