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 ArrayLiteral

Source§

impl AstNode for AsBinding

Source§

impl AstNode for AssignStmt

Source§

impl AstNode for BangDispatch

Source§

impl AstNode for Block

Source§

impl AstNode for BooleanLit

Source§

impl AstNode for BreakStmt

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 CompactCue

Source§

impl AstNode for ConditionalBlock

Source§

impl AstNode for ConstDecl

Source§

impl AstNode for ConstructEntry

Source§

impl AstNode for ConstructLiteral

Source§

impl AstNode for ContentLine

Source§

impl AstNode for ContinueStmt

Source§

impl AstNode for Cue

Source§

impl AstNode for CueName

Source§

impl AstNode for DispatchName

Source§

impl AstNode for DivertStmt

Source§

impl AstNode for DivertTarget

Source§

impl AstNode for DocComment

Source§

impl AstNode for ElseBranch

Source§

impl AstNode for ElseClause

Source§

impl AstNode for Entry

Source§

impl AstNode for Error

Source§

impl AstNode for Escape

Source§

impl AstNode for ExprStmt

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 ForStmt

Source§

impl AstNode for GlueNode

Source§

impl AstNode for IfArm

Source§

impl AstNode for IfStmt

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 LetStmt

Source§

impl AstNode for LogicLine

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 Parenthetical

Source§

impl AstNode for Path

Source§

impl AstNode for PathExpr

Source§

impl AstNode for PathSegment

Source§

impl AstNode for PrefixExpr

Source§

impl AstNode for ProseLine

Source§

impl AstNode for ReturnRedirect

Source§

impl AstNode for ReturnStmt

Source§

impl AstNode for SceneBody

Source§

impl AstNode for SceneHeading

Source§

impl AstNode for SceneSlug

Source§

impl AstNode for SceneStitch

Source§

impl AstNode for SceneTitle

Source§

impl AstNode for SourceFile

Source§

impl AstNode for Span

Source§

impl AstNode for SpanAttr

Source§

impl AstNode for SpanAttrValue

Source§

impl AstNode for SpanName

Source§

impl AstNode for Splice

Source§

impl AstNode for StmtBlock

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 TypeAnnotation

Source§

impl AstNode for TypeExpr

Source§

impl AstNode for TypeFn

Source§

impl AstNode for TypeGeneric

Source§

impl AstNode for TypeName

Source§

impl AstNode for UntilStmt

Source§

impl AstNode for UseDecl

Source§

impl AstNode for UseTree

Source§

impl AstNode for UseTreeList

Source§

impl AstNode for VarDecl

Source§

impl AstNode for WhileStmt