Skip to main content

luaur_analysis/methods/
scope_lookup_pack.rs

1use 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}