Skip to main content

AstNode

Trait AstNode 

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

A typed view of a CST node of a particular kind.

Required Methods§

Source

fn can_cast(kind: SyntaxKind) -> bool
where Self: Sized,

Source

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

Source

fn syntax(&self) -> &SyntaxNode

Dyn Compatibility§

This trait is dyn compatible.

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

Implementors§

Source§

impl AstNode for AfterMatchClause

Source§

impl AstNode for AlterAction

Source§

impl AstNode for AlterStmt

Source§

impl AstNode for ArgList

Source§

impl AstNode for ArrayLiteral

Source§

impl AstNode for AsOfTravel

Source§

impl AstNode for AssignStmt

Source§

impl AstNode for Assignment

Source§

impl AstNode for BetweenExpr

Source§

impl AstNode for BinExpr

Source§

impl AstNode for BindMarker

Source§

impl AstNode for BlockStmt

Source§

impl AstNode for CacheStmt

Source§

impl AstNode for CallExpr

Source§

impl AstNode for CallStmt

Source§

impl AstNode for CaseExpr

Source§

impl AstNode for CaseStmt

Source§

impl AstNode for CaseStmtWhen

Source§

impl AstNode for CaseWhen

Source§

impl AstNode for CastExpr

Source§

impl AstNode for ColumnDef

Source§

impl AstNode for ColumnDefList

Source§

impl AstNode for ColumnList

Source§

impl AstNode for CommentStmt

Source§

impl AstNode for ConnectByClause

Source§

impl AstNode for CopyLocation

Source§

impl AstNode for CopyOption

Source§

impl AstNode for CopyStmt

Source§

impl AstNode for CreateStmt

Source§

impl AstNode for Cte

Source§

impl AstNode for DeclareItem

Source§

impl AstNode for DeclareSection

Source§

impl AstNode for DefineClause

Source§

impl AstNode for DefineItem

Source§

impl AstNode for DeleteStmt

Source§

impl AstNode for DescribeHistoryStmt

Source§

impl AstNode for DescribeStmt

Source§

impl AstNode for DropStmt

Source§

impl AstNode for ExceptionSection

Source§

impl AstNode for ExceptionWhen

Source§

impl AstNode for ExecuteStmt

Source§

impl AstNode for ExistsExpr

Source§

impl AstNode for ExprList

Source§

impl AstNode for ExprStmt

Source§

impl AstNode for FlowStmt

Source§

impl AstNode for FromClause

Source§

impl AstNode for GrantStmt

Source§

impl AstNode for GrantTarget

Source§

impl AstNode for Grantee

Source§

impl AstNode for GroupByClause

Source§

impl AstNode for GroupingSets

Source§

impl AstNode for HavingClause

Source§

impl AstNode for IfStmt

Source§

impl AstNode for InExpr

Source§

impl AstNode for IndexExpr

Source§

impl AstNode for InsertStmt

Source§

impl AstNode for InsertWhen

Source§

impl AstNode for IntervalLiteral

Source§

impl AstNode for IntoClause

Source§

impl AstNode for IsExpr

Source§

impl AstNode for Join

Source§

impl AstNode for JsonAccess

Source§

impl AstNode for LambdaExpr

Source§

impl AstNode for LambdaParams

Source§

impl AstNode for LateralView

Source§

impl AstNode for LetStmt

Source§

impl AstNode for LimitClause

Source§

impl AstNode for Literal

Source§

impl AstNode for LoopStmt

Source§

impl AstNode for MatchRecognize

Source§

impl AstNode for MeasuresClause

Source§

impl AstNode for MergeStmt

Source§

impl AstNode for MergeWhen

Source§

impl AstNode for Name

Source§

impl AstNode for NameRef

Source§

impl AstNode for NamedArg

Source§

impl AstNode for ObjectField

Source§

impl AstNode for ObjectLiteral

Source§

impl AstNode for ObjectProperty

Source§

impl AstNode for OffsetClause

Source§

impl AstNode for OptimizeStmt

Source§

impl AstNode for OrderByClause

Source§

impl AstNode for OrderByItem

Source§

impl AstNode for ParenExpr

Source§

impl AstNode for PartitionByClause

Source§

impl AstNode for PatternBody

Source§

impl AstNode for PatternClause

Source§

impl AstNode for PivotClause

Source§

impl AstNode for PrefixExpr

Source§

impl AstNode for PrivList

Source§

impl AstNode for QualifyClause

Source§

impl AstNode for RefreshStmt

Source§

impl AstNode for ReturnStmt

Source§

impl AstNode for RevokeStmt

Source§

impl AstNode for RoutineLanguageClause

Source§

impl AstNode for RoutineReturnsClause

Source§

impl AstNode for RowMatchClause

Source§

impl AstNode for ScriptStmt

Source§

impl AstNode for SelectItem

Source§

impl AstNode for SelectList

Source§

impl AstNode for SelectStmt

Source§

impl AstNode for SemanticViewClause

Source§

impl AstNode for SemanticViewItem

Source§

impl AstNode for SetClause

Source§

impl AstNode for SetOp

Source§

impl AstNode for SetStmt

Source§

impl AstNode for ShowStmt

Source§

impl AstNode for SourceFile

Source§

impl AstNode for StageFileStmt

Source§

impl AstNode for StageRef

Source§

impl AstNode for StarExpr

Source§

impl AstNode for StartWithClause

Source§

impl AstNode for StmtList

Source§

impl AstNode for StreamSource

Source§

impl AstNode for Subquery

Source§

impl AstNode for SubsetClause

Source§

impl AstNode for TableRef

Source§

impl AstNode for TaskAfter

Source§

impl AstNode for TransactionStmt

Source§

impl AstNode for TruncateStmt

Source§

impl AstNode for TypeName

Source§

impl AstNode for UncacheStmt

Source§

impl AstNode for UndropStmt

Source§

impl AstNode for UpdateStmt

Source§

impl AstNode for UseStmt

Source§

impl AstNode for VacuumStmt

Source§

impl AstNode for ValuesClause

Source§

impl AstNode for ValuesRow

Source§

impl AstNode for WhereClause

Source§

impl AstNode for WindowExpr

Source§

impl AstNode for WindowFrame

Source§

impl AstNode for WindowSpec

Source§

impl AstNode for WithClause

Source§

impl AstNode for WithQuery

Source§

impl AstNode for WithinGroup

Source§

impl AstNode for ZorderClause