luaur_analysis/methods/
frontend_register_builtin_definition.rs1use 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}