[][src]Struct moore_svlog::ast::Node

pub struct Node<'a, T> {
    pub id: NodeId,
    pub span: Span,
    pub parent: Cell<Option<&'a (dyn AnyNode<'a> + 'a)>>,
    pub order: Cell<usize>,
    pub data: T,
}

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> + 'a)>>

Parent node.

order: Cell<usize>

Lexical order of the node.

data: T

Per-node data.

Implementations

impl<'a, T> Node<'a, T>[src]

pub fn new(span: Span, data: T) -> Node<'a, T>[src]

Create a new AST node.

impl<'a> Node<'a, TypeData<'a>>[src]

pub fn is_implicit(&self) -> bool[src]

Check if this is an implicit type.

impl<'a> Node<'a, TypeKindData<'a>>[src]

pub fn is_implicit(&self) -> bool[src]

Check if this is an implicit type.

impl<'a> Node<'a, StmtData<'a>>[src]

pub fn new_null(span: Span) -> Node<'a, StmtData<'a>>[src]

impl<'a> Node<'a, InstNameData<'a>>[src]

pub fn inst(&self) -> &'a Node<'a, InstData<'a>>[src]

Get the parent instantiation.

Trait Implementations

impl<'a, 'b, T> AcceptVisitor<'a> for Node<'b, T> where
    'b: 'a,
    T: AcceptVisitor<'a>, 
[src]

impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, ClassDeclData<'a>>> for Arena<'a> where
    'a: 'arena, 
[src]

impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, ContAssignData<'a>>> for Arena<'a> where
    'a: 'arena, 
[src]

impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, DataTypeData<'a>>> for Arena<'a> where
    'a: 'arena, 
[src]

impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, DpiDeclData<'a>>> for Arena<'a> where
    'a: 'arena, 
[src]

impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, EnumData<'a>>> for Arena<'a> where
    'a: 'arena, 
[src]

impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, EnumNameData<'a>>> for Arena<'a> where
    'a: 'arena, 
[src]

impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, ExprData<'a>>> for Arena<'a> where
    'a: 'arena, 
[src]

impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, ForeachIndexData>> for Arena<'a> where
    'a: 'arena, 
[src]

impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, GenerateBlockData<'a>>> for Arena<'a> where
    'a: 'arena, 
[src]

impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, GenerateCaseData>> for Arena<'a> where
    'a: 'arena, 
[src]

impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, GenerateForData<'a>>> for Arena<'a> where
    'a: 'arena, 
[src]

impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, GenerateIfData<'a>>> for Arena<'a> where
    'a: 'arena, 
[src]

impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, GenvarDeclData<'a>>> for Arena<'a> where
    'a: 'arena, 
[src]

impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, ImplicitDataTypeData<'a>>> for Arena<'a> where
    'a: 'arena, 
[src]

impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, ImportDeclData<'a>>> for Arena<'a> where
    'a: 'arena, 
[src]

impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, ImportItemData>> for Arena<'a> where
    'a: 'arena, 
[src]

impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, InstData<'a>>> for Arena<'a> where
    'a: 'arena, 
[src]

impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, InstNameData<'a>>> for Arena<'a> where
    'a: 'arena, 
[src]

impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, InterfaceData<'a>>> for Arena<'a> where
    'a: 'arena, 
[src]

impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, ItemData<'a>>> for Arena<'a> where
    'a: 'arena, 
[src]

impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, ModportData<'a>>> for Arena<'a> where
    'a: 'arena, 
[src]

impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, ModportNameData<'a>>> for Arena<'a> where
    'a: 'arena, 
[src]

impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, ModportPortData<'a>>> for Arena<'a> where
    'a: 'arena, 
[src]

impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, ModportSimplePortData<'a>>> for Arena<'a> where
    'a: 'arena, 
[src]

impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, ModuleData<'a>>> for Arena<'a> where
    'a: 'arena, 
[src]

impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, NetDeclData<'a>>> for Arena<'a> where
    'a: 'arena, 
[src]

impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, PackageData<'a>>> for Arena<'a> where
    'a: 'arena, 
[src]

impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, PackedDimData<'a>>> for Arena<'a> where
    'a: 'arena, 
[src]

impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, ParamDeclData<'a>>> for Arena<'a> where
    'a: 'arena, 
[src]

impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, ParamTypeDeclData<'a>>> for Arena<'a> where
    'a: 'arena, 
[src]

impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, ParamValueDeclData<'a>>> for Arena<'a> where
    'a: 'arena, 
[src]

impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, PathSegmentData<'a>>> for Arena<'a> where
    'a: 'arena, 
[src]

impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, PatternFieldData<'a>>> for Arena<'a> where
    'a: 'arena, 
[src]

impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, PortConnData<'a>>> for Arena<'a> where
    'a: 'arena, 
