pub trait TreeSink {
type Kind: SyntaxKind;
// Required methods
fn token(&mut self, kind: Self::Kind, end: TextSize);
fn start_node(&mut self, kind: Self::Kind);
fn finish_node(&mut self);
fn errors(&mut self, errors: Vec<ParseDiagnostic>);
}Expand description
An abstraction for syntax tree implementations
Required Associated Types§
type Kind: SyntaxKind
Required Methods§
Sourcefn start_node(&mut self, kind: Self::Kind)
fn start_node(&mut self, kind: Self::Kind)
Start new branch and make it current.
Sourcefn finish_node(&mut self)
fn finish_node(&mut self)
Finish current branch and restore previous branch as current.
Sourcefn errors(&mut self, errors: Vec<ParseDiagnostic>)
fn errors(&mut self, errors: Vec<ParseDiagnostic>)
Emit errors