pub type ExprRef = Arc<dyn VortexExpr>;
Aliased Type§
pub struct ExprRef { /* private fields */ }
Trait Implementations§
Source§impl Node for ExprRef
impl Node for ExprRef
Source§fn accept<'a, V: NodeVisitor<'a, NodeTy = ExprRef>>(
&'a self,
visitor: &mut V,
) -> VortexResult<TraversalOrder>
fn accept<'a, V: NodeVisitor<'a, NodeTy = ExprRef>>( &'a self, visitor: &mut V, ) -> VortexResult<TraversalOrder>
A pre-order traversal.
Source§fn transform<V: MutNodeVisitor<NodeTy = Self>>(
self,
visitor: &mut V,
) -> VortexResult<TransformResult<Self>>
fn transform<V: MutNodeVisitor<NodeTy = Self>>( self, visitor: &mut V, ) -> VortexResult<TransformResult<Self>>
A post-order transform, with an option to ignore sub-tress (using visit_down).
fn accept_with_context<'a, V: Folder<'a, NodeTy = Self>>( &'a self, visitor: &mut V, context: V::Context, ) -> VortexResult<FoldUp<V::Out>>
fn transform_with_context<V: FolderMut<NodeTy = Self>>( self, visitor: &mut V, context: V::Context, ) -> VortexResult<FoldUp<V::Out>>
Source§impl VortexExprExt for ExprRef
impl VortexExprExt for ExprRef
Source§fn field_references(&self) -> HashSet<FieldName>
fn field_references(&self) -> HashSet<FieldName>
Accumulate all field references from this expression and its children in a set