pub struct Node<'a, T> {
pub id: NodeId,
pub span: Span,
pub parent: Cell<Option<&'a dyn AnyNode<'a>>>,
pub order: Cell<usize>,
pub data: T,
}
Expand description
Common denominator across all AST nodes.
Fields§
§id: NodeId
Unique ID assigned to the node.
span: Span
Full span the node covers in the input.
parent: Cell<Option<&'a dyn AnyNode<'a>>>
Parent node.
order: Cell<usize>
Lexical order of the node.
data: T
Per-node data.
Implementations§
Source§impl<'a> Node<'a, TypeData<'a>>
impl<'a> Node<'a, TypeData<'a>>
Sourcepub fn is_implicit(&self) -> bool
pub fn is_implicit(&self) -> bool
Check if this is an implicit type.
Source§impl<'a> Node<'a, TypeKindData<'a>>
impl<'a> Node<'a, TypeKindData<'a>>
Sourcepub fn is_implicit(&self) -> bool
pub fn is_implicit(&self) -> bool
Check if this is an implicit type.
Trait Implementations§
Source§impl<'a, 'b: 'a, T> AcceptVisitor<'a> for Node<'b, T>where
T: AcceptVisitor<'a>,
impl<'a, 'b: 'a, T> AcceptVisitor<'a> for Node<'b, T>where
T: AcceptVisitor<'a>,
Source§impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, CallArgData<'a>>> for Arena<'a>where
'a: 'arena,
impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, CallArgData<'a>>> for Arena<'a>where
'a: 'arena,
Source§impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, ClassDeclData<'a>>> for Arena<'a>where
'a: 'arena,
impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, ClassDeclData<'a>>> for Arena<'a>where
'a: 'arena,
Source§impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, ContAssignData<'a>>> for Arena<'a>where
'a: 'arena,
impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, ContAssignData<'a>>> for Arena<'a>where
'a: 'arena,
Source§fn alloc(&'arena self, value: ContAssign<'a>) -> &'arena mut ContAssign<'a>
fn alloc(&'arena self, value: ContAssign<'a>) -> &'arena mut ContAssign<'a>
Allocate a value of type
T
.Source§impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, DataTypeData<'a>>> for Arena<'a>where
'a: 'arena,
impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, DataTypeData<'a>>> for Arena<'a>where
'a: 'arena,
Source§impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, DpiDeclData<'a>>> for Arena<'a>where
'a: 'arena,
impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, DpiDeclData<'a>>> for Arena<'a>where
'a: 'arena,
Source§impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, EnumData<'a>>> for Arena<'a>where
'a: 'arena,
impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, EnumData<'a>>> for Arena<'a>where
'a: 'arena,
Source§impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, EnumNameData<'a>>> for Arena<'a>where
'a: 'arena,
impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, EnumNameData<'a>>> for Arena<'a>where
'a: 'arena,
Source§impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, ExprData<'a>>> for Arena<'a>where
'a: 'arena,
impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, ExprData<'a>>> for Arena<'a>where
'a: 'arena,
Source§impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, ForeachIndexData>> for Arena<'a>where
'a: 'arena,
impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, ForeachIndexData>> for Arena<'a>where
'a: 'arena,
Source§fn alloc(&'arena self, value: ForeachIndex<'a>) -> &'arena mut ForeachIndex<'a>
fn alloc(&'arena self, value: ForeachIndex<'a>) -> &'arena mut ForeachIndex<'a>
Allocate a value of type
T
.Source§impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, GenerateBlockData<'a>>> for Arena<'a>where
'a: 'arena,
impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, GenerateBlockData<'a>>> for Arena<'a>where
'a: 'arena,
Source§fn alloc(
&'arena self,
value: GenerateBlock<'a>,
) -> &'arena mut GenerateBlock<'a>
fn alloc( &'arena self, value: GenerateBlock<'a>, ) -> &'arena mut GenerateBlock<'a>
Allocate a value of type
T
.Source§impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, GenerateCaseData>> for Arena<'a>where
'a: 'arena,
impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, GenerateCaseData>> for Arena<'a>where
'a: 'arena,
Source§fn alloc(&'arena self, value: GenerateCase<'a>) -> &'arena mut GenerateCase<'a>
fn alloc(&'arena self, value: GenerateCase<'a>) -> &'arena mut GenerateCase<'a>
Allocate a value of type
T
.Source§impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, GenerateForData<'a>>> for Arena<'a>where
'a: 'arena,
impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, GenerateForData<'a>>> for Arena<'a>where
'a: 'arena,
Source§fn alloc(&'arena self, value: GenerateFor<'a>) -> &'arena mut GenerateFor<'a>
fn alloc(&'arena self, value: GenerateFor<'a>) -> &'arena mut GenerateFor<'a>
Allocate a value of type
T
.Source§impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, GenerateIfData<'a>>> for Arena<'a>where
'a: 'arena,
impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, GenerateIfData<'a>>> for Arena<'a>where
'a: 'arena,
Source§fn alloc(&'arena self, value: GenerateIf<'a>) -> &'arena mut GenerateIf<'a>
fn alloc(&'arena self, value: GenerateIf<'a>) -> &'arena mut GenerateIf<'a>
Allocate a value of type
T
.Source§impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, GenvarDeclData<'a>>> for Arena<'a>where
'a: 'arena,
impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, GenvarDeclData<'a>>> for Arena<'a>where
'a: 'arena,
Source§fn alloc(&'arena self, value: GenvarDecl<'a>) -> &'arena mut GenvarDecl<'a>
fn alloc(&'arena self, value: GenvarDecl<'a>) -> &'arena mut GenvarDecl<'a>
Allocate a value of type
T
.Source§impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, ImplicitDataTypeData<'a>>> for Arena<'a>where
'a: 'arena,
impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, ImplicitDataTypeData<'a>>> for Arena<'a>where
'a: 'arena,
Source§fn alloc(
&'arena self,
value: ImplicitDataType<'a>,
) -> &'arena mut ImplicitDataType<'a>
fn alloc( &'arena self, value: ImplicitDataType<'a>, ) -> &'arena mut ImplicitDataType<'a>
Allocate a value of type
T
.Source§impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, ImportDeclData<'a>>> for Arena<'a>where
'a: 'arena,
impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, ImportDeclData<'a>>> for Arena<'a>where
'a: 'arena,
Source§fn alloc(&'arena self, value: ImportDecl<'a>) -> &'arena mut ImportDecl<'a>
fn alloc(&'arena self, value: ImportDecl<'a>) -> &'arena mut ImportDecl<'a>
Allocate a value of type
T
.Source§impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, ImportItemData>> for Arena<'a>where
'a: 'arena,
impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, ImportItemData>> for Arena<'a>where
'a: 'arena,
Source§fn alloc(&'arena self, value: ImportItem<'a>) -> &'arena mut ImportItem<'a>
fn alloc(&'arena self, value: ImportItem<'a>) -> &'arena mut ImportItem<'a>
Allocate a value of type
T
.Source§impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, InstData<'a>>> for Arena<'a>where
'a: 'arena,
impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, InstData<'a>>> for Arena<'a>where
'a: 'arena,
Source§impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, InstNameData<'a>>> for Arena<'a>where
'a: 'arena,
impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, InstNameData<'a>>> for Arena<'a>where
'a: 'arena,
Source§impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, InterfaceData<'a>>> for Arena<'a>where
'a: 'arena,
impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, InterfaceData<'a>>> for Arena<'a>where
'a: 'arena,
Source§impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, ItemData<'a>>> for Arena<'a>where
'a: 'arena,
impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, ItemData<'a>>> for Arena<'a>where
'a: 'arena,
Source§impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, ModportData<'a>>> for Arena<'a>where
'a: 'arena,
impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, ModportData<'a>>> for Arena<'a>where
'a: 'arena,
Source§impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, ModportNameData<'a>>> for Arena<'a>where
'a: 'arena,
impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, ModportNameData<'a>>> for Arena<'a>where
'a: 'arena,
Source§fn alloc(&'arena self, value: ModportName<'a>) -> &'arena mut ModportName<'a>
fn alloc(&'arena self, value: ModportName<'a>) -> &'arena mut ModportName<'a>
Allocate a value of type
T
.Source§impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, ModportPortData<'a>>> for Arena<'a>where
'a: 'arena,
impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, ModportPortData<'a>>> for Arena<'a>where
'a: 'arena,
Source§fn alloc(&'arena self, value: ModportPort<'a>) -> &'arena mut ModportPort<'a>
fn alloc(&'arena self, value: ModportPort<'a>) -> &'arena mut ModportPort<'a>
Allocate a value of type
T
.Source§impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, ModportSimplePortData<'a>>> for Arena<'a>where
'a: 'arena,
impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, ModportSimplePortData<'a>>> for Arena<'a>where
'a: 'arena,
Source§fn alloc(
&'arena self,
value: ModportSimplePort<'a>,
) -> &'arena mut ModportSimplePort<'a>
fn alloc( &'arena self, value: ModportSimplePort<'a>, ) -> &'arena mut ModportSimplePort<'a>
Allocate a value of type
T
.Source§impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, ModuleData<'a>>> for Arena<'a>where
'a: 'arena,
impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, ModuleData<'a>>> for Arena<'a>where
'a: 'arena,
Source§impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, NetDeclData<'a>>> for Arena<'a>where
'a: 'arena,
impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, NetDeclData<'a>>> for Arena<'a>where
'a: 'arena,
Source§impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, PackageData<'a>>> for Arena<'a>where
'a: 'arena,
impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, PackageData<'a>>> for Arena<'a>where
'a: 'arena,
Source§impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, PackedDimData<'a>>> for Arena<'a>where
'a: 'arena,
impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, PackedDimData<'a>>> for Arena<'a>where
'a: 'arena,
Source§impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, ParamDeclData<'a>>> for Arena<'a>where
'a: 'arena,
impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, ParamDeclData<'a>>> for Arena<'a>where
'a: 'arena,
Source§impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, ParamTypeDeclData<'a>>> for Arena<'a>where
'a: 'arena,
impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, ParamTypeDeclData<'a>>> for Arena<'a>where
'a: 'arena,
Source§fn alloc(
&'arena self,
value: ParamTypeDecl<'a>,
) -> &'arena mut ParamTypeDecl<'a>
fn alloc( &'arena self, value: ParamTypeDecl<'a>, ) -> &'arena mut ParamTypeDecl<'a>
Allocate a value of type
T
.Source§impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, ParamValueDeclData<'a>>> for Arena<'a>where
'a: 'arena,
impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, ParamValueDeclData<'a>>> for Arena<'a>where
'a: 'arena,
Source§fn alloc(
&'arena self,
value: ParamValueDecl<'a>,
) -> &'arena mut ParamValueDecl<'a>
fn alloc( &'arena self, value: ParamValueDecl<'a>, ) -> &'arena mut ParamValueDecl<'a>
Allocate a value of type
T
.Source§impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, PathSegmentData<'a>>> for Arena<'a>where
'a: 'arena,
impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, PathSegmentData<'a>>> for Arena<'a>where
'a: 'arena,
Source§fn alloc(&'arena self, value: PathSegment<'a>) -> &'arena mut PathSegment<'a>
fn alloc(&'arena self, value: PathSegment<'a>) -> &'arena mut PathSegment<'a>
Allocate a value of type
T
.Source§impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, PatternFieldData<'a>>> for Arena<'a>where
'a: 'arena,
impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, PatternFieldData<'a>>> for Arena<'a>where
'a: 'arena,
Source§fn alloc(&'arena self, value: PatternField<'a>) -> &'arena mut PatternField<'a>
fn alloc(&'arena self, value: PatternField<'a>) -> &'arena mut PatternField<'a>
Allocate a value of type
T
.Source§impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, PortConnData<'a>>> for Arena<'a>where
'a: 'arena,
impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, PortConnData<'a>>> for Arena<'a>where
'a: 'arena,
Source§impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, PortData<'a>>> for Arena<'a>where
'a: 'arena,
impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, PortData<'a>>> for Arena<'a>where
'a: 'arena,
Source§impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, PortDeclData<'a>>> for Arena<'a>where
'a: 'arena,
impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, PortDeclData<'a>>> for Arena<'a>where
'a: 'arena,
Source§impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, ProcedureData<'a>>> for Arena<'a>where
'a: 'arena,
impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, ProcedureData<'a>>> for Arena<'a>where
'a: 'arena,
Source§impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, RootData<'a>>> for Arena<'a>where
'a: 'arena,
impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, RootData<'a>>> for Arena<'a>where
'a: 'arena,
Source§impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, SourceFileData<'a>>> for Arena<'a>where
'a: 'arena,
impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, SourceFileData<'a>>> for Arena<'a>where
'a: 'arena,
Source§fn alloc(&'arena self, value: SourceFile<'a>) -> &'arena mut SourceFile<'a>
fn alloc(&'arena self, value: SourceFile<'a>) -> &'arena mut SourceFile<'a>
Allocate a value of type
T
.Source§impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, StmtData<'a>>> for Arena<'a>where
'a: 'arena,
impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, StmtData<'a>>> for Arena<'a>where
'a: 'arena,
Source§impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, StructData<'a>>> for Arena<'a>where
'a: 'arena,
impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, StructData<'a>>> for Arena<'a>where
'a: 'arena,
Source§impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, StructMemberData<'a>>> for Arena<'a>where
'a: 'arena,
impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, StructMemberData<'a>>> for Arena<'a>where
'a: 'arena,
Source§fn alloc(&'arena self, value: StructMember<'a>) -> &'arena mut StructMember<'a>
fn alloc(&'arena self, value: StructMember<'a>) -> &'arena mut StructMember<'a>
Allocate a value of type
T
.Source§impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, SubroutineDeclData<'a>>> for Arena<'a>where
'a: 'arena,
impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, SubroutineDeclData<'a>>> for Arena<'a>where
'a: 'arena,
Source§fn alloc(
&'arena self,
value: SubroutineDecl<'a>,
) -> &'arena mut SubroutineDecl<'a>
fn alloc( &'arena self, value: SubroutineDecl<'a>, ) -> &'arena mut SubroutineDecl<'a>
Allocate a value of type
T
.Source§impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, SubroutinePortData<'a>>> for Arena<'a>where
'a: 'arena,
impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, SubroutinePortData<'a>>> for Arena<'a>where
'a: 'arena,
Source§fn alloc(
&'arena self,
value: SubroutinePort<'a>,
) -> &'arena mut SubroutinePort<'a>
fn alloc( &'arena self, value: SubroutinePort<'a>, ) -> &'arena mut SubroutinePort<'a>
Allocate a value of type
T
.Source§impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, SubroutinePortDeclData<'a>>> for Arena<'a>where
'a: 'arena,
impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, SubroutinePortDeclData<'a>>> for Arena<'a>where
'a: 'arena,
Source§fn alloc(
&'arena self,
value: SubroutinePortDecl<'a>,
) -> &'arena mut SubroutinePortDecl<'a>
fn alloc( &'arena self, value: SubroutinePortDecl<'a>, ) -> &'arena mut SubroutinePortDecl<'a>
Allocate a value of type
T
.Source§impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, SubroutinePrototypeData<'a>>> for Arena<'a>where
'a: 'arena,
impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, SubroutinePrototypeData<'a>>> for Arena<'a>where
'a: 'arena,
Source§fn alloc(
&'arena self,
value: SubroutinePrototype<'a>,
) -> &'arena mut SubroutinePrototype<'a>
fn alloc( &'arena self, value: SubroutinePrototype<'a>, ) -> &'arena mut SubroutinePrototype<'a>
Allocate a value of type
T
.Source§impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, TypeData<'a>>> for Arena<'a>where
'a: 'arena,
impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, TypeData<'a>>> for Arena<'a>where
'a: 'arena,
Source§impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, TypeKindData<'a>>> for Arena<'a>where
'a: 'arena,
impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, TypeKindData<'a>>> for Arena<'a>where
'a: 'arena,
Source§impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, TypedefData<'a>>> for Arena<'a>where
'a: 'arena,
impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, TypedefData<'a>>> for Arena<'a>where
'a: 'arena,
Source§impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, UnpackedDimData<'a>>> for Arena<'a>where
'a: 'arena,
impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, UnpackedDimData<'a>>> for Arena<'a>where
'a: 'arena,
Source§fn alloc(&'arena self, value: UnpackedDim<'a>) -> &'arena mut UnpackedDim<'a>
fn alloc(&'arena self, value: UnpackedDim<'a>) -> &'arena mut UnpackedDim<'a>
Allocate a value of type
T
.Source§impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, VarDeclData<'a>>> for Arena<'a>where
'a: 'arena,
impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, VarDeclData<'a>>> for Arena<'a>where
'a: 'arena,
Source§impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, VarDeclNameData<'a>>> for Arena<'a>where
'a: 'arena,
impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, VarDeclNameData<'a>>> for Arena<'a>where
'a: 'arena,
Source§fn alloc(&'arena self, value: VarDeclName<'a>) -> &'arena mut VarDeclName<'a>
fn alloc(&'arena self, value: VarDeclName<'a>) -> &'arena mut VarDeclName<'a>
Allocate a value of type
T
.Source§impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, VarDimData<'a>>> for Arena<'a>where
'a: 'arena,
impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, VarDimData<'a>>> for Arena<'a>where
'a: 'arena,
Source§impl<'a, T> AnyNode<'a> for Node<'a, T>
Automatically implement AnyNode
for Node<T>
if enough information is
present.
impl<'a, T> AnyNode<'a> for Node<'a, T>
Automatically implement AnyNode
for Node<T>
if enough information is
present.
Source§fn get_parent(&self) -> Option<&'a dyn AnyNode<'a>>
fn get_parent(&self) -> Option<&'a dyn AnyNode<'a>>
Get this node’s parent.
Source§fn link_attach(&'a self, parent: &'a dyn AnyNode<'a>, order: usize)
fn link_attach(&'a self, parent: &'a dyn AnyNode<'a>, order: usize)
Link up this node as an expansion of another node. Read more
Source§fn human_span(&self) -> Span
fn human_span(&self) -> Span
Get a span that is terse and suitable to pinpoint the node for a human.
Source§impl<'a, T> AnyNodeData for Node<'a, T>where
T: AnyNodeData,
Automatically implement AnyNodeData
for Node<T>
if the inner node
implements it.
impl<'a, T> AnyNodeData for Node<'a, T>where
T: AnyNodeData,
Automatically implement AnyNodeData
for Node<T>
if the inner node
implements it.
Source§fn 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.Source§fn 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
Source§fn 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 AnyNodeDatawhere
Self: Sized,
Source§fn 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”.
Source§fn 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’”.
Source§fn to_indefinite_string(&self) -> Stringwhere
Self: Sized,
fn to_indefinite_string(&self) -> Stringwhere
Self: Sized,
Describe this node for diagnostics in indefinite form, e.g. “entity”.
Source§fn to_definite_string(&self) -> Stringwhere
Self: Sized,
fn to_definite_string(&self) -> Stringwhere
Self: Sized,
Describe this node for diagnostics in definite form, e.g. “entity
‘top’”.
Source§impl<'a, T> Display for Node<'a, T>where
T: AnyNodeData,
Allow any node to be printed in diagnostics in a human-friendly form.
impl<'a, T> Display for Node<'a, T>where
T: AnyNodeData,
Allow any node to be printed in diagnostics in a human-friendly form.
Source§impl<'a, T> ForEachChild<'a> for Node<'a, T>where
T: ForEachChild<'a>,
impl<'a, T> ForEachChild<'a> for Node<'a, T>where
T: ForEachChild<'a>,
Source§fn 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.
Source§impl<'a, T> ForEachNode<'a> for Node<'a, T>
impl<'a, T> ForEachNode<'a> for Node<'a, T>
Source§fn 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.
Source§impl<'a> From<&'a Node<'a, ContAssignData<'a>>> for AllNode<'a>
impl<'a> From<&'a Node<'a, ContAssignData<'a>>> for AllNode<'a>
Source§fn from(node: &'a ContAssign<'a>) -> Self
fn from(node: &'a ContAssign<'a>) -> Self
Converts to this type from the input type.
Source§impl<'a> From<&'a Node<'a, ForeachIndexData>> for AllNode<'a>
impl<'a> From<&'a Node<'a, ForeachIndexData>> for AllNode<'a>
Source§fn from(node: &'a ForeachIndex<'a>) -> Self
fn from(node: &'a ForeachIndex<'a>) -> Self
Converts to this type from the input type.
Source§impl<'a> From<&'a Node<'a, GenerateBlockData<'a>>> for AllNode<'a>
impl<'a> From<&'a Node<'a, GenerateBlockData<'a>>> for AllNode<'a>
Source§fn from(node: &'a GenerateBlock<'a>) -> Self
fn from(node: &'a GenerateBlock<'a>) -> Self
Converts to this type from the input type.
Source§impl<'a> From<&'a Node<'a, GenerateCaseData>> for AllNode<'a>
impl<'a> From<&'a Node<'a, GenerateCaseData>> for AllNode<'a>
Source§fn from(node: &'a GenerateCase<'a>) -> Self
fn from(node: &'a GenerateCase<'a>) -> Self
Converts to this type from the input type.
Source§impl<'a> From<&'a Node<'a, GenerateForData<'a>>> for AllNode<'a>
impl<'a> From<&'a Node<'a, GenerateForData<'a>>> for AllNode<'a>
Source§fn from(node: &'a GenerateFor<'a>) -> Self
fn from(node: &'a GenerateFor<'a>) -> Self
Converts to this type from the input type.
Source§impl<'a> From<&'a Node<'a, GenerateIfData<'a>>> for AllNode<'a>
impl<'a> From<&'a Node<'a, GenerateIfData<'a>>> for AllNode<'a>
Source§fn from(node: &'a GenerateIf<'a>) -> Self
fn from(node: &'a GenerateIf<'a>) -> Self
Converts to this type from the input type.
Source§impl<'a> From<&'a Node<'a, GenvarDeclData<'a>>> for AllNode<'a>
impl<'a> From<&'a Node<'a, GenvarDeclData<'a>>> for AllNode<'a>
Source§fn from(node: &'a GenvarDecl<'a>) -> Self
fn from(node: &'a GenvarDecl<'a>) -> Self
Converts to this type from the input type.
Source§impl<'a> From<&'a Node<'a, ImplicitDataTypeData<'a>>> for AllNode<'a>
impl<'a> From<&'a Node<'a, ImplicitDataTypeData<'a>>> for AllNode<'a>
Source§fn from(node: &'a ImplicitDataType<'a>) -> Self
fn from(node: &'a ImplicitDataType<'a>) -> Self
Converts to this type from the input type.
Source§impl<'a> From<&'a Node<'a, ImportDeclData<'a>>> for AllNode<'a>
impl<'a> From<&'a Node<'a, ImportDeclData<'a>>> for AllNode<'a>
Source§fn from(node: &'a ImportDecl<'a>) -> Self
fn from(node: &'a ImportDecl<'a>) -> Self
Converts to this type from the input type.
Source§impl<'a> From<&'a Node<'a, ImportItemData>> for AllNode<'a>
impl<'a> From<&'a Node<'a, ImportItemData>> for AllNode<'a>
Source§fn from(node: &'a ImportItem<'a>) -> Self
fn from(node: &'a ImportItem<'a>) -> Self
Converts to this type from the input type.
Source§impl<'a> From<&'a Node<'a, ModportNameData<'a>>> for AllNode<'a>
impl<'a> From<&'a Node<'a, ModportNameData<'a>>> for AllNode<'a>
Source§fn from(node: &'a ModportName<'a>) -> Self
fn from(node: &'a ModportName<'a>) -> Self
Converts to this type from the input type.
Source§impl<'a> From<&'a Node<'a, ModportPortData<'a>>> for AllNode<'a>
impl<'a> From<&'a Node<'a, ModportPortData<'a>>> for AllNode<'a>
Source§fn from(node: &'a ModportPort<'a>) -> Self
fn from(node: &'a ModportPort<'a>) -> Self
Converts to this type from the input type.
Source§impl<'a> From<&'a Node<'a, ModportSimplePortData<'a>>> for AllNode<'a>
impl<'a> From<&'a Node<'a, ModportSimplePortData<'a>>> for AllNode<'a>
Source§fn from(node: &'a ModportSimplePort<'a>) -> Self
fn from(node: &'a ModportSimplePort<'a>) -> Self
Converts to this type from the input type.
Source§impl<'a> From<&'a Node<'a, ParamTypeDeclData<'a>>> for AllNode<'a>
impl<'a> From<&'a Node<'a, ParamTypeDeclData<'a>>> for AllNode<'a>
Source§fn from(node: &'a ParamTypeDecl<'a>) -> Self
fn from(node: &'a ParamTypeDecl<'a>) -> Self
Converts to this type from the input type.
Source§impl<'a> From<&'a Node<'a, ParamValueDeclData<'a>>> for AllNode<'a>
impl<'a> From<&'a Node<'a, ParamValueDeclData<'a>>> for AllNode<'a>
Source§fn from(node: &'a ParamValueDecl<'a>) -> Self
fn from(node: &'a ParamValueDecl<'a>) -> Self
Converts to this type from the input type.
Source§impl<'a> From<&'a Node<'a, PathSegmentData<'a>>> for AllNode<'a>
impl<'a> From<&'a Node<'a, PathSegmentData<'a>>> for AllNode<'a>
Source§fn from(node: &'a PathSegment<'a>) -> Self
fn from(node: &'a PathSegment<'a>) -> Self
Converts to this type from the input type.
Source§impl<'a> From<&'a Node<'a, PatternFieldData<'a>>> for AllNode<'a>
impl<'a> From<&'a Node<'a, PatternFieldData<'a>>> for AllNode<'a>
Source§fn from(node: &'a PatternField<'a>) -> Self
fn from(node: &'a PatternField<'a>) -> Self
Converts to this type from the input type.
Source§impl<'a> From<&'a Node<'a, SourceFileData<'a>>> for AllNode<'a>
impl<'a> From<&'a Node<'a, SourceFileData<'a>>> for AllNode<'a>
Source§fn from(node: &'a SourceFile<'a>) -> Self
fn from(node: &'a SourceFile<'a>) -> Self
Converts to this type from the input type.
Source§impl<'a> From<&'a Node<'a, StructMemberData<'a>>> for AllNode<'a>
impl<'a> From<&'a Node<'a, StructMemberData<'a>>> for AllNode<'a>
Source§fn from(node: &'a StructMember<'a>) -> Self
fn from(node: &'a StructMember<'a>) -> Self
Converts to this type from the input type.
Source§impl<'a> From<&'a Node<'a, SubroutineDeclData<'a>>> for AllNode<'a>
impl<'a> From<&'a Node<'a, SubroutineDeclData<'a>>> for AllNode<'a>
Source§fn from(node: &'a SubroutineDecl<'a>) -> Self
fn from(node: &'a SubroutineDecl<'a>) -> Self
Converts to this type from the input type.
Source§impl<'a> From<&'a Node<'a, SubroutinePortData<'a>>> for AllNode<'a>
impl<'a> From<&'a Node<'a, SubroutinePortData<'a>>> for AllNode<'a>
Source§fn from(node: &'a SubroutinePort<'a>) -> Self
fn from(node: &'a SubroutinePort<'a>) -> Self
Converts to this type from the input type.
Source§impl<'a> From<&'a Node<'a, SubroutinePortDeclData<'a>>> for AllNode<'a>
impl<'a> From<&'a Node<'a, SubroutinePortDeclData<'a>>> for AllNode<'a>
Source§fn from(node: &'a SubroutinePortDecl<'a>) -> Self
fn from(node: &'a SubroutinePortDecl<'a>) -> Self
Converts to this type from the input type.
Source§impl<'a> From<&'a Node<'a, SubroutinePrototypeData<'a>>> for AllNode<'a>
impl<'a> From<&'a Node<'a, SubroutinePrototypeData<'a>>> for AllNode<'a>
Source§fn from(node: &'a SubroutinePrototype<'a>) -> Self
fn from(node: &'a SubroutinePrototype<'a>) -> Self
Converts to this type from the input type.
Source§impl<'a> From<&'a Node<'a, UnpackedDimData<'a>>> for AllNode<'a>
impl<'a> From<&'a Node<'a, UnpackedDimData<'a>>> for AllNode<'a>
Source§fn from(node: &'a UnpackedDim<'a>) -> Self
fn from(node: &'a UnpackedDim<'a>) -> Self
Converts to this type from the input type.
Source§impl<'a> From<&'a Node<'a, VarDeclNameData<'a>>> for AllNode<'a>
impl<'a> From<&'a Node<'a, VarDeclNameData<'a>>> for AllNode<'a>
Source§fn from(node: &'a VarDeclName<'a>) -> Self
fn from(node: &'a VarDeclName<'a>) -> Self
Converts to this type from the input type.
impl<'a, T> Eq for Node<'a, T>
impl<'a, T> Send for Node<'a, T>where
T: Send,
impl<'a, T> Sync for Node<'a, T>where
T: Sync,
Auto Trait Implementations§
impl<'a, T> !Freeze for Node<'a, T>
impl<'a, T> !RefUnwindSafe for Node<'a, T>
impl<'a, T> Unpin for Node<'a, T>where
T: Unpin,
impl<'a, T> !UnwindSafe for Node<'a, T>
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