Skip to main content

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}