Trait apollo_parser::ast::AstNode  
source · pub trait AstNode {
    fn can_cast(kind: SyntaxKind) -> bool
    where
        Self: Sized;
    fn cast(syntax: SyntaxNode) -> Option<Self>
    where
        Self: Sized;
    fn syntax(&self) -> &SyntaxNode;
    fn source_string(&self) -> String { ... }
    fn clone_for_update(&self) -> Self
    where
        Self: Sized,
    { ... }
    fn clone_subtree(&self) -> Self
    where
        Self: Sized,
    { ... }
}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.