Skip to main content

luaur_analysis/methods/
frontend_register_builtin_definition.rs

1use crate::records::frontend::Frontend;
2use crate::records::global_types::GlobalTypes;
3use crate::type_aliases::scope_ptr_type::ScopePtr;
4use alloc::string::String;
5use luaur_common::macros::luau_assert::LUAU_ASSERT;
6
7impl Frontend {
8    pub fn register_builtin_definition(
9        &mut self,
10        name: String,
11        applicator: Box<dyn Fn(&mut Frontend, &mut GlobalTypes, ScopePtr)>,
12    ) {
13        LUAU_ASSERT!(!self.builtin_definitions.contains_key(&name));
14
15        if !self.builtin_definitions.contains_key(&name) {
16            self.builtin_definitions.insert(name, applicator.into());
17        }
18    }
19}