Method: pylint.checkers.variables.VariablesChecker.leave_classdef
Calls: 1521, Exceptions: 0, Paths: 5Back
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()