Struct apollo_parser::SyntaxTree
source · pub struct SyntaxTree { /* private fields */ }
Expand description
An AST generated by the parser. Consists of a syntax tree and a Vec<Error>
if any.
Example
Given a syntactically incorrect token uasdf21230jkdw
which cannot be part
of any of GraphQL definitions and a syntactically correct SelectionSet, we
are able to see both the AST for the SelectionSet and the error with an
incorrect token.
use apollo_parser::Parser;
let schema = r#"
uasdf21230jkdw
{
pet
faveSnack
}
"#;
let parser = Parser::new(schema);
let ast = parser.parse();
// The Vec<Error> that's part of the SyntaxTree struct.
assert_eq!(ast.errors().len(), 1);
// The AST with Document as its root node.
let doc = ast.document();
let nodes: Vec<_> = doc.definitions().into_iter().collect();
assert_eq!(nodes.len(), 1);
Implementations§
source§impl SyntaxTree
impl SyntaxTree
Trait Implementations§
source§impl Clone for SyntaxTree
impl Clone for SyntaxTree
source§fn clone(&self) -> SyntaxTree
fn clone(&self) -> SyntaxTree
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read more