pub struct IRNode { /* private fields */ }
Implementations§
Source§impl IRNode
impl IRNode
pub fn new(node: Node) -> Self
pub fn node(&self) -> Node
pub fn replace_node(&mut self, node: Node)
Sourcepub fn replace(&mut self, ae: IR, arena: &mut Arena<IR>)
pub fn replace(&mut self, ae: IR, arena: &mut Arena<IR>)
Replace the current Node
with a new IR
.
pub fn to_alp<'a>(&self, arena: &'a Arena<IR>) -> &'a IR
pub fn to_alp_mut<'a>(&mut self, arena: &'a mut Arena<IR>) -> &'a mut IR
pub fn assign(&mut self, ir_node: IR, arena: &mut Arena<IR>)
Trait Implementations§
Source§impl TreeWalker for IRNode
impl TreeWalker for IRNode
type Arena = (Arena<IR>, Arena<AExpr>)
fn apply_children<F: FnMut(&Self, &Self::Arena) -> PolarsResult<VisitRecursion>>( &self, op: &mut F, arena: &Self::Arena, ) -> PolarsResult<VisitRecursion>
fn map_children<F: FnMut(Self, &mut Self::Arena) -> PolarsResult<Self>>( self, op: &mut F, arena: &mut Self::Arena, ) -> PolarsResult<Self>
Source§fn visit<V: Visitor<Node = Self, Arena = Self::Arena>>(
&self,
visitor: &mut V,
arena: &Self::Arena,
) -> PolarsResult<VisitRecursion>
fn visit<V: Visitor<Node = Self, Arena = Self::Arena>>( &self, visitor: &mut V, arena: &Self::Arena, ) -> PolarsResult<VisitRecursion>
Walks all nodes in depth-first-order.
fn rewrite<R: RewritingVisitor<Node = Self, Arena = Self::Arena>>( self, rewriter: &mut R, arena: &mut Self::Arena, ) -> PolarsResult<Self>
impl Copy for IRNode
Auto Trait Implementations§
impl Freeze for IRNode
impl RefUnwindSafe for IRNode
impl Send for IRNode
impl Sync for IRNode
impl Unpin for IRNode
impl UnwindSafe for IRNode
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more