luaur_analysis/methods/
scope_lookup_pack.rs1use crate::records::scope::Scope;
2use crate::type_aliases::name_type::Name;
3use crate::type_aliases::type_pack_id::TypePackId;
4
5impl Scope {
6 pub fn lookup_pack(&self, name: &Name) -> Option<TypePackId> {
7 let mut scope: &Scope = self;
8 loop {
9 if let Some(type_pack_id) = scope.private_type_pack_bindings.get(name) {
10 return Some(*type_pack_id);
11 }
12
13 if let Some(parent) = scope.parent.as_ref() {
14 scope = parent.as_ref();
15 } else {
16 return None;
17 }
18 }
19 }
20}