[src]

impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, PortData<'a>>> for Arena<'a> where
    'a: 'arena, 
[src]

impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, PortDeclData<'a>>> for Arena<'a> where
    'a: 'arena, 
[src]

impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, ProcedureData<'a>>> for Arena<'a> where
    'a: 'arena, 
[src]

impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, RootData<'a>>> for Arena<'a> where
    'a: 'arena, 
[src]

impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, SourceFileData<'a>>> for Arena<'a> where
    'a: 'arena, 
[src]

impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, StmtData<'a>>> for Arena<'a> where
    'a: 'arena, 
[src]

impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, StructData<'a>>> for Arena<'a> where
    'a: 'arena, 
[src]

impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, StructMemberData<'a>>> for Arena<'a> where
    'a: 'arena, 
[src]

impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, SubroutineDeclData<'a>>> for Arena<'a> where
    'a: 'arena, 
[src]

impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, SubroutinePortData<'a>>> for Arena<'a> where
    'a: 'arena, 
[src]

impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, SubroutinePrototypeData<'a>>> for Arena<'a> where
    'a: 'arena, 
[src]

impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, TypeData<'a>>> for Arena<'a> where
    'a: 'arena, 
[src]

impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, TypeKindData<'a>>> for Arena<'a> where
    'a: 'arena, 
[src]

impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, TypedefData<'a>>> for Arena<'a> where
    'a: 'arena, 
[src]

impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, UnpackedDimData<'a>>> for Arena<'a> where
    'a: 'arena, 
[src]

impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, VarDeclData<'a>>> for Arena<'a> where
    'a: 'arena, 
[src]

impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, VarDeclNameData<'a>>> for Arena<'a> where
    'a: 'arena, 
[src]

impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, VarDimData<'a>>> for Arena<'a> where
    'a: 'arena, 
[src]

impl<'a, T> AnyNode<'a> for Node<'a, T> where
    T: Debug + ForEachChild<'a> + Send + Sync,
    Node<'a, T>: BasicNode<'a>,
    Node<'a, T>: Display,
    Node<'a, T>: AnyNodeData
[src]

Automatically implement AnyNode for Node<T> if enough information is present.

impl<'a, T> AnyNodeData for Node<'a, T> where
    T: AnyNodeData
[src]

Automatically implement AnyNodeData for Node<T> if the inner node implements it.

impl<'a> BasicNode<'a> for Node<'a, PathSegmentData<'a>>[src]

impl<'a> BasicNode<'a> for Node<'a, InstNameData<'a>>[src]

impl<'a> BasicNode<'a> for Node<'a, DpiDeclData<'a>>[src]

impl<'a> BasicNode<'a> for Node<'a, ImportItemData>[src]

impl<'a> BasicNode<'a> for Node<'a, SubroutinePrototypeData<'a>>[src]

impl<'a> BasicNode<'a> for Node<'a, PortData<'a>>[src]

impl<'a> BasicNode<'a> for Node<'a, InstData<'a>>[src]

impl<'a> BasicNode<'a> for Node<'a, ModportNameData<'a>>[src]

impl<'a> BasicNode<'a> for Node<'a, VarDimData<'a>>[src]

impl<'a> BasicNode<'a> for Node<'a, ParamValueDeclData<'a>>[src]

impl<'a> BasicNode<'a> for Node<'a, ForeachIndexData>[src]

impl<'a> BasicNode<'a> for Node<'a, TypeData<'a>>[src]

impl<'a> BasicNode<'a> for Node<'a, GenerateBlockData<'a>>[src]

impl<'a> BasicNode<'a> for Node<'a, PackedDimData<'a>>[src]

impl<'a> BasicNode<'a> for Node<'a, EnumData<'a>>[src]

impl<'a> BasicNode<'a> for Node<'a, StructData<'a>>[src]

impl<'a> BasicNode<'a> for Node<'a, ModportSimplePortData<'a>>[src]

impl<'a> BasicNode<'a> for Node<'a, UnpackedDimData<'a>>[src]

impl<'a> BasicNode<'a> for Node<'a, DataTypeData<'a>>[src]

impl<'a> BasicNode<'a> for Node<'a, SubroutineDeclData<'a>>[src]

impl<'a> BasicNode<'a> for Node<'a, TypedefData<'a>>[src]

impl<'a> BasicNode<'a> for Node<'a, RootData<'a>>[src]

impl<'a> BasicNode<'a> for Node<'a, ModuleData<'a>>[src]

impl<'a> BasicNode<'a> for Node<'a, StructMemberData<'a>>[src]

impl<'a> BasicNode<'a> for Node<'a, GenerateForData<'a>>[src]

impl<'a> BasicNode<'a> for Node<'a, ItemData<'a>>[src]

impl<'a> BasicNode<'a> for Node<'a, ImportDeclData<'a>>[src]

