Struct lib_ruby_parser::ParserResult [−][src]
#[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 warings) 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: DecodedInput
Input 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.