class documentation

class FindCommonSuperClasses(visitors.Visitor): (source)

View In Hierarchy

Find common super classes. Optionally also uses abstract base classes. E.g., this changes def f(x: Union[list, tuple], y: Union[frozenset, set]) -> Union[int, float] to def f(x: Sequence, y: Set) -> Real

Method __init__ Undocumented
Method VisitUnionType Given a union type, try to find a simplification by using superclasses.
Instance Variable hierarchy Undocumented

Inherited from Visitor:

Method Enter Undocumented
Method Leave Undocumented
Method Visit Undocumented
Class Variable old_node Undocumented
Class Variable unchecked_node_names Undocumented
Class Variable visits_all_node_types Undocumented
Instance Variable enter_functions Undocumented
Instance Variable leave_functions Undocumented
Instance Variable visit_class_names Undocumented
Instance Variable visit_functions Undocumented
Class Variable _visitor_functions_cache Undocumented
def __init__(self, hierarchy): (source)
def VisitUnionType(self, union): (source)

Given a union type, try to find a simplification by using superclasses. This is a lossy optimization that tries to map a list of types to a common base type. For example, int and bool are both base classes of int, so it would convert "Union[int, bool]" to "int". Arguments: union: A union type. Returns: A simplified type, if available.

hierarchy = (source)

Undocumented