Skip to main content

luaur_analysis/records/
require_node.rs

1use crate::records::require_alias::RequireAlias;
2use alloc::boxed::Box;
3use alloc::string::String;
4use alloc::vec::Vec;
5
6pub trait RequireNode {
7    fn get_path_component(&self) -> String;
8
9    fn get_label(&self) -> String {
10        self.get_path_component()
11    }
12
13    fn get_tags(&self) -> Vec<String> {
14        Vec::new()
15    }
16
17    fn resolve_path_to_node(&self, path: &str) -> Option<Box<dyn RequireNode>>;
18
19    fn get_children(&self) -> Vec<Box<dyn RequireNode>>;
20
21    fn get_available_aliases(&self) -> Vec<RequireAlias>;
22}