teo_parser/expr/
reference_info.rs

1use crate::expr::ReferenceType;
2use crate::r#type::reference::Reference;
3use crate::r#type::Type;
4
5#[derive(Debug, Clone)]
6pub struct ReferenceInfo {
7    pub r#type: ReferenceType,
8    pub reference: Reference,
9    pub generics: Option<Vec<Type>>,
10}
11
12impl ReferenceInfo {
13
14    pub fn new(r#type: ReferenceType, reference: Reference, generics: Option<Vec<Type>>) -> Self {
15        Self { r#type, reference, generics }
16    }
17
18    pub fn r#type(&self) -> ReferenceType {
19        self.r#type
20    }
21
22    pub fn reference(&self) -> &Reference {
23        &self.reference
24    }
25
26    pub fn reference_path(&self) -> &Reference {
27        &self.reference
28    }
29
30    pub fn generics(&self) -> Option<&Vec<Type>> {
31        self.generics.as_ref()
32    }
33}