diff --git a/ChangeLog b/ChangeLog index 540f6f372a..4376e3f35a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -14,6 +14,10 @@ What's New in Pylint 2.9.6? =========================== Release date: TBA +* pyreverse: Show class has-a relationships inferred from the type-hint + +Closes #4744 + .. Put bug fixes that should not wait for a new minor version here diff --git a/doc/whatsnew/2.10.rst b/doc/whatsnew/2.10.rst index 3e17dc7817..a3ff52ca8c 100644 --- a/doc/whatsnew/2.10.rst +++ b/doc/whatsnew/2.10.rst @@ -17,4 +17,6 @@ New checkers Other Changes ============= +* Pyreverse - Show class has-a relationships inferred from type-hints + * Added ``time.clock`` to deprecated functions/methods for python 3.3 diff --git a/pylint/pyreverse/utils.py b/pylint/pyreverse/utils.py index fea9bda792..7eee6de9aa 100644 --- a/pylint/pyreverse/utils.py +++ b/pylint/pyreverse/utils.py @@ -269,9 +269,9 @@ def infer_node(node: Union[astroid.AssignAttr, astroid.AssignName]) -> set: otherwise return a set of the inferred types using the NodeNG.infer method""" ann = get_annotation(node) - if ann: - return {ann} try: + if ann: + return set(ann.infer()) return set(node.infer()) except astroid.InferenceError: - return set() + return {ann} if ann else set()