Skip to content

Commit b526764

Browse files
committed
Avoid processing duplicate relationships
1 parent a561cee commit b526764

File tree

1 file changed

+5
-0
lines changed

1 file changed

+5
-0
lines changed

pylint/pyreverse/diagrams.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -226,6 +226,7 @@ def extract_relationships(self) -> None:
226226
obj.attrs = self.get_attrs(node)
227227
obj.methods = self.get_methods(node)
228228
obj.shape = "class"
229+
229230
# inheritance link
230231
for par_node in node.ancestors(recurs=False):
231232
try:
@@ -234,12 +235,16 @@ def extract_relationships(self) -> None:
234235
except KeyError:
235236
continue
236237

238+
# Track processed attributes to avoid duplicates
239+
processed_attrs = set()
240+
237241
# Composition links
238242
for name, values in list(node.compositions_type.items()):
239243
for value in values:
240244
self.assign_association_relationship(
241245
value, obj, name, "composition"
242246
)
247+
processed_attrs.add(name)
243248

244249
# Aggregation links
245250
for name, values in list(node.aggregations_type.items()):

0 commit comments

Comments
 (0)