1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
use super::{ChunkVisitor, Origin}; use crate::{ chunks::{PackageWrapper, StringTableWrapper, TableTypeWrapper, TypeSpecWrapper}, model::{StringTable, TableType, TypeSpec}, }; #[allow(dead_code)] #[derive(Debug)] pub struct PrintVisitor; impl<'a> ChunkVisitor<'a> for PrintVisitor { fn visit_string_table(&mut self, string_table: StringTableWrapper, origin: Origin) { println!("String Table!"); println!( "\tLength ({:?}): {} ", origin, string_table.get_strings_len() ); } fn visit_package(&mut self, package: PackageWrapper) { println!("Package!"); println!("\tId: {}", package.get_id().unwrap()); println!("\tName: {}", package.get_name().unwrap()); } fn visit_table_type(&mut self, table_type: TableTypeWrapper) { println!("Table type!"); println!("\tId: {}", table_type.get_id().unwrap()); } fn visit_type_spec(&mut self, type_spec: TypeSpecWrapper) { println!("Type spec!"); println!("\tId: {}", type_spec.get_id().unwrap()); } }