Trait mun_syntax::ast::AstNode

source ·
pub trait AstNode: Clone {
    fn can_cast(kind: SyntaxKind) -> bool;
    fn cast(syntax: SyntaxNode) -> Option<Self>
    where
        Self: Sized
; fn syntax(&self) -> &SyntaxNode; }
Expand description

The main trait to go from untyped SyntaxNode to a typed ast. The conversion itself has zero runtime cost; ast and syntax nodes have exactly the same representation; a pointer to the tree root and a pointer to the node itself.

Required Methods§

Implementors§