emmylua_parser/syntax/tree/
lua_syntax_tree.rsuse rowan::GreenNode;
use crate::{
parser_error::LuaParseError,
syntax::{node::LuaChunk, traits::LuaAstNode},
LuaSyntaxNode,
};
#[derive(Debug, Clone)]
pub struct LuaSyntaxTree {
root: GreenNode,
errors: Vec<LuaParseError>,
}
impl LuaSyntaxTree {
pub fn new(root: GreenNode, errors: Vec<LuaParseError>) -> Self {
LuaSyntaxTree { root, errors }
}
pub fn get_red_root(&self) -> LuaSyntaxNode {
LuaSyntaxNode::new_root(self.root.clone())
}
pub fn get_chunk_node(&self) -> LuaChunk {
LuaChunk::cast(self.get_red_root()).unwrap()
}
pub fn get_errors(&self) -> &[LuaParseError] {
&self.errors
}
}