luaur_ast/records/
printer.rs1use crate::records::position::Position;
2use crate::records::writer::Writer;
3use crate::type_aliases::cst_node_map::CstNodeMap;
4
5pub struct Printer<'a> {
6 pub(crate) write_types: bool,
7 pub(crate) writer: &'a mut dyn Writer,
8 pub(crate) cst_node_map: CstNodeMap,
9}
10
11impl<'a> Printer<'a> {
12 pub(crate) fn lookup_cst_node<T: crate::rtti::CstNodeClass>(
13 &self,
14 ast_node: *mut crate::records::ast_node::AstNode,
15 ) -> *mut T {
16 if let Some(&cst_node) = self.cst_node_map.find(&ast_node) {
17 return unsafe { crate::rtti::cst_node_as::<T>(cst_node) };
18 }
19 core::ptr::null_mut()
20 }
21}