class documentation

class ConstraintBuilderVisitor(TypeVisitor[List[Constraint]]): (source)

View In Hierarchy

Visitor class for inferring type constraints.

Method __init__ Undocumented
Method infer_against_any Undocumented
Method infer_against_overloaded Undocumented
Method infer_constraints_from_protocol_members Infer constraints for situations where either 'template' or 'instance' is a protocol.
Method visit_any Undocumented
Method visit_callable_type Undocumented
Method visit_deleted_type Undocumented
Method visit_erased_type Undocumented
Method visit_instance Undocumented
Method visit_literal_type Undocumented
Method visit_none_type Undocumented
Method visit_overloaded Undocumented
Method visit_param_spec Undocumented
Method visit_parameters Undocumented
Method visit_partial_type Undocumented
Method visit_tuple_type Undocumented
Method visit_type_alias_type Undocumented
Method visit_type_type Undocumented
Method visit_type_var Undocumented
Method visit_type_var_tuple Undocumented
Method visit_typeddict_type Undocumented
Method visit_unbound_type Undocumented
Method visit_uninhabited_type Undocumented
Method visit_union_type Undocumented
Method visit_unpack_type Undocumented
Instance Variable actual Undocumented
Instance Variable direction Undocumented
def __init__(self, actual: ProperType, direction: int): (source)

Undocumented

def infer_against_any(self, types: Iterable[Type], any_type: AnyType) -> list[Constraint]: (source)

Undocumented

def infer_against_overloaded(self, overloaded: Overloaded, template: CallableType) -> list[Constraint]: (source)

Undocumented

def infer_constraints_from_protocol_members(self, instance: Instance, template: Instance, subtype: Type, protocol: Instance, class_obj: bool = False) -> list[Constraint]: (source)

Infer constraints for situations where either 'template' or 'instance' is a protocol. The 'protocol' is the one of two that is an instance of protocol type, 'subtype' is the type used to bind self during inference. Currently, we just infer constrains for every protocol member type (both ways for settable members).

def visit_any(self, template: AnyType) -> list[Constraint]: (source)

Undocumented

def visit_callable_type(self, template: CallableType) -> list[Constraint]: (source)

Undocumented

def visit_deleted_type(self, template: DeletedType) -> list[Constraint]: (source)

Undocumented

def visit_erased_type(self, template: ErasedType) -> list[Constraint]: (source)

Undocumented

def visit_instance(self, template: Instance) -> list[Constraint]: (source)

Undocumented

def visit_literal_type(self, template: LiteralType) -> list[Constraint]: (source)

Undocumented

def visit_none_type(self, template: NoneType) -> list[Constraint]: (source)

Undocumented

def visit_overloaded(self, template: Overloaded) -> list[Constraint]: (source)

Undocumented

def visit_param_spec(self, template: ParamSpecType) -> list[Constraint]: (source)

Undocumented

def visit_parameters(self, template: Parameters) -> list[Constraint]: (source)

Undocumented

def visit_partial_type(self, template: PartialType) -> list[Constraint]: (source)

Undocumented

def visit_tuple_type(self, template: TupleType) -> list[Constraint]: (source)

Undocumented

def visit_type_alias_type(self, template: TypeAliasType) -> list[Constraint]: (source)

Undocumented

def visit_type_type(self, template: TypeType) -> list[Constraint]: (source)

Undocumented

def visit_type_var(self, template: TypeVarType) -> list[Constraint]: (source)

Undocumented

def visit_type_var_tuple(self, template: TypeVarTupleType) -> list[Constraint]: (source)

Undocumented

def visit_typeddict_type(self, template: TypedDictType) -> list[Constraint]: (source)

Undocumented

def visit_unbound_type(self, template: UnboundType) -> list[Constraint]: (source)

Undocumented

def visit_uninhabited_type(self, template: UninhabitedType) -> list[Constraint]: (source)

Undocumented

def visit_union_type(self, template: UnionType) -> list[Constraint]: (source)

Undocumented

def visit_unpack_type(self, template: UnpackType) -> list[Constraint]: (source)

Undocumented

Undocumented

direction = (source)

Undocumented