impl<'a> BasicNode<'a> for Node<'a, SourceFileData<'a>>[src]

impl<'a> BasicNode<'a> for Node<'a, PortConnData<'a>>[src]

impl<'a> BasicNode<'a> for Node<'a, EnumNameData<'a>>[src]

impl<'a> BasicNode<'a> for Node<'a, PatternFieldData<'a>>[src]

impl<'a> BasicNode<'a> for Node<'a, NetDeclData<'a>>[src]

impl<'a> BasicNode<'a> for Node<'a, InterfaceData<'a>>[src]

impl<'a> BasicNode<'a> for Node<'a, GenerateCaseData>[src]

impl<'a> BasicNode<'a> for Node<'a, VarDeclNameData<'a>>[src]

impl<'a> BasicNode<'a> for Node<'a, ParamTypeDeclData<'a>>[src]

impl<'a> BasicNode<'a> for Node<'a, ParamDeclData<'a>>[src]

impl<'a> BasicNode<'a> for Node<'a, PackageData<'a>>[src]

impl<'a> BasicNode<'a> for Node<'a, ContAssignData<'a>>[src]

impl<'a> BasicNode<'a> for Node<'a, TypeKindData<'a>>[src]

impl<'a> BasicNode<'a> for Node<'a, GenvarDeclData<'a>>[src]

impl<'a> BasicNode<'a> for Node<'a, ProcedureData<'a>>[src]

impl<'a> BasicNode<'a> for Node<'a, ModportPortData<'a>>[src]

impl<'a> BasicNode<'a> for Node<'a, ClassDeclData<'a>>[src]

impl<'a> BasicNode<'a> for Node<'a, ExprData<'a>>[src]

impl<'a> BasicNode<'a> for Node<'a, ImplicitDataTypeData<'a>>[src]

impl<'a> BasicNode<'a> for Node<'a, GenerateIfData<'a>>[src]

impl<'a> BasicNode<'a> for Node<'a, ModportData<'a>>[src]

impl<'a> BasicNode<'a> for Node<'a, StmtData<'a>>[src]

impl<'a> BasicNode<'a> for Node<'a, SubroutinePortData<'a>>[src]

impl<'a> BasicNode<'a> for Node<'a, PortDeclData<'a>>[src]

impl<'a> BasicNode<'a> for Node<'a, VarDeclData<'a>>[src]

impl<'a, T> Clone for Node<'a, T> where
    T: Clone
[src]

impl<'a, T> Debug for Node<'a, T> where
    T: Debug,
    Node<'a, T>: BasicNode<'a>, 
[src]

Allow any node to be debug-formatted.

impl<'a, T> Deref for Node<'a, T>[src]

type Target = T

The resulting type after dereferencing.

impl<'a, T> DerefMut for Node<'a, T>[src]

impl<'a, T> Display for Node<'a, T> where
    T: AnyNodeData
[src]

Allow any node to be printed in diagnostics in a human-friendly form.

impl<'a, T> Eq for Node<'a, T>[src]

impl<'a, T> ForEachChild<'a> for Node<'a, T> where
    T: ForEachChild<'a>, 
[src]

impl<'a, T> ForEachNode<'a> for Node<'a, T> where
    Node<'a, T>: AnyNode<'a>, 
[src]

impl<'a> From<&'a Node<'a, ClassDeclData<'a>>> for AllNode<'a>[src]

impl<'a> From<&'a Node<'a, ContAssignData<'a>>> for AllNode<'a>[src]

impl<'a> From<&'a Node<'a, DataTypeData<'a>>> for AllNode<'a>[src]

impl<'a> From<&'a Node<'a, DpiDeclData<'a>>> for AllNode<'a>[src]

impl<'a> From<&'a Node<'a, EnumData<'a>>> for AllNode<'a>[src]

impl<'a> From<&'a Node<'a, EnumNameData<'a>>> for AllNode<'a>[src]

impl<'a> From<&'a Node<'a, ExprData<'a>>> for AllNode<'a>[src]

impl<'a> From<&'a Node<'a, ForeachIndexData>> for AllNode<'a>[src]

impl<'a> From<&'a Node<'a, GenerateBlockData<'a>>> for AllNode<'a>[src]

impl<'a> From<&'a Node<'a, GenerateCaseData>> for AllNode<'a>[src]

impl<'a> From<&'a Node<'a, GenerateForData<'a>>> for AllNode<'a>[src]

impl<'a> From<&'a Node<'a, GenerateIfData<'a>>> for AllNode<'a>[src]

impl<'a> From<&'a Node<'a, GenvarDeclData<'a>>> for AllNode<'a>[src]

impl<'a> From<&'a Node<'a, ImplicitDataTypeData<'a>>> for AllNode<'a>[src]

impl<'a> From<&'a Node<'a, ImportDeclData<'a>>> for AllNode<'a>[src]

