Enum moore_svlog_syntax::ast::DataTypeData
source · [−]pub enum DataTypeData<'a> {
Int {
ty: Spanned<IntType>,
signing: Option<TypeSign>,
packed_dims: Vec<PackedDim<'a>>,
},
Real(RealType),
Struct {
def: Struct<'a>,
packed_dims: Vec<PackedDim<'a>>,
},
Enum {
def: Enum<'a>,
packed_dims: Vec<PackedDim<'a>>,
},
String,
Chandle,
Named {
path: Vec<PathSegment<'a>>,
packed_dims: Vec<PackedDim<'a>>,
},
Event,
TypeRef(Box<TypeOrExpr<'a>>),
}
Expand description
A data type.
From §A.2.2.1 (extended to be context-free):
data_type ::=
integer_vector_type signing? packed_dimension*
integer_atom_type signing?
non_integer_type
("struct"|"union") ("packed" signing?)? "{" struct_union_member+ "}" packed_dimension*
"enum" enum_base_type? "{" enum_name_declaration ("," enum_name_declaration)* "}" packed_dimension*
"string"
"chandle"
path_segment ("::" path_segment)* packed_dimension*
"event"
type_reference
path_segment ::=
"$unit"
package_identifier
class_identifier (param_value_assignment)?
type_identifier
Variants
Int
An integer type, like bit
, logic signed
, reg signed [42:0]
, int
,
or int unsigned
.
Real(RealType)
A real type.
Struct
A struct or union type.
Enum
An enum type.
String
A string
.
Chandle
A chandle
.
Named
A named type.
Event
An event
.
TypeRef(Box<TypeOrExpr<'a>>)
A type reference, like type(<type>)
or type(<expr>)
.
Trait Implementations
sourceimpl<'a> AcceptVisitor<'a> for DataTypeData<'a>
impl<'a> AcceptVisitor<'a> for DataTypeData<'a>
sourceimpl<'a> AnyNodeData for DataTypeData<'a>
impl<'a> AnyNodeData for DataTypeData<'a>
sourcefn get_name(&self) -> Option<Spanned<Name>>
fn get_name(&self) -> Option<Spanned<Name>>
Get this node’s name, or None
if it does not have one.
sourcefn fmt_indefinite(&self, fmt: &mut Formatter<'_>) -> Result
fn fmt_indefinite(&self, fmt: &mut Formatter<'_>) -> Result
Describe this node for diagnostics in indefinite form, e.g. “entity”. Read more
sourcefn fmt_definite(&self, fmt: &mut Formatter<'_>) -> Result
fn fmt_definite(&self, fmt: &mut Formatter<'_>) -> Result
Describe this node for diagnostics in definite form, e.g. “entity ‘top’”. Read more
fn as_data(&self) -> &dyn AnyNodeData where
Self: Sized,
sourcefn format_indefinite(&self) -> FormatNodeIndefinite<'_> where
Self: Sized,
fn format_indefinite(&self) -> FormatNodeIndefinite<'_> where
Self: Sized,
Describe this node for diagnostics in indefinite form, e.g. “entity”.
sourcefn format_definite(&self) -> FormatNodeDefinite<'_> where
Self: Sized,
fn format_definite(&self) -> FormatNodeDefinite<'_> where
Self: Sized,
Describe this node for diagnostics in definite form, e.g. “entity ‘top’”. Read more
sourcefn to_indefinite_string(&self) -> String where
Self: Sized,
fn to_indefinite_string(&self) -> String where
Self: Sized,
Describe this node for diagnostics in indefinite form, e.g. “entity”.
sourcefn to_definite_string(&self) -> String where
Self: Sized,
fn to_definite_string(&self) -> String where
Self: Sized,
Describe this node for diagnostics in definite form, e.g. “entity ‘top’”. Read more
sourceimpl<'a> Clone for DataTypeData<'a>
impl<'a> Clone for DataTypeData<'a>
sourcefn clone(&self) -> DataTypeData<'a>
fn clone(&self) -> DataTypeData<'a>
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
sourceimpl<'a> Debug for DataTypeData<'a>
impl<'a> Debug for DataTypeData<'a>
sourceimpl<'a> ForEachChild<'a> for DataTypeData<'a>
impl<'a> ForEachChild<'a> for DataTypeData<'a>
sourcefn for_each_child(&'a self, each: &mut dyn FnMut(&'a dyn AnyNode<'a>))
fn for_each_child(&'a self, each: &mut dyn FnMut(&'a dyn AnyNode<'a>))
Apply a function to each child node.
sourceimpl<'a> ForEachNode<'a> for DataTypeData<'a>
impl<'a> ForEachNode<'a> for DataTypeData<'a>
sourcefn for_each_node(&'a self, each: &mut dyn FnMut(&'a dyn AnyNode<'a>))
fn for_each_node(&'a self, each: &mut dyn FnMut(&'a dyn AnyNode<'a>))
Apply a function to this node.
sourceimpl<'a> PartialEq<DataTypeData<'a>> for DataTypeData<'a>
impl<'a> PartialEq<DataTypeData<'a>> for DataTypeData<'a>
sourcefn eq(&self, other: &DataTypeData<'a>) -> bool
fn eq(&self, other: &DataTypeData<'a>) -> bool
This method tests for self
and other
values to be equal, and is used
by ==
. Read more
sourcefn ne(&self, other: &DataTypeData<'a>) -> bool
fn ne(&self, other: &DataTypeData<'a>) -> bool
This method tests for !=
.
impl<'a> Eq for DataTypeData<'a>
impl<'a> StructuralEq for DataTypeData<'a>
impl<'a> StructuralPartialEq for DataTypeData<'a>
Auto Trait Implementations
impl<'a> !RefUnwindSafe for DataTypeData<'a>
impl<'a> Send for DataTypeData<'a>
impl<'a> Sync for DataTypeData<'a>
impl<'a> Unpin for DataTypeData<'a>
impl<'a> !UnwindSafe for DataTypeData<'a>
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcepub fn borrow_mut(&mut self) -> &mut T
pub fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcepub fn to_owned(&self) -> T
pub fn to_owned(&self) -> T
Creates owned data from borrowed data, usually by cloning. Read more
sourcepub fn clone_into(&self, target: &mut T)
pub fn clone_into(&self, target: &mut T)
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more