Skip to main content

AstNode

Trait AstNode 

Source
pub trait AstNode: Sized {
    // Required methods
    fn cast(syntax: SyntaxNode) -> Option<Self>;
    fn syntax(&self) -> &SyntaxNode;
}
Expand description

A typed view over a SyntaxNode of a known kind.

Required Methods§

Source

fn cast(syntax: SyntaxNode) -> Option<Self>

Wraps syntax if its kind matches this type; None otherwise.

Source

fn syntax(&self) -> &SyntaxNode

The underlying untyped node.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§

Source§

impl AstNode for ArrayType

Source§

impl AstNode for AttrBlock

Source§

impl AstNode for AttrValue

Source§

impl AstNode for Attribute

Source§

impl AstNode for Backing

Source§

impl AstNode for BinaryExpr

Source§

impl AstNode for Bound

Source§

impl AstNode for CommandDef

Source§

impl AstNode for ComponentDef

Source§

impl AstNode for ComponentLine

Source§

impl AstNode for ConstDef

Source§

impl AstNode for Constraint

Source§

impl AstNode for Definition

Source§

impl AstNode for DeploymentDef

Source§

impl AstNode for DistributionDef

Source§

impl AstNode for DottedName

Source§

impl AstNode for EnumDef

Source§

impl AstNode for EnumSetBit

Source§

impl AstNode for EnumSetDef

Source§

impl AstNode for EnumValue

Source§

impl AstNode for ErrorNode

Source§

impl AstNode for EventDef

Source§

impl AstNode for Expr

Source§

impl AstNode for FallibleType

Source§

impl AstNode for FieldDef

Source§

impl AstNode for FieldType

Source§

impl AstNode for FixedDef

Source§

impl AstNode for Import

Source§

impl AstNode for InitValue

Source§

impl AstNode for InterfaceDef

Source§

impl AstNode for InterfaceMember

Source§

impl AstNode for Literal

Source§

impl AstNode for LiteralExpr

Source§

impl AstNode for MachineDef

Source§

impl AstNode for MapType

Source§

impl AstNode for MemberExpr

Source§

impl AstNode for MemberLine

Source§

impl AstNode for Name

Source§

impl AstNode for OptionalType

Source§

impl AstNode for PackageDecl

Source§

impl AstNode for Param

Source§

impl AstNode for ParamList

Source§

impl AstNode for ParamType

Source§

impl AstNode for ParenExpr

Source§

impl AstNode for PathExpr

Source§

impl AstNode for PathType

Source§

impl AstNode for PrefixExpr

Source§

impl AstNode for PrimitiveType

Source§

impl AstNode for QualifiedName

Source§

impl AstNode for QueryDef

Source§

impl AstNode for Reference

Source§

impl AstNode for ReservedEntry

Source§

impl AstNode for ReturnType

Source§

impl AstNode for ServiceDef

Source§

impl AstNode for SignalDef

Source§

impl AstNode for SourceFile

Source§

impl AstNode for StreamType

Source§

impl AstNode for StructDef

Source§

impl AstNode for StructMember

Source§

impl AstNode for SystemDef

Source§

impl AstNode for Timing

Source§

impl AstNode for TimingRange

Source§

impl AstNode for TupleField

Source§

impl AstNode for TupleType

Source§

impl AstNode for TypeDef

Source§

impl AstNode for UnionArm

Source§

impl AstNode for UnionDef

Source§

impl AstNode for UnitExpr