Enum moore_svlog::mir::LvalueKind [−][src]
pub enum LvalueKind<'a> {
Show 13 variants
Transmute(&'a Lvalue<'a>),
DestructArray(Vec<&'a Lvalue<'a>>),
DestructStruct(Vec<&'a Lvalue<'a>>),
Genvar(NodeId),
Var(NodeId),
Port(NodeId),
Intf(NodeId),
IntfSignal(&'a Lvalue<'a>, NodeId),
Index {
value: &'a Lvalue<'a>,
base: &'a Rvalue<'a>,
length: usize,
},
Member {
value: &'a Lvalue<'a>,
field: usize,
},
Concat(Vec<&'a Lvalue<'a>>),
Repeat(usize, &'a Lvalue<'a>),
Error,
}
Expand description
The different forms an lvalue expression may take.
Variants
Transmute(&'a Lvalue<'a>)
A type cast which does not incur any operation. For example, going from
bit [31:0]
to int
, or vice versa.
Tuple Fields of Transmute
0: &'a Lvalue<'a>
Destructor for an array.
Destructor for a struct.
Genvar(NodeId)
A reference to a genvar declaration.
Tuple Fields of Genvar
0: NodeId
Var(NodeId)
A reference to a variable declaration.
Tuple Fields of Var
0: NodeId
Port(NodeId)
A reference to a port declaration.
Tuple Fields of Port
0: NodeId
Intf(NodeId)
A reference to an interface.
Tuple Fields of Intf
0: NodeId
A reference to an interface’s signal.
A bit- or part-select.
A struct field access.
Concatenate multiple values.
The values are cast to and treated as packed bit vectors, and the result is yet another packed bit vector. The lowest index corresponds to the left-most item in the concatenation, which is at the MSB end of the final 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.
An error occurred during lowering.
Implementations
Trait Implementations
This method tests for self
and other
values to be equal, and is used
by ==
. Read more
This method tests for !=
.
Auto Trait Implementations
impl<'a> !RefUnwindSafe for LvalueKind<'a>
impl<'a> Send for LvalueKind<'a>
impl<'a> Sync for LvalueKind<'a>
impl<'a> Unpin for LvalueKind<'a>
impl<'a> !UnwindSafe for LvalueKind<'a>
Blanket Implementations
Mutably borrows from an owned value. Read more