teo_runtime/namespace/
extensions.rs1use teo_parser::r#type::synthesized_shape_reference::SynthesizedShapeReference;
2use teo_parser::r#type::Type;
3use crate::namespace::Namespace;
4
5pub trait SynthesizedShapeReferenceExtension {
6 fn fetch_synthesized_definition_for_namespace<'a>(&'a self, namespace: &'a Namespace) -> Option<&'a Type>;
7}
8
9impl SynthesizedShapeReferenceExtension for SynthesizedShapeReference {
10
11 fn fetch_synthesized_definition_for_namespace<'a>(&'a self, namespace: &'a Namespace) -> Option<&'a Type> {
12 let model = namespace.model_at_path(&self.owner.as_model_object().unwrap().string_path()).unwrap();
13 model.cache().shape.shapes.get(&(self.kind, self.without.clone()))
14 }
15}
16