Type Alias ExprRef

Source
pub type ExprRef = Arc<dyn VortexExpr>;

Aliased Type§

pub struct ExprRef { /* private fields */ }

Trait Implementations§

Source§

impl Node for ExprRef

Source§

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>>

A post-order transform, with an option to ignore sub-tress (using visit_down).

Source§

fn accept_with_context<'a, V: Folder<'a, NodeTy = Self>>( &'a self, visitor: &mut V, context: V::Context, ) -> VortexResult<FoldUp<V::Out>>

Source§

fn transform_with_context<V: FolderMut<NodeTy = Self>>( self, visitor: &mut V, context: V::Context, ) -> VortexResult<FoldUp<V::Out>>

Source§

impl VortexExprExt for ExprRef

Source§

fn field_references(&self) -> HashSet<FieldName>

Accumulate all field references from this expression and its children in a set
Source§

fn vars(&self) -> HashSet<Identifier>