pub enum Node {
Input {
name: String,
noundef: bool,
range: Option<(String, String)>,
},
Sym(String),
Lit(Lit),
CExpr(CFun, Vec<NodeId>),
Pred(PFun, Vec<NodeId>),
Inst(Inst),
}Expand description
One node of the arena.
Variants§
Input
An input (a register the source reads without defining it, or a function parameter).
Its attributes are the source’s declaration; each program’s own are
Body::params.
Fields
Sym(String)
A symbolic constant (C, C1): some value, the same in source and target, never
poison.
Lit(Lit)
A literal.
CExpr(CFun, Vec<NodeId>)
A constant expression.
Pred(PFun, Vec<NodeId>)
A predicate of the precondition (a boolean, not a value).
Inst(Inst)
An instruction.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Node
impl RefUnwindSafe for Node
impl Send for Node
impl Sync for Node
impl Unpin for Node
impl UnsafeUnpin for Node
impl UnwindSafe for Node
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