Skip to main content

AstNode

Trait AstNode 

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

A typed wrapper around a SyntaxNode.

Required Methods§

Source

fn can_cast(kind: SyntaxKind) -> bool

Returns true for a node with a SyntaxKind this type can wrap.

Source

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

Try to cast a generic SyntaxNode into this typed wrapper.

Source

fn syntax(&self) -> &SyntaxNode

Access the underlying SyntaxNode.

Dyn Compatibility§

This trait is not dyn compatible.

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

Implementors§

Source§

impl AstNode for AlternationBlock

Source§

impl AstNode for AlternationMarker

Source§

impl AstNode for AnnotationArg

Source§

impl AstNode for AnnotationArgs

Source§

impl AstNode for AnnotationLine

Source§

impl AstNode for ArgList

Source§

impl AstNode for Block

Source§

impl AstNode for BooleanLit

Source§

impl AstNode for CallExpr

Source§

impl AstNode for Choice

Source§

impl AstNode for ChoiceBody

Source§

impl AstNode for ChoiceBracketContent

Source§

impl AstNode for ChoiceBullet

Source§

impl AstNode for ChoiceGuard

Source§

impl AstNode for ChoiceInnerContent

Source§

impl AstNode for ChoicePoint

Source§

impl AstNode for ChoiceStartContent

Source§

impl AstNode for ConditionalBlock

Source§

impl AstNode for ConstDecl

Source§

impl AstNode for ContentLine

Source§

impl AstNode for DivertStmt

Source§

impl AstNode for DivertTarget

Source§

impl AstNode for DocComment

Source§

impl AstNode for ElseBranch

Source§

impl AstNode for Entry

Source§

impl AstNode for Error

Source§

impl AstNode for ExternDecl

Source§

impl AstNode for FlagsDecl

Source§

impl AstNode for FlagsMember

Source§

impl AstNode for FlagsMemberList

Source§

impl AstNode for FloatLit

Source§

impl AstNode for FlowDecl

Source§

impl AstNode for FnDecl

Source§

impl AstNode for GlueNode

Source§

impl AstNode for IfArm

Source§

impl AstNode for ImportDecl

Source§

impl AstNode for InfixExpr

Source§

impl AstNode for IntegerLit

Source§

impl AstNode for Interpolation

Source§

impl AstNode for Label

Source§

impl AstNode for LambdaExpr

Source§

impl AstNode for LambdaParams

Source§

impl AstNode for MatchArm

Source§

impl AstNode for MatchPattern

Source§

impl AstNode for ModuleDecl

Source§

impl AstNode for Param

Source§

impl AstNode for ParamList

Source§

impl AstNode for ParenExpr

Source§

impl AstNode for Path

Source§

impl AstNode for PathExpr

Source§

impl AstNode for PathSegment

Source§

impl AstNode for PrefixExpr

Source§

impl AstNode for ReturnRedirect

Source§

impl AstNode for ReturnStmt

Source§

impl AstNode for SourceFile

Source§

impl AstNode for Splice

Source§

impl AstNode for StringLit

Source§

impl AstNode for StructDecl

Source§

impl AstNode for StructField

Source§

impl AstNode for Tag

Source§

impl AstNode for TagLine

Source§

impl AstNode for Text

Source§

impl AstNode for TunnelCall

Source§

impl AstNode for UseDecl

Source§

impl AstNode for UseTree

Source§

impl AstNode for UseTreeList

Source§

impl AstNode for VarDecl