Path 1: 754 calls (0.5)

ClassDef (754)

1def leave_classdef(self, node: nodes.ClassDef) -> None:
2        """Leave class: update consumption analysis variable."""
3        # Check for hidden ancestor names
4        # e.g. "six" in: Class X(six.with_metaclass(ABCMeta, object)):
5        for name_node in node.nodes_of_class(nodes.Name):
6            if (
7                isinstance(name_node.parent, nodes.Call)
8                and isinstance(name_node.parent.func, nodes.Attribute)
9                and isinstance(name_node.parent.func.expr, nodes.Name)
10            ):
11                hidden_name_node = name_node.parent.func.expr
12                for consumer in self._to_consume:
13                    if hidden_name_node.name in consumer.to_consume:
14                        consumer.mark_as_consumed(
15                            hidden_name_node.name,
16                            consumer.to_consume[hidden_name_node.name],
17                        )
18                        break
19        self._to_consume.pop()
            

Path 2: 328 calls (0.22)

ClassDef (328)

1def leave_classdef(self, node: nodes.ClassDef) -> None:
2        """Leave class: update consumption analysis variable."""
3        # Check for hidden ancestor names
4        # e.g. "six" in: Class X(six.with_metaclass(ABCMeta, object)):
5        for name_node in node.nodes_of_class(nodes.Name):
6            if (
7                isinstance(name_node.parent, nodes.Call)
8                and isinstance(name_node.parent.func, nodes.Attribute)
9                and isinstance(name_node.parent.func.expr, nodes.Name)
10            ):
11                hidden_name_node = name_node.parent.func.expr
12                for consumer in self._to_consume:
13                    if hidden_name_node.name in consumer.to_consume:
14                        consumer.mark_as_consumed(
15                            hidden_name_node.name,
16                            consumer.to_consume[hidden_name_node.name],
17                        )
18                        break
19        self._to_consume.pop()
            

Path 3: 325 calls (0.21)

ClassDef (325)

1def leave_classdef(self, node: nodes.ClassDef) -> None:
2        """Leave class: update consumption analysis variable."""
3        # Check for hidden ancestor names
4        # e.g. "six" in: Class X(six.with_metaclass(ABCMeta, object)):
5        for name_node in node.nodes_of_class(nodes.Name):
6            if (
7                isinstance(name_node.parent, nodes.Call)
8                and isinstance(name_node.parent.func, nodes.Attribute)
9                and isinstance(name_node.parent.func.expr, nodes.Name)
10            ):
11                hidden_name_node = name_node.parent.func.expr
12                for consumer in self._to_consume:
13                    if hidden_name_node.name in consumer.to_consume:
14                        consumer.mark_as_consumed(
15                            hidden_name_node.name,
16                            consumer.to_consume[hidden_name_node.name],
17                        )
18                        break
19        self._to_consume.pop()
            

Path 4: 63 calls (0.04)

ClassDef (63)

1def leave_classdef(self, node: nodes.ClassDef) -> None:
2        """Leave class: update consumption analysis variable."""
3        # Check for hidden ancestor names
4        # e.g. "six" in: Class X(six.with_metaclass(ABCMeta, object)):
5        for name_node in node.nodes_of_class(nodes.Name):
6            if (
7                isinstance(name_node.parent, nodes.Call)
8                and isinstance(name_node.parent.func, nodes.Attribute)
9                and isinstance(name_node.parent.func.expr, nodes.Name)
10            ):
11                hidden_name_node = name_node.parent.func.expr
12                for consumer in self._to_consume:
13                    if hidden_name_node.name in consumer.to_consume:
14                        consumer.mark_as_consumed(
15                            hidden_name_node.name,
16                            consumer.to_consume[hidden_name_node.name],
17                        )
18                        break
19        self._to_consume.pop()
            

Path 5: 51 calls (0.03)

ClassDef (51)

1def leave_classdef(self, node: nodes.ClassDef) -> None:
2        """Leave class: update consumption analysis variable."""
3        # Check for hidden ancestor names
4        # e.g. "six" in: Class X(six.with_metaclass(ABCMeta, object)):
5        for name_node in node.nodes_of_class(nodes.Name):
6            if (
7                isinstance(name_node.parent, nodes.Call)
8                and isinstance(name_node.parent.func, nodes.Attribute)
9                and isinstance(name_node.parent.func.expr, nodes.Name)
10            ):
11                hidden_name_node = name_node.parent.func.expr
12                for consumer in self._to_consume:
13                    if hidden_name_node.name in consumer.to_consume:
14                        consumer.mark_as_consumed(
15                            hidden_name_node.name,
16                            consumer.to_consume[hidden_name_node.name],
17                        )
18                        break
19        self._to_consume.pop()