luaur_analysis/records/config_resolver.rs
1//! Source: `Analysis/include/Luau/ConfigResolver.h:12` (hand-ported)
2//! C++ abstract interface — modeled as a struct with a fn-pointer vtable slot
3//! (the project convention for pure-virtual classes).
4
5use crate::records::type_check_limits::TypeCheckLimits;
6use luaur_config::records::config::Config;
7use luaur_config::type_aliases::module_name::ModuleName;
8
9#[derive(Debug)]
10pub struct ConfigResolver {
11 /// virtual const Config& getConfig(const ModuleName&, const TypeCheckLimits&) const
12 pub get_config: Option<
13 unsafe fn(
14 this: *const ConfigResolver,
15 name: *const ModuleName,
16 limits: *const TypeCheckLimits,
17 ) -> *const Config,
18 >,
19}