subtypes module
- class cls.subtypes.Subtypes(environment: dict[object, set])[source]
The Subtypes class performs subtype checking and casting in a type environment.
- Parameters
environment (dict[object, set]) – A dictionary mapping objects to sets of objects.
- static _reflexive_closure(env: dict[object, set]) dict[object, set] [source]
Compute the reflexive closure of a given subtype environment.
- Parameters
env (dict[object, set]) – The input subtype environment.
- Returns
The reflexive closure of the input subtype environment.
- Return type
dict[object, set]
- _tgt_for_srcs(gte: Type, inseq: Sequence[tuple[cls.types.Type, cls.types.Type]]) Iterator[Type] [source]
Generator for targets for a given source.
- static _transitive_closure(env: dict[object, set]) dict[object, set] [source]
Compute the transitive closure of a given subtype environment.
- Parameters
env (dict[object, set]) – The input subtype environment.
- Returns
The transitive closure of the input subtype environment.
- Return type
dict[object, set]
- check_subtype(subtype: Type, supertype: Type) bool [source]
Check if subtype is a subtype of supertype.
- minimize(tys: set[cls.types.Type]) set[cls.types.Type] [source]
Minimize a set of types.