[−][src]Enum moore_svlog::mir::RvalueKind
The different forms an rvalue expression may take.
Variants
A cast from a four-valued type to a two-valued type, or vice versa.
E.g. integer
to int
, or int
to integer
.
A cast from a single-element vector type to an atom type.
E.g. bit [0:0]
to bit
.
A cast from an atom type to a single-element vector type.
E.g. bit
to bit [0:0]
.
A cast from one sign to another. E.g. logic signed
to
logic unsigned
.
CastToBool(&'a Rvalue<'a>)
A cast from a simple bit type to a boolean.
Shrink the width of a vector type. E.g. bit [31:0]
to bit [7:0]
.
Increase the width of a vector by zero extension. E.g. bit [7:0]
to
bit [31:0]
.
Increase the width of a vector by sign extension. E.g. bit signed [7:0]
to bit signed [31:0]
.
Constructor for an array.
Constructor for a struct.
Const(Value<'a>)
A constant value.
A unary bitwise operator.
Fields of UnaryBitwise
op: UnaryBitwiseOp
arg: &'a Rvalue<'a>
A binary bitwise operator.
Fields of BinaryBitwise
An integral unary arithmetic operator.
If any bit of the operand is x/z, the entire result is x.
Fields of IntUnaryArith
An integral binary arithmetic operator.
If any bit of the operands are x/z, the entire result is x.
Fields of IntBinaryArith
An integral comparison operator.
If any bit of the operands are x/z, the entire result is x.
Concatenate multiple values.
The values are cast to and treated as packed bit vectors, and the result is yet another packed bit vector.
Repeat a value multiple times.
The value is cast to and treated as a packed bit vector, and the result is yet another packed bit vector.
Var(NodeId)
A reference to a variable declaration.
Port(NodeId)
A reference to a port declaration.
A bit- or part-select.
Fields of Index
A struct field access.
The ternary operator.
A shift operation.
A reduction operator.
Fields of Reduction
op: BinaryBitwiseOp
arg: &'a Rvalue<'a>
An assignment operator.
Fields of Assignment
An error occurred during lowering.
Methods
impl<'a> RvalueKind<'a>
[src]
Trait Implementations
impl<'a> Clone for RvalueKind<'a>
[src]
fn clone(&self) -> RvalueKind<'a>
[src]
fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl<'a> Debug for RvalueKind<'a>
[src]
impl<'a> Eq for RvalueKind<'a>
[src]
impl<'a> PartialEq<RvalueKind<'a>> for RvalueKind<'a>
[src]
fn eq(&self, other: &RvalueKind<'a>) -> bool
[src]
fn ne(&self, other: &RvalueKind<'a>) -> bool
[src]
impl<'a> StructuralEq for RvalueKind<'a>
[src]
impl<'a> StructuralPartialEq for RvalueKind<'a>
[src]
Auto Trait Implementations
impl<'a> RefUnwindSafe for RvalueKind<'a>
impl<'a> Send for RvalueKind<'a>
impl<'a> Sync for RvalueKind<'a>
impl<'a> Unpin for RvalueKind<'a>
impl<'a> UnwindSafe for RvalueKind<'a>
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<Q, K> Equivalent<K> for Q where
K: Borrow<Q> + ?Sized,
Q: Eq + ?Sized,
[src]
K: Borrow<Q> + ?Sized,
Q: Eq + ?Sized,
fn equivalent(&self, key: &K) -> bool
[src]
impl<T> Erased for T
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T
[src]
fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,