luaur_analysis/records/
require_node.rs1use 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}