impl<'a> From<&'a Node<'a, ImportItemData>> for AllNode<'a>[src]

impl<'a> From<&'a Node<'a, InstData<'a>>> for AllNode<'a>[src]

impl<'a> From<&'a Node<'a, InstNameData<'a>>> for AllNode<'a>[src]

impl<'a> From<&'a Node<'a, InterfaceData<'a>>> for AllNode<'a>[src]

impl<'a> From<&'a Node<'a, ItemData<'a>>> for AllNode<'a>[src]

impl<'a> From<&'a Node<'a, ModportData<'a>>> for AllNode<'a>[src]

impl<'a> From<&'a Node<'a, ModportNameData<'a>>> for AllNode<'a>[src]

impl<'a> From<&'a Node<'a, ModportPortData<'a>>> for AllNode<'a>[src]

impl<'a> From<&'a Node<'a, ModportSimplePortData<'a>>> for AllNode<'a>[src]

impl<'a> From<&'a Node<'a, ModuleData<'a>>> for AllNode<'a>[src]

impl<'a> From<&'a Node<'a, NetDeclData<'a>>> for AllNode<'a>[src]

impl<'a> From<&'a Node<'a, PackageData<'a>>> for AllNode<'a>[src]

impl<'a> From<&'a Node<'a, PackedDimData<'a>>> for AllNode<'a>[src]

impl<'a> From<&'a Node<'a, ParamDeclData<'a>>> for AllNode<'a>[src]

impl<'a> From<&'a Node<'a, ParamTypeDeclData<'a>>> for AllNode<'a>[src]

impl<'a> From<&'a Node<'a, ParamValueDeclData<'a>>> for AllNode<'a>[src]

impl<'a> From<&'a Node<'a, PathSegmentData<'a>>> for AllNode<'a>[src]

impl<'a> From<&'a Node<'a, PatternFieldData<'a>>> for AllNode<'a>[src]

impl<'a> From<&'a Node<'a, PortConnData<'a>>> for AllNode<'a>[src]

impl<'a> From<&'a Node<'a, PortData<'a>>> for AllNode<'a>[src]

impl<'a> From<&'a Node<'a, PortDeclData<'a>>> for AllNode<'a>[src]

impl<'a> From<&'a Node<'a, ProcedureData<'a>>> for AllNode<'a>[src]

impl<'a> From<&'a Node<'a, RootData<'a>>> for AllNode<'a>[src]

impl<'a> From<&'a Node<'a, SourceFileData<'a>>> for AllNode<'a>[src]

impl<'a> From<&'a Node<'a, StmtData<'a>>> for AllNode<'a>[src]

impl<'a> From<&'a Node<'a, StructData<'a>>> for AllNode<'a>[src]

impl<'a> From<&'a Node<'a, StructMemberData<'a>>> for AllNode<'a>[src]

impl<'a> From<&'a Node<'a, SubroutineDeclData<'a>>> for AllNode<'a>[src]

impl<'a> From<&'a Node<'a, SubroutinePortData<'a>>> for AllNode<'a>[src]

impl<'a> From<&'a Node<'a, SubroutinePrototypeData<'a>>> for AllNode<'a>[src]

impl<'a> From<&'a Node<'a, TypeData<'a>>> for AllNode<'a>[src]

impl<'a> From<&'a Node<'a, TypeKindData<'a>>> for AllNode<'a>[src]

impl<'a> From<&'a Node<'a, TypedefData<'a>>> for AllNode<'a>[src]

impl<'a> From<&'a Node<'a, UnpackedDimData<'a>>> for AllNode<'a>[src]

impl<'a> From<&'a Node<'a, VarDeclData<'a>>> for AllNode<'a>[src]

impl<'a> From<&'a Node<'a, VarDeclNameData<'a>>> for AllNode<'a>[src]

impl<'a> From<&'a Node<'a, VarDimData<'a>>> for AllNode<'a>[src]

impl<'_> HasDesc for Node<'_, PortData<'_>>[src]

impl<'a, T> Hash for Node<'a, T>[src]

impl<'a, T> PartialEq<Node<'a, T>> for Node<'a, T>[src]

impl<'a, T> Send for Node<'a, T> where
    T: Send
[src]

impl<'a, T> Sync for Node<'a, T> where
    T: Sync
[src]

impl<'a> WalkVisitor<'a> for Node<'a, NetDeclData<'a>>[src]

pub fn walk(&'a self, visitor: &mut dyn Visitor<'a>)[src]

Walk a visitor over self.

Calling this function is equivalent to calling:

  • visitor.pre_visit_net_decl(self)
  • self.accept(visitor)
  • visitor.post_visit_net_decl(self);

impl<'a> WalkVisitor<'a> for Node<'a, ParamDeclData<'a>>[src]

pub fn walk(&'a self, visitor: &mut dyn Visitor<'a>)[src]

Walk a visitor over self.

Calling this function is equivalent to calling:

  • visitor.pre_visit_param_decl(self)
  • self.accept(visitor)
  • visitor.post_visit_param_decl(self);

impl<'a> WalkVisitor<'a> for Node<'a, ExprData<'a>>[src]

pub fn walk(&'a self, visitor: &mut dyn Visitor<'a>)[src]

Walk a visitor over self.

Calling this function is equivalent to calling:

  • visitor.pre_visit_expr(self)
  • self.accept(visitor)
  • visitor.post_visit_expr(self);

impl<'a> WalkVisitor<'a> for Node<'a, StmtData<'a>>[src]

pub fn walk(&'a self, visitor: &mut dyn Visitor<'a>)[src]

Walk a visitor over self.

Calling this function is equivalent to calling:

  • visitor.pre_visit_stmt(self)
  • self.accept(visitor)
  • visitor.post_visit_stmt(self);

impl<'a> WalkVisitor<'a> for Node<'a, InterfaceData<'a>>[src]

pub fn walk(&'a self, visitor: &mut dyn Visitor<'a>)[src]

Walk a visitor over self.

Calling this function is equivalent to calling:

  • visitor.pre_visit_interface(self)
  • self.accept(visitor)
  • visitor.post_visit_interface(self);

impl<'a> WalkVisitor<'a> for Node<'a, GenerateCaseData>[src]

pub fn walk(&'a self, visitor: &mut dyn Visitor<'a>)[src]

Walk a visitor over self.

Calling this function is equivalent to calling:

  • visitor.pre_visit_generate_case(self)
  • self.accept(visitor)
  • visitor.post_visit_generate_case(self);

impl<'a> WalkVisitor<'a> for Node<'a, ParamTypeDeclData<'a>>[src]

pub fn walk(&'a self, visitor: &mut dyn Visitor<'a>)[src]

Walk a visitor over self.

Calling this function is equivalent to calling:

  • visitor.pre_visit_param_type_decl(self)
  • self.accept(visitor)
  • visitor.post_visit_param_type_decl(self);

impl<'a> WalkVisitor<'a> for Node<'a, ImplicitDataTypeData<'a>>[src]

pub fn walk(&'a self, visitor: &mut dyn Visitor<'a>)[src]

Walk a visitor over self.

Calling this function is equivalent to calling:

  • visitor.pre_visit_implicit_data_type(self)
  • self.accept(visitor)
  • visitor.post_visit_implicit_data_type(self);

impl<'a> WalkVisitor<'a> for Node<'a, DataTypeData<'a>>[src]

pub fn walk(&'a self, visitor: &mut dyn Visitor<'a>)[src]

Walk a visitor over self.

Calling this function is equivalent to calling:

  • visitor.pre_visit_data_type(self)
  • self.accept(visitor)
  • visitor.post_visit_data_type(self);

impl<'a> WalkVisitor<'a> for Node<'a, PackedDimData<'a>>[src]

pub fn walk(&'a self, visitor: &mut dyn Visitor<'a>)[src]

Walk a visitor over self.

Calling this function is equivalent to calling:

  • visitor.pre_visit_packed_dim(self)
  • self.accept(visitor)
  • visitor.post_visit_packed_dim(self);

impl<'a> WalkVisitor<'a> for Node<'a, VarDeclData<'a>>[src]

pub fn walk(&'a self, visitor: &mut dyn Visitor<'a>)[src]

Walk a visitor over self.

Calling this function is equivalent to calling:

  • visitor.pre_visit_var_decl(self)
  • self.accept(visitor)
  • visitor.post_visit_var_decl(self);

impl<'a> WalkVisitor<'a> for Node<'a, ImportItemData>[src]

pub fn walk(&'a self, visitor: &mut dyn Visitor<'a>)[src]

Walk a visitor over self.

Calling this function is equivalent to calling:

  • visitor.pre_visit_import_item(self)
  • self.accept(visitor)
  • visitor.post_visit_import_item(self);

impl<'a> WalkVisitor<'a> for Node<'a, PortConnData<'a>>[src]

pub fn walk(&'a self, visitor: &mut dyn Visitor<'a>)[src]

Walk a visitor over self.

Calling this function is equivalent to calling:

  • visitor.pre_visit_port_conn(self)
  • self.accept(visitor)
  • visitor.post_visit_port_conn(self);

impl<'a> WalkVisitor<'a> for Node<'a, ClassDeclData<'a>>[src]

pub fn walk(&'a self, visitor: &mut dyn Visitor<'a>)[src]

Walk a visitor over self.

Calling this function is equivalent to calling:

  • visitor.pre_visit_class_decl(self)
  • self.accept(visitor)
  • visitor.post_visit_class_decl(self);

impl<'a> WalkVisitor<'a> for Node<'a, ForeachIndexData>[src]

pub fn walk(&'a self, visitor: &mut dyn Visitor<'a>)[src]

Walk a visitor over self.

Calling this function is equivalent to calling:

  • visitor.pre_visit_foreach_index(self)
  • self.accept(visitor)
  • visitor.post_visit_foreach_index(self);

impl<'a> WalkVisitor<'a> for Node<'a, GenerateIfData<'a>>[src]

pub fn walk(&'a self, visitor: &mut dyn Visitor<'a>)[src]

Walk a visitor over self.

Calling this function is equivalent to calling:

  • visitor.pre_visit_generate_if(self)
  • self.accept(visitor)
  • visitor.post_visit_generate_if(self);

impl<'a> WalkVisitor<'a> for Node<'a, ModportSimplePortData<'a>>[src]

pub fn walk(&'a self, visitor: &mut dyn Visitor<'a>)[src]

Walk a visitor over self.

Calling this function is equivalent to calling:

  • visitor.pre_visit_modport_simple_port(self)
  • self.accept(visitor)
  • visitor.post_visit_modport_simple_port(self);

impl<'a> WalkVisitor<'a> for Node<'a, EnumNameData<'a>>[src]

pub fn walk(&'a self, visitor: &mut dyn Visitor<'a>)[src]

Walk a visitor over self.

Calling this function is equivalent to calling:

  • visitor.pre_visit_enum_name(self)
  • self.accept(visitor)
  • visitor.post_visit_enum_name(self);

impl<'a> WalkVisitor<'a> for Node<'a, PathSegmentData<'a>>[src]

pub fn walk(&'a self, visitor: &mut dyn Visitor<'a>)[src]

Walk a visitor over self.

Calling this function is equivalent to calling:

  • visitor.pre_visit_path_segment(self)
  • self.accept(visitor)
  • visitor.post_visit_path_segment(self);

impl<'a> WalkVisitor<'a> for Node<'a, SubroutinePrototypeData<'a>>[src]

pub fn walk(&'a self, visitor: &mut dyn Visitor<'a>)[src]

Walk a visitor over self.

Calling this function is equivalent to calling:

  • visitor.pre_visit_subroutine_prototype(self)
  • self.accept(visitor)
  • visitor.post_visit_subroutine_prototype(self);

impl<'a> WalkVisitor<'a> for Node<'a, GenerateForData<'a>>[src]

pub fn walk(&'a self, visitor: &mut dyn Visitor<'a>)[src]

Walk a visitor over self.

Calling this function is equivalent to calling:

  • visitor.pre_visit_generate_for(self)
  • self.accept(visitor)
  • visitor.post_visit_generate_for(self);

impl<'a> WalkVisitor<'a> for Node<'a, TypeData<'a>>[src]

pub fn walk(&'a self, visitor: &mut dyn Visitor<'a>)[src]

Walk a visitor over self.

Calling this function is equivalent to calling:

  • visitor.pre_visit_type(self)
  • self.accept(visitor)
  • visitor.post_visit_type(self);

impl<'a> WalkVisitor<'a> for Node<'a, ModportNameData<'a>>[src]

pub fn walk(&'a self, visitor: &mut dyn Visitor<'a>)[src]

Walk a visitor over self.

Calling this function is equivalent to calling:

  • visitor.pre_visit_modport_name(self)
  • self.accept(visitor)
  • visitor.post_visit_modport_name(self);

impl<'a> WalkVisitor<'a> for Node<'a, UnpackedDimData<'a>>[src]

pub fn walk(&'a self, visitor: &mut dyn Visitor<'a>)[src]

Walk a visitor over self.

Calling this function is equivalent to calling:

  • visitor.pre_visit_unpacked_dim(self)
  • self.accept(visitor)
  • visitor.post_visit_unpacked_dim(self);

impl<'a> WalkVisitor<'a> for Node<'a, ModuleData<'a>>[src]

pub fn walk(&'a self, visitor: &mut dyn Visitor<'a>)[src]

Walk a visitor over self.

Calling this function is equivalent to calling:

  • visitor.pre_visit_module(self)
  • self.accept(visitor)
  • visitor.post_visit_module(self);

impl<'a> WalkVisitor<'a> for Node<'a, TypedefData<'a>>[src]

pub fn walk(&'a self, visitor: &mut dyn Visitor<'a>)[src]

Walk a visitor over self.

Calling this function is equivalent to calling:

  • visitor.pre_visit_typedef(self)
  • self.accept(visitor)
  • visitor.post_visit_typedef(self);

impl<'a> WalkVisitor<'a> for Node<'a, GenvarDeclData<'a>>[src]

pub fn walk(&'a self, visitor: &mut dyn Visitor<'a>)[src]

Walk a visitor over self.

Calling this function is equivalent to calling:

  • visitor.pre_visit_genvar_decl(self)
  • self.accept(visitor)
  • visitor.post_visit_genvar_decl(self);

impl<'a> WalkVisitor<'a> for Node<'a, RootData<'a>>[src]

pub fn walk(&'a self, visitor: &mut dyn Visitor<'a>)[src]

Walk a visitor over self.

Calling this function is equivalent to calling:

  • visitor.pre_visit_root(self)
  • self.accept(visitor)
  • visitor.post_visit_root(self);

impl<'a> WalkVisitor<'a> for Node<'a, SourceFileData<'a>>[src]

pub fn walk(&'a self, visitor: &mut dyn Visitor<'a>)[src]

Walk a visitor over self.

Calling this function is equivalent to calling:

  • visitor.pre_visit_source_file(self)
  • self.accept(visitor)
  • visitor.post_visit_source_file(self);

impl<'a> WalkVisitor<'a> for Node<'a, StructData<'a>>[src]

pub fn walk(&'a self, visitor: &mut dyn Visitor<'a>)[src]

Walk a visitor over self.

Calling this function is equivalent to calling:

  • visitor.pre_visit_struct(self)
  • self.accept(visitor)
  • visitor.post_visit_struct(self);

impl<'a> WalkVisitor<'a> for Node<'a, PortData<'a>>[src]

pub fn walk(&'a self, visitor: &mut dyn Visitor<'a>)[src]

Walk a visitor over self.

Calling this function is equivalent to calling:

  • visitor.pre_visit_port(self)
  • self.accept(visitor)
  • visitor.post_visit_port(self);

impl<'a> WalkVisitor<'a> for Node<'a, ModportData<'a>>[src]

pub fn walk(&'a self, visitor: &mut dyn Visitor<'a>)[src]

Walk a visitor over self.

Calling this function is equivalent to calling:

  • visitor.pre_visit_modport(self)
  • self.accept(visitor)
  • visitor.post_visit_modport(self);

impl<'a> WalkVisitor<'a> for Node<'a, InstNameData<'a>>[src]

pub fn walk(&'a self, visitor: &mut dyn Visitor<'a>)[src]

Walk a visitor over self.

Calling this function is equivalent to calling:

  • visitor.pre_visit_inst_name(self)
  • self.accept(visitor)
  • visitor.post_visit_inst_name(self);

impl<'a> WalkVisitor<'a> for Node<'a, VarDeclNameData<'a>>[src]

pub fn walk(&'a self, visitor: &mut dyn Visitor<'a>)[src]

Walk a visitor over self.

Calling this function is equivalent to calling:

  • visitor.pre_visit_var_decl_name(self)
  • self.accept(visitor)
  • visitor.post_visit_var_decl_name(self);

impl<'a> WalkVisitor<'a> for Node<'a, PatternFieldData<'a>>[src]

pub fn walk(&'a self, visitor: &mut dyn Visitor<'a>)[src]

Walk a visitor over self.

Calling this function is equivalent to calling:

  • visitor.pre_visit_pattern_field(self)
  • self.accept(visitor)
  • visitor.post_visit_pattern_field(self);

impl<'a> WalkVisitor<'a> for Node<'a, SubroutinePortData<'a>>[src]

pub fn walk(&'a self, visitor: &mut dyn Visitor<'a>)[src]

Walk a visitor over self.

Calling this function is equivalent to calling:

  • visitor.pre_visit_subroutine_port(self)
  • self.accept(visitor)
  • visitor.post_visit_subroutine_port(self);

impl<'a> WalkVisitor<'a> for Node<'a, ImportDeclData<'a>>[src]

pub fn walk(&'a self, visitor: &mut dyn Visitor<'a>)[src]

Walk a visitor over self.

Calling this function is equivalent to calling:

  • visitor.pre_visit_import_decl(self)
  • self.accept(visitor)
  • visitor.post_visit_import_decl(self);

impl<'a> WalkVisitor<'a> for Node<'a, SubroutineDeclData<'a>>[src]

pub fn walk(&'a self, visitor: &mut dyn Visitor<'a>)[src]

Walk a visitor over self.

Calling this function is equivalent to calling:

  • visitor.pre_visit_subroutine_decl(self)
  • self.accept(visitor)
  • visitor.post_visit_subroutine_decl(self);

impl<'a> WalkVisitor<'a> for Node<'a, DpiDeclData<'a>>[src]

pub fn walk(&'a self, visitor: &mut dyn Visitor<'a>)[src]

Walk a visitor over self.

Calling this function is equivalent to calling:

  • visitor.pre_visit_dpi_decl(self)
  • self.accept(visitor)
  • visitor.post_visit_dpi_decl(self);

impl<'a> WalkVisitor<'a> for Node<'a, TypeKindData<'a>>[src]

pub fn walk(&'a self, visitor: &mut dyn Visitor<'a>)[src]

Walk a visitor over self.

Calling this function is equivalent to calling:

  • visitor.pre_visit_type_kind(self)
  • self.accept(visitor)
  • visitor.post_visit_type_kind(self);

impl<'a> WalkVisitor<'a> for Node<'a, InstData<'a>>[src]

pub fn walk(&'a self, visitor: &mut dyn Visitor<'a>)[src]

Walk a visitor over self.

Calling this function is equivalent to calling:

  • visitor.pre_visit_inst(self)
  • self.accept(visitor)
  • visitor.post_visit_inst(self);

impl<'a> WalkVisitor<'a> for Node<'a, ItemData<'a>>[src]

pub fn walk(&'a self, visitor: &mut dyn Visitor<'a>)[src]

Walk a visitor over self.

Calling this function is equivalent to calling:

  • visitor.pre_visit_item(self)
  • self.accept(visitor)
  • visitor.post_visit_item(self);

impl<'a> WalkVisitor<'a> for Node<'a, ContAssignData<'a>>[src]

pub fn walk(&'a self, visitor: &mut dyn Visitor<'a>)[src]

Walk a visitor over self.

Calling this function is equivalent to calling:

  • visitor.pre_visit_cont_assign(self)
  • self.accept(visitor)
  • visitor.post_visit_cont_assign(self);

impl<'a> WalkVisitor<'a> for Node<'a, GenerateBlockData<'a>>[src]

pub fn walk(&'a self, visitor: &mut dyn Visitor<'a>)[src]

Walk a visitor over self.

Calling this function is equivalent to calling:

  • visitor.pre_visit_generate_block(self)
  • self.accept(visitor)
  • visitor.post_visit_generate_block(self);

impl<'a> WalkVisitor<'a> for Node<'a, ProcedureData<'a>>[src]

pub fn walk(&'a self, visitor: &mut dyn Visitor<'a>)[src]

Walk a visitor over self.

Calling this function is equivalent to calling:

  • visitor.pre_visit_procedure(self)
  • self.accept(visitor)
  • visitor.post_visit_procedure(self);

impl<'a> WalkVisitor<'a> for Node<'a, PortDeclData<'a>>[src]

pub fn walk(&'a self, visitor: &mut dyn Visitor<'a>)[src]

Walk a visitor over self.

Calling this function is equivalent to calling:

  • visitor.pre_visit_port_decl(self)
  • self.accept(visitor)
  • visitor.post_visit_port_decl(self);

impl<'a> WalkVisitor<'a> for Node<'a, EnumData<'a>>[src]

pub fn walk(&'a self, visitor: &mut dyn Visitor<'a>)[src]

Walk a visitor over self.

Calling this function is equivalent to calling:

  • visitor.pre_visit_enum(self)
  • self.accept(visitor)
  • visitor.post_visit_enum(self);

impl<'a> WalkVisitor<'a> for Node<'a, ModportPortData<'a>>[src]

pub fn walk(&'a self, visitor: &mut dyn Visitor<'a>)[src]

Walk a visitor over self.

Calling this function is equivalent to calling:

  • visitor.pre_visit_modport_port(self)
  • self.accept(visitor)
  • visitor.post_visit_modport_port(self);

impl<'a> WalkVisitor<'a> for Node<'a, StructMemberData<'a>>[src]

pub fn walk(&'a self, visitor: &mut dyn Visitor<'a>)[src]

Walk a visitor over self.

Calling this function is equivalent to calling:

  • visitor.pre_visit_struct_member(self)
  • self.accept(visitor)
  • visitor.post_visit_struct_member(self);

impl<'a> WalkVisitor<'a> for Node<'a, ParamValueDeclData<'a>>[src]

pub fn walk(&'a self, visitor: &mut dyn Visitor<'a>)[src]

Walk a visitor over self.

Calling this function is equivalent to calling:

  • visitor.pre_visit_param_value_decl(self)
  • self.accept(visitor)
  • visitor.post_visit_param_value_decl(self);

impl<'a> WalkVisitor<'a> for Node<'a, VarDimData<'a>>[src]

pub fn walk(&'a self, visitor: &mut dyn Visitor<'a>)[src]

Walk a visitor over self.

Calling this function is equivalent to calling:

  • visitor.pre_visit_var_dim(self)
  • self.accept(visitor)
  • visitor.post_visit_var_dim(self);

impl<'a> WalkVisitor<'a> for Node<'a, PackageData<'a>>[src]

pub fn walk(&'a self, visitor: &mut dyn Visitor<'a>)[src]

Walk a visitor over self.

Calling this function is equivalent to calling:

  • visitor.pre_visit_package(self)
  • self.accept(visitor)
  • visitor.post_visit_package(self);

Auto Trait Implementations

impl<'a, T> !RefUnwindSafe for Node<'a, T>[src]

impl<'a, T> Unpin for Node<'a, T> where
    T: Unpin
[src]

impl<'a, T> !UnwindSafe for Node<'a, T>[src]

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Pointable for T

type Init = T

The type for initializers.

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T> ToString for T where
    T: Display + ?Sized
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.