BasicNode

Trait BasicNode 

Source
pub trait BasicNode<'a>:
    Debug
    + AcceptVisitor<'a>
    + ForEachChild<'a>
    + ForEachNode<'a> {
    // Required methods
    fn type_name(&self) -> &'static str;
    fn as_all(&'a self) -> AllNode<'a>;
    fn as_any(&'a self) -> &'a dyn AnyNode<'a>;
}
Expand description

Basic attributes of an AST node.

If this trait is present on Node<T>, then Node<T> will automatically implement the full AnyNode trait.

Required Methods§

Source

fn type_name(&self) -> &'static str

Get the type name of the node.

Source

fn as_all(&'a self) -> AllNode<'a>

Convert this node to the exhaustive AllNode enum.

Source

fn as_any(&'a self) -> &'a dyn AnyNode<'a>

Convert this node to an AnyNode trait object.

Implementors§

Source§

impl<'a> BasicNode<'a> for TypeOrExpr<'a>

Source§

impl<'a> BasicNode<'a> for CallArg<'a>

Source§

impl<'a> BasicNode<'a> for ClassDecl<'a>

Source§

impl<'a> BasicNode<'a> for ContAssign<'a>

Source§

impl<'a> BasicNode<'a> for DataType<'a>

Source§

impl<'a> BasicNode<'a> for DpiDecl<'a>

Source§

impl<'a> BasicNode<'a> for Enum<'a>

Source§

impl<'a> BasicNode<'a> for EnumName<'a>

Source§

impl<'a> BasicNode<'a> for Expr<'a>

Source§

impl<'a> BasicNode<'a> for ForeachIndex<'a>

Source§

impl<'a> BasicNode<'a> for GenerateBlock<'a>

Source§

impl<'a> BasicNode<'a> for GenerateCase<'a>

Source§

impl<'a> BasicNode<'a> for GenerateFor<'a>

Source§

impl<'a> BasicNode<'a> for GenerateIf<'a>

Source§

impl<'a> BasicNode<'a> for GenvarDecl<'a>

Source§

impl<'a> BasicNode<'a> for ImplicitDataType<'a>

Source§

impl<'a> BasicNode<'a> for ImportDecl<'a>

Source§

impl<'a> BasicNode<'a> for ImportItem<'a>

Source§

impl<'a> BasicNode<'a> for Inst<'a>

Source§

impl<'a> BasicNode<'a> for InstName<'a>

Source§

impl<'a> BasicNode<'a> for Interface<'a>

Source§

impl<'a> BasicNode<'a> for Item<'a>

Source§

impl<'a> BasicNode<'a> for Modport<'a>

Source§

impl<'a> BasicNode<'a> for ModportName<'a>

Source§

impl<'a> BasicNode<'a> for ModportPort<'a>

Source§

impl<'a> BasicNode<'a> for ModportSimplePort<'a>

Source§

impl<'a> BasicNode<'a> for Module<'a>

Source§

impl<'a> BasicNode<'a> for NetDecl<'a>

Source§

impl<'a> BasicNode<'a> for Package<'a>

Source§

impl<'a> BasicNode<'a> for PackedDim<'a>

Source§

impl<'a> BasicNode<'a> for ParamDecl<'a>

Source§

impl<'a> BasicNode<'a> for ParamTypeDecl<'a>

Source§

impl<'a> BasicNode<'a> for ParamValueDecl<'a>

Source§

impl<'a> BasicNode<'a> for PathSegment<'a>

Source§

impl<'a> BasicNode<'a> for PatternField<'a>

Source§

impl<'a> BasicNode<'a> for Port<'a>

Source§

impl<'a> BasicNode<'a> for PortConn<'a>

Source§

impl<'a> BasicNode<'a> for PortDecl<'a>

Source§

impl<'a> BasicNode<'a> for Procedure<'a>

Source§

impl<'a> BasicNode<'a> for Root<'a>

Source§

impl<'a> BasicNode<'a> for SourceFile<'a>

Source§

impl<'a> BasicNode<'a> for Stmt<'a>

Source§

impl<'a> BasicNode<'a> for Struct<'a>

Source§

impl<'a> BasicNode<'a> for StructMember<'a>

Source§

impl<'a> BasicNode<'a> for SubroutineDecl<'a>

Source§

impl<'a> BasicNode<'a> for SubroutinePort<'a>

Source§

impl<'a> BasicNode<'a> for SubroutinePortDecl<'a>

Source§

impl<'a> BasicNode<'a> for SubroutinePrototype<'a>

Source§

impl<'a> BasicNode<'a> for Type<'a>

Source§

impl<'a> BasicNode<'a> for TypeKind<'a>

Source§

impl<'a> BasicNode<'a> for Typedef<'a>

Source§

impl<'a> BasicNode<'a> for UnpackedDim<'a>

Source§

impl<'a> BasicNode<'a> for VarDecl<'a>

Source§

impl<'a> BasicNode<'a> for VarDeclName<'a>

Source§

impl<'a> BasicNode<'a> for VarDim<'a>