teo_parser/traits/identifiable.rs
1pub trait Identifiable {
2
3 fn path(&self) -> &Vec<usize>;
4
5 fn source_id(&self) -> usize {
6 *self.path().first().unwrap()
7 }
8
9 fn id(&self) -> usize {
10 *self.path().last().unwrap()
11 }
12
13 fn parent_path(&self) -> Vec<usize> {
14 let mut result = self.path().clone();
15 result.pop();
16 result
17 }
18}