[][src]Trait rslint_parser::ast::AstNode

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 text(&self) -> String { ... }
fn range(&self) -> TextRange { ... } }

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

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

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

fn syntax(&self) -> &SyntaxNode

Loading content...

Provided methods

fn text(&self) -> String

fn range(&self) -> TextRange

Loading content...

Implementors

impl AstNode for ArrowExprParams[src]

impl AstNode for ClassElement[src]

impl AstNode for Decl[src]

impl AstNode for DefaultDecl[src]

impl AstNode for Expr[src]

impl AstNode for ExprOrBlock[src]

impl AstNode for ExprOrSpread[src]

impl AstNode for ForHead[src]

impl AstNode for ImportClause[src]

impl AstNode for MethodDefinition[src]

impl AstNode for ModuleItem[src]

impl AstNode for ObjectPatternProp[src]

impl AstNode for ObjectProp[src]

impl AstNode for Pattern[src]

impl AstNode for PatternOrExpr[src]

impl AstNode for PropName[src]

impl AstNode for Stmt[src]

impl AstNode for StmtListItem[src]

impl AstNode for SwitchCase[src]

impl AstNode for ArgList[src]

impl AstNode for ArrayExpr[src]

impl AstNode for ArrayPattern[src]

impl AstNode for ArrowExpr[src]

impl AstNode for AssignExpr[src]

impl AstNode for AssignPattern[src]

impl AstNode for AwaitExpr[src]

impl AstNode for BinExpr[src]

impl AstNode for BlockStmt[src]

impl AstNode for BracketExpr[src]

impl AstNode for BreakStmt[src]

impl AstNode for CallExpr[src]

impl AstNode for CaseClause[src]

impl AstNode for CatchClause[src]

impl AstNode for ClassBody[src]

impl AstNode for ClassDecl[src]

impl AstNode for ClassExpr[src]

impl AstNode for ComputedPropertyName[src]

impl AstNode for CondExpr[src]

impl AstNode for Condition[src]

impl AstNode for ContinueStmt[src]

impl AstNode for DebuggerStmt[src]

impl AstNode for Declarator[src]

impl AstNode for DefaultClause[src]

impl AstNode for DoWhileStmt[src]

impl AstNode for DotExpr[src]

impl AstNode for EmptyStmt[src]

impl AstNode for ExportDecl[src]

impl AstNode for ExportDefaultDecl[src]

impl AstNode for ExportDefaultExpr[src]

impl AstNode for ExportNamed[src]

impl AstNode for ExportWildcard[src]

impl AstNode for ExprStmt[src]

impl AstNode for Finalizer[src]

impl AstNode for FnDecl[src]

impl AstNode for FnExpr[src]

impl AstNode for ForInStmt[src]

impl AstNode for ForOfStmt[src]

impl AstNode for ForStmt[src]

impl AstNode for ForStmtInit[src]

impl AstNode for ForStmtTest[src]

impl AstNode for ForStmtUpdate[src]

impl AstNode for Getter[src]

impl AstNode for GroupingExpr[src]

impl AstNode for IdentProp[src]

impl AstNode for IfStmt[src]

impl AstNode for ImportCall[src]

impl AstNode for ImportDecl[src]

impl AstNode for ImportMeta[src]

impl AstNode for InitializedProp[src]

impl AstNode for KeyValuePattern[src]

impl AstNode for LabelledStmt[src]

impl AstNode for Literal[src]

impl AstNode for LiteralProp[src]

impl AstNode for Method[src]

impl AstNode for Module[src]

impl AstNode for Name[src]

impl AstNode for NameRef[src]

impl AstNode for NamedImports[src]

impl AstNode for NewExpr[src]

impl AstNode for NewTarget[src]

impl AstNode for ObjectExpr[src]

impl AstNode for ObjectPattern[src]

impl AstNode for ParameterList[src]

impl AstNode for RestPattern[src]

impl AstNode for ReturnStmt[src]

impl AstNode for Script[src]

impl AstNode for SequenceExpr[src]

impl AstNode for Setter[src]

impl AstNode for SinglePattern[src]

impl AstNode for Specifier[src]

impl AstNode for SpreadElement[src]

impl AstNode for SpreadProp[src]

impl AstNode for StaticMethod[src]

impl AstNode for SuperCall[src]

impl AstNode for SwitchStmt[src]

impl AstNode for Template[src]

impl AstNode for TemplateElement[src]

impl AstNode for ThisExpr[src]

impl AstNode for ThrowStmt[src]

impl AstNode for TryStmt[src]

impl AstNode for UnaryExpr[src]

impl AstNode for VarDecl[src]

impl AstNode for WhileStmt[src]

impl AstNode for WildcardImport[src]

impl AstNode for WithStmt[src]

impl AstNode for YieldExpr[src]

Loading content...