Skip to content

Commit 02e2024

Browse files
committed
Instead of checking not call node check for name node ==> more explicit
1 parent f3e7c23 commit 02e2024

File tree

1 file changed

+4
-4
lines changed

1 file changed

+4
-4
lines changed

pylint/pyreverse/inspector.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -388,8 +388,8 @@ def handle(self, node: nodes.AssignAttr, parent: nodes.ClassDef) -> None:
388388

389389
value = node.parent.value
390390

391-
# Aggregation: parent receives child (self.x = x)
392-
if isinstance(value, astroid.node_classes.Name):
391+
# Aggregation: direct assignment (self.x = x)
392+
if isinstance(value, nodes.Name):
393393
current = set(parent.aggregations_type[node.attrname])
394394
parent.aggregations_type[node.attrname] = list(
395395
current | utils.infer_node(node)
@@ -405,8 +405,8 @@ def handle(self, node: nodes.AssignAttr, parent: nodes.ClassDef) -> None:
405405
else:
406406
element = value.elt
407407

408-
# If the element is NOT a Call (no object creation), it's aggregation
409-
if not isinstance(element, nodes.Call):
408+
# If the element is a Name, it means it's an existing object, so it's aggregation
409+
if isinstance(element, nodes.Name):
410410
if isinstance(value, nodes.DictComp):
411411
element_type = safe_infer(value.value)
412412
else:

0 commit comments

Comments
 (0)