#[repr(C)]pub struct ParserResult {
pub ast: Option<Box<Node>>,
pub tokens: Vec<Token>,
pub diagnostics: Vec<Diagnostic>,
pub comments: Vec<Comment>,
pub magic_comments: Vec<MagicComment>,
pub input: DecodedInput,
}Expand description
Combination of all data that Parser can give you
Fields§
§ast: Option<Box<Node>>Abstract Syntax Tree that was constructed from you code.
Contains None if the code gives no AST nodes
tokens: Vec<Token>List of tokens returned by a Lexer and consumed by a Parser. Empty unless ParserOptions::record_tokens is set to true.
diagnostics: Vec<Diagnostic>List of all diagnostics (errors and warnings) that have been recorded during lexing and parsing
comments: Vec<Comment>List of comments extracted from the source code.
magic_comments: Vec<MagicComment>List of magic comments extracted from the source code.
input: DecodedInputInput that was used for parsing.
Note: this input is not necessary the same byte array that
you passed to Parser::parse. If encoding of the input is
not UTF-8 or ASCII-8BIT/BINARY Parser invokes decoder
that usually produces a different sequence of bytes.
Pass this data to Loc::source, otherwise you’ll get
incorrect source ranges.