#[non_exhaustive]pub enum View {
Const(BitVec),
Sym(SymbolId),
Un(UnOp, Expr),
Bin(BinOp, Expr, Expr),
Cmp(CmpOp, Expr, Expr),
Zext(Expr),
Sext(Expr),
Extract {
lo: u16,
src: Expr,
},
Concat {
hi: Expr,
lo: Expr,
},
Select {
cond: Expr,
then: Expr,
els: Expr,
},
Fp {
op: FpOp,
format: FpFormat,
args: FpArgs,
},
Ext {
op: ExtId,
output: u8,
args: ExtArgs,
},
}Expand description
A read-only view of one node.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
Const(BitVec)
A constant.
Sym(SymbolId)
A symbol.
Un(UnOp, Expr)
A unary operator.
Bin(BinOp, Expr, Expr)
A binary operator.
Cmp(CmpOp, Expr, Expr)
A comparison (1-bit result).
Zext(Expr)
Zero extension to the node’s width.
Sext(Expr)
Sign extension to the node’s width.
Extract
Bits [lo, lo + W) of src, where W is the node’s width.
Concat
hi in the high bits and lo in the low bits.
Select
cond ? then : els with a 1-bit condition.
Fields
Fp
A floating-point operation (see fp).
Fields
Ext
Output output of an extension call (see ext).
Trait Implementations§
impl Copy for View
impl Eq for View
impl StructuralPartialEq for View
Auto Trait Implementations§
impl Freeze for View
impl RefUnwindSafe for View
impl Send for View
impl Sync for View
impl Unpin for View
impl UnsafeUnpin for View
impl UnwindSafe for View
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