1use std::{env, fs, path};
2
3mod entrypoint;
4mod import;
5
6#[derive(Debug)]
22pub struct Parser {
23 entrypoint: entrypoint::Entrypoint,
24 _temp_dir: path::PathBuf,
26}
27
28impl Parser {
29 pub fn new(entrypoint_path: &str) -> Parser {
30 let entrypoint = entrypoint::Entrypoint::new(entrypoint_path);
31 let _temp_dir = env::temp_dir();
32
33 Parser {
34 entrypoint,
35 _temp_dir,
36 }
37 }
38
39 pub fn parse(&self) {
40 let contents = fs::read_to_string(&self.entrypoint.file_path).unwrap();
41 let imports = import::extract_imports(&contents);
42 println!("{:?}", &imports);
43
44 for import in &imports {
45 let root = import::get_root_module(import);
46 println!("{:?}", root)
47 }
48 }
49}