pub struct Normalizer { /* private fields */ }Implementations§
Source§impl Normalizer
impl Normalizer
pub fn cache_type_ids(&mut self, tys: TypeIds) -> *const TypeIds
Source§impl Normalizer
impl Normalizer
pub fn clear_caches(&mut self)
Source§impl Normalizer
impl Normalizer
pub fn clear_fuel(&mut self)
Source§impl Normalizer
impl Normalizer
pub fn clear_normal(&mut self, norm: &mut NormalizedType)
Source§impl Normalizer
impl Normalizer
pub fn consume_fuel(&mut self)
Source§impl Normalizer
impl Normalizer
pub fn initialize_fuel(&mut self) -> bool
Source§impl Normalizer
impl Normalizer
pub fn intersect_extern_types( &mut self, heres: &mut NormalizedExternType, theres: &NormalizedExternType, )
Source§impl Normalizer
impl Normalizer
pub fn intersect_extern_types_with_extern_type( &mut self, heres: &mut NormalizedExternType, there: TypeId, )
Source§impl Normalizer
impl Normalizer
pub fn intersect_extern_types_with_shape( &mut self, heres: &mut NormalizedExternType, there: TypeId, )
Source§impl Normalizer
impl Normalizer
pub fn intersect_functions( &mut self, heres: &mut NormalizedFunctionType, theres: &NormalizedFunctionType, )
Source§impl Normalizer
impl Normalizer
pub fn intersect_functions_with_function( &mut self, heres: &mut NormalizedFunctionType, there: TypeId, )
Source§impl Normalizer
impl Normalizer
pub fn intersect_normal_with_negation_ty( &mut self, to_negate: TypeId, intersect: &mut NormalizedType, ) -> NormalizationResult
Source§impl Normalizer
impl Normalizer
pub fn intersect_normal_with_ty( &mut self, here: &mut NormalizedType, there: TypeId, seen_table_prop_pairs: &mut SeenTablePropPairs, seen_set_types: &mut DenseHashSet<TypeId>, ) -> NormalizationResult
Source§impl Normalizer
impl Normalizer
pub fn intersect_normals( &mut self, here: &mut NormalizedType, there: &NormalizedType, ignore_smaller_tyvars: i32, ) -> NormalizationResult
Source§impl Normalizer
impl Normalizer
pub fn intersect_strings( &mut self, here: &mut NormalizedStringType, there: &NormalizedStringType, )
Source§impl Normalizer
impl Normalizer
pub fn intersect_tables(&mut self, heres: &mut TypeIds, theres: &TypeIds)
Source§impl Normalizer
impl Normalizer
pub fn intersect_tables_with_table( &mut self, heres: &mut TypeIds, there: TypeId, seen_table_prop_pairs: &mut SeenTablePropPairs, seen_set_types: &mut DenseHashSet<TypeId>, )
Source§impl Normalizer
impl Normalizer
pub fn intersect_tyvars_with_ty( &mut self, here: &mut NormalizedTyvars, there: TypeId, seen_table_prop_pairs: &mut SeenTablePropPairs, seen_set_types: &mut DenseHashSet<TypeId>, ) -> NormalizationResult
Source§impl Normalizer
impl Normalizer
pub fn intersection_of_bools(&mut self, here: TypeId, there: TypeId) -> TypeId
Source§impl Normalizer
impl Normalizer
Source§impl Normalizer
impl Normalizer
pub fn intersection_of_tables( &mut self, here: TypeId, there: TypeId, seen_table_prop_pairs: &mut SeenTablePropPairs, seen_set: &mut DenseHashSet<TypeId>, ) -> Option<TypeId>
Source§impl Normalizer
impl Normalizer
pub fn intersection_of_tops(&mut self, here: TypeId, there: TypeId) -> TypeId
Source§impl Normalizer
impl Normalizer
pub fn intersection_of_type_packs( &mut self, here: TypePackId, there: TypePackId, ) -> Option<TypePackId>
Source§impl Normalizer
impl Normalizer
pub fn intersection_of_type_packs_internal( &mut self, here: TypePackId, there: TypePackId, ) -> Option<TypePackId>
Source§impl Normalizer
impl Normalizer
pub fn intersection_type(&mut self, here: TypeId, there: TypeId) -> TypeId
Source§impl Normalizer
impl Normalizer
pub fn is_inhabited_normalized_type( &mut self, norm: &NormalizedType, ) -> NormalizationResult
Source§impl Normalizer
impl Normalizer
pub fn is_inhabited_normalized_type_set_type_id( &mut self, norm: &NormalizedType, seen: &mut DenseHashSet<TypeId>, ) -> NormalizationResult
Source§impl Normalizer
impl Normalizer
pub fn is_inhabited_type_id(&mut self, ty: TypeId) -> NormalizationResult
Source§impl Normalizer
impl Normalizer
pub fn is_inhabited_type_id_set_type_id( &mut self, ty: TypeId, seen: &mut DenseHashSet<TypeId>, ) -> NormalizationResult
Source§impl Normalizer
impl Normalizer
Sourcepub fn is_intersection_inhabited_type_id_type_id(
&mut self,
left: TypeId,
right: TypeId,
) -> NormalizationResult
pub fn is_intersection_inhabited_type_id_type_id( &mut self, left: TypeId, right: TypeId, ) -> NormalizationResult
C++ NormalizationResult Normalizer::isIntersectionInhabited(TypeId left, TypeId right).
Builds the seen sets, initializes normalization fuel, and delegates to the
seen-set overload. The Rust port does not model C++ exceptions; the
NormalizerHitLimits path surfaces through the delegate’s return value.
Source§impl Normalizer
impl Normalizer
pub fn is_intersection_inhabited_type_id_type_id_seen_table_prop_pairs_set_type_id( &mut self, left: TypeId, right: TypeId, seen_table_prop_pairs: &mut SeenTablePropPairs, seen_set: &mut DenseHashSet<TypeId>, ) -> NormalizationResult
Source§impl Normalizer
impl Normalizer
pub fn negate_all(&mut self, theres: &TypeIds) -> TypeIds
Source§impl Normalizer
impl Normalizer
pub fn negate_normal(&mut self, here: &NormalizedType) -> Option<NormalizedType>
Source§impl Normalizer
impl Normalizer
pub fn normalize(&mut self, ty: TypeId) -> Arc<NormalizedType> ⓘ
pub fn try_normalize(&mut self, ty: TypeId) -> Option<Arc<NormalizedType>>
Source§impl Normalizer
impl Normalizer
pub fn normalize_intersections( &mut self, intersections: &Vec<TypeId>, out_type: &mut NormalizedType, seen_table_prop_pairs: &mut SeenTablePropPairs, seen_set: &mut DenseHashSet<TypeId>, ) -> NormalizationResult
Source§impl Normalizer
impl Normalizer
Sourcepub fn normalizer_normalizer(_other: &Normalizer)
pub fn normalizer_normalizer(_other: &Normalizer)
@delete
Source§impl Normalizer
impl Normalizer
Sourcepub fn normalizer_normalizer_mut(&mut self)
pub fn normalizer_normalizer_mut(&mut self)
In C++, this method is deleted to prevent move construction.
In Rust, Normalizer does not implement Copy, and move construction
is handled by the language’s move semantics.
Source§impl Normalizer
impl Normalizer
Sourcepub fn normalizer(&mut self)
pub fn normalizer(&mut self)
In C++, the default constructor is deleted. In Rust, we represent this by providing a method that panics if called.
Source§impl Normalizer
impl Normalizer
pub fn normalizer_destructor(&mut self)
Source§impl Normalizer
impl Normalizer
Sourcepub fn new(
arena: *mut TypeArena,
builtin_types: *mut BuiltinTypes,
shared_state: *mut UnifierSharedState,
solver_mode: SolverMode,
cache_inhabitance: bool,
) -> Self
pub fn new( arena: *mut TypeArena, builtin_types: *mut BuiltinTypes, shared_state: *mut UnifierSharedState, solver_mode: SolverMode, cache_inhabitance: bool, ) -> Self
C++ Normalizer::Normalizer(TypeArena*, NotNull<BuiltinTypes>, NotNull<UnifierSharedState>, SolverMode, bool cacheInhabitance = false)
(Analysis/src/Normalize.cpp:858). Owned constructor: the five
collaborators are stored; every cache is default-empty (the
DenseHashMaps take their nullptr empty-key, matching the C++
member initializers {nullptr} / {{nullptr, nullptr}}).
Source§impl Normalizer
impl Normalizer
Sourcepub fn operator_assign_mut(&mut self)
pub fn operator_assign_mut(&mut self)
In C++, this method is deleted to prevent move assignment.
In Rust, Normalizer does not implement Clone or Copy,
and move assignment is prevented by not implementing Copy.
Source§impl Normalizer
impl Normalizer
Sourcepub fn operator_assign(&mut self, _other: &mut Normalizer) -> &mut Normalizer
pub fn operator_assign(&mut self, _other: &mut Normalizer) -> &mut Normalizer
In C++, this method is deleted to prevent copying.
In Rust, Normalizer does not implement Clone or Copy,
so an explicit assignment operator is not provided.
Source§impl Normalizer
impl Normalizer
pub fn subtract_primitive(&mut self, here: &mut NormalizedType, ty: TypeId)
Source§impl Normalizer
impl Normalizer
pub fn subtract_singleton(&mut self, here: &mut NormalizedType, ty: TypeId)
Source§impl Normalizer
impl Normalizer
pub fn type_from_normal(&mut self, norm: &NormalizedType) -> TypeId
Source§impl Normalizer
impl Normalizer
pub fn union_extern_types_type_ids_type_ids( &mut self, heres: &mut TypeIds, theres: &TypeIds, )
Source§impl Normalizer
impl Normalizer
pub fn union_extern_types_normalized_extern_type_normalized_extern_type( &mut self, heres: &mut NormalizedExternType, theres: &NormalizedExternType, )
Source§impl Normalizer
impl Normalizer
pub fn union_extern_types_with_extern_type_type_ids_type_id( &mut self, heres: &mut TypeIds, there: TypeId, )
Source§impl Normalizer
impl Normalizer
pub fn union_extern_types_with_extern_type_normalized_extern_type_type_id( &mut self, heres: &mut NormalizedExternType, there: TypeId, )
Source§impl Normalizer
impl Normalizer
pub fn union_functions( &mut self, heres: &mut NormalizedFunctionType, theres: &NormalizedFunctionType, )
Source§impl Normalizer
impl Normalizer
pub fn union_functions_with_function( &mut self, heres: &mut NormalizedFunctionType, there: TypeId, )
Source§impl Normalizer
impl Normalizer
pub fn union_normal_with_ty( &mut self, here: &mut NormalizedType, there: TypeId, seen_table_prop_pairs: &mut SeenTablePropPairs, seen_set_types: &mut DenseHashSet<TypeId>, ignore_smaller_tyvars: i32, ) -> NormalizationResult
Source§impl Normalizer
impl Normalizer
pub fn union_normals( &mut self, here: &mut NormalizedType, there: &NormalizedType, ignore_smaller_tyvars: i32, ) -> NormalizationResult
Source§impl Normalizer
impl Normalizer
pub fn union_of_bools(&mut self, here: TypeId, there: TypeId) -> TypeId
Source§impl Normalizer
impl Normalizer
Source§impl Normalizer
impl Normalizer
pub fn union_of_tops(&mut self, here: TypeId, there: TypeId) -> TypeId
Source§impl Normalizer
impl Normalizer
pub fn union_of_type_packs( &mut self, here: TypePackId, there: TypePackId, ) -> Option<TypePackId>
Source§impl Normalizer
impl Normalizer
Source§impl Normalizer
impl Normalizer
pub fn union_strings( &mut self, here: &mut NormalizedStringType, there: &NormalizedStringType, )
Source§impl Normalizer
impl Normalizer
pub fn union_tables(&mut self, heres: &mut TypeIds, theres: &TypeIds)
Source§impl Normalizer
impl Normalizer
pub fn union_tables_with_table(&mut self, heres: &mut TypeIds, there: TypeId)
Source§impl Normalizer
impl Normalizer
pub fn union_type(&mut self, here: TypeId, there: TypeId) -> TypeId
Source§impl Normalizer
impl Normalizer
pub fn use_new_luau_solver(&self) -> bool
Source§impl Normalizer
impl Normalizer
pub fn within_resource_limits(&mut self) -> bool
Trait Implementations§
Source§impl Clone for Normalizer
impl Clone for Normalizer
Source§fn clone(&self) -> Normalizer
fn clone(&self) -> Normalizer
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more