luaur_analysis/records/
overload_resolver.rs1use crate::records::builtin_types::BuiltinTypes;
2use crate::records::internal_error_reporter::InternalErrorReporter;
3use crate::records::normalizer::Normalizer;
4use crate::records::overload_resolution::OverloadResolution;
5use crate::records::overload_resolver;
6use crate::records::scope::Scope;
7use crate::records::subtyping::Subtyping;
8use crate::records::subtyping_reasoning::SubtypingReasoning;
9use crate::records::type_arena::TypeArena;
10use crate::records::type_check_limits::TypeCheckLimits;
11use crate::type_aliases::error_vec::ErrorVec;
12use crate::type_aliases::module_name_type::ModuleName;
13use crate::type_aliases::type_id::TypeId;
14use crate::type_aliases::type_or_pack::TypeOrPack;
15use crate::type_aliases::type_pack_id::TypePackId;
16use alloc::vec::Vec;
17use luaur_ast::records::ast_expr::AstExpr;
18use luaur_ast::records::location::Location;
19use luaur_common::records::dense_hash_set::DenseHashSet;
20
21#[derive(Debug, Clone)]
22pub struct OverloadResolver {
23 pub(crate) builtin_types: *mut BuiltinTypes,
24 pub(crate) arena: *mut TypeArena,
25 pub(crate) normalizer: *mut Normalizer,
26 pub(crate) type_function_runtime:
27 *mut crate::records::type_function_runtime::TypeFunctionRuntime,
28 pub(crate) scope: *mut Scope,
29 pub(crate) ice: *mut InternalErrorReporter,
30 pub(crate) limits: TypeCheckLimits,
31 pub(crate) subtyping: Subtyping,
32 pub(crate) call_loc: Location,
33}