Path 1: 2231 calls (0.87)

Subscript (1022) Call (479) Name (391) List (98) Assign (81) Tuple (42) Attribute (32) Const (31) Dict (24) Set (14)

False (2231)

1def is_inside_abstract_class(node: nodes.NodeNG) -> bool:
2    while node is not None:
3        if isinstance(node, nodes.ClassDef):
4            if class_is_abstract(node):
5                return True
6            name = getattr(node, "name", None)
7            if name is not None and _is_abstract_class_name(name):
8                return True
9        node = node.parent
10    return False
            

Path 2: 279 calls (0.11)

Subscript (168) Name (42) Assign (33) Call (23) Attribute (10) List (2) BinOp (1)

False (279)

1def is_inside_abstract_class(node: nodes.NodeNG) -> bool:
2    while node is not None:
3        if isinstance(node, nodes.ClassDef):
4            if class_is_abstract(node):
5                return True
6            name = getattr(node, "name", None)
7            if name is not None and _is_abstract_class_name(name):
8                return True
9        node = node.parent
10    return False
            

Path 3: 25 calls (0.01)

Subscript (13) Name (7) Attribute (3) Call (2)

True (25)

1def is_inside_abstract_class(node: nodes.NodeNG) -> bool:
2    while node is not None:
3        if isinstance(node, nodes.ClassDef):
4            if class_is_abstract(node):
5                return True
6            name = getattr(node, "name", None)
7            if name is not None and _is_abstract_class_name(name):
8                return True
9        node = node.parent
10    return False
            

Path 4: 17 calls (0.01)

Subscript (12) Attribute (3) Name (1) Assign (1)

True (17)

1def is_inside_abstract_class(node: nodes.NodeNG) -> bool:
2    while node is not None:
3        if isinstance(node, nodes.ClassDef):
4            if class_is_abstract(node):
5                return True
6            name = getattr(node, "name", None)
7            if name is not None and _is_abstract_class_name(name):
8                return True
9        node = node.parent
10    return False