New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Handle has-a relationships for type-hinted arguments in class diagrams #4745
Handle has-a relationships for type-hinted arguments in class diagrams #4745
Conversation
5b0f980
to
3448d4e
Compare
3448d4e
to
846415d
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks nice, could you add one or two automated tests for this, please ?
Agree. Will address asap. |
- Update Changelog Closes pylint-dev#4744
…nts_and_has_relationships
Add tests - Unittest to check returned type is a ClassDef - Update pyreverse test/data to include the scenario of a relation inferred from a type-hint Closes pylint-dev#4744
…om:mbyrnepr2/pylint into pyreverse_type_hints_and_has_relationships
Rm duplicate changelog entry
Sorry for the delay @Pierre-Sassoulas @DudeNr33. Added some testing. I will have no access to a laptop for the next couple of days but can respond occasionally if there are any issues. |
No worries. My PR is nothing urgent, it can wait a bit longer. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you for adding the test this looks great !
Squashed commit of the following: commit 49c4bba Author: Yu Shao, Pang <p.yushao2@gmail.com> Date: Sun Aug 1 19:56:51 2021 +0800 Fix crash for `unused-private-member` when there are nested attributes commit 2ad8247 Merge: 8ceb26d 1d09bc8 Author: yushao2 <36848472+yushao2@users.noreply.github.com> Date: Sun Aug 1 20:13:05 2021 +0800 Merge pull request pylint-dev#4709 from yushao2/fix-unused-private-member-4673 [unused-private-member] add logic for checking nested functions commit 1d09bc8 Author: Yu Shao, Pang <p.yushao2@gmail.com> Date: Sun Aug 1 20:03:42 2021 +0800 update pr based on review commit a4198cd Author: Yu Shao, Pang <p.yushao2@gmail.com> Date: Sun Aug 1 19:21:36 2021 +0800 Update pr based on review commit c8b2cbb Author: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Sun Jul 25 05:20:42 2021 +0000 [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci commit 4ffea0b Author: Yu Shao, Pang <p.yushao2@gmail.com> Date: Sun Jul 25 13:12:29 2021 +0800 Update pr based on review commit e4d6243 Author: Marc Mueller <30130371+cdce8p@users.noreply.github.com> Date: Sun Jul 18 17:23:31 2021 +0200 Remove empty line commit cce5833 Author: Yu Shao, Pang <p.yushao2@gmail.com> Date: Sun Jul 18 22:40:54 2021 +0800 update PR based on comments commit 712dc2b Author: Yu Shao, Pang <p.yushao2@gmail.com> Date: Wed Jul 14 16:42:25 2021 +0800 [unused-private-member] add logic for checking nested functions also, improve error message for nested functions commit 8ceb26d Author: Michal Vasilek <michal@vasilek.cz> Date: Sun Aug 1 08:14:58 2021 +0200 Fix IsADirectoryError in tests/lint/unittest_lint (pylint-dev#4781) pylintd is a directory, so os.remove throws IsADirectoryError commit a31e6bc Author: Pierre Sassoulas <pierre.sassoulas@gmail.com> Date: Sat Jul 31 11:21:46 2021 +0200 Add documentation for useless-suppression Closes pylint-dev#4757 commit b71be8a Author: Mark Byrne <31762852+mbyrnepr2@users.noreply.github.com> Date: Fri Jul 30 20:21:02 2021 +0200 Handle has-a relationships for type-hinted arguments in class diagrams (pylint-dev#4745) * Pyreverse - Show class has-a relationships inferred from type-hints Closes pylint-dev#4744 Co-authored-by: Pierre Sassoulas <pierre.sassoulas@gmail.com> commit 5e5f48d Author: Daniël van Noord <13665637+DanielNoord@users.noreply.github.com> Date: Thu Jul 29 23:44:30 2021 +0200 Add ``forgotten-debug-statement`` checker (pylint-dev#4771) * Add ``no-breakpoint`` checker this adds a checker for calls to ``breakpoint()``, ``pdb.set_trace()``, or ``sys.breakpointhook()``. Closes pylint-dev#3692 Co-authored-by: Marc Mueller <30130371+cdce8p@users.noreply.github.com> Co-authored-by: Pierre Sassoulas <pierre.sassoulas@gmail.com>
Steps
doc/whatsnew/<current release.rst>
.Description
We get a KeyError on this line https://github.com/PyCQA/pylint/blob/main/pylint/pyreverse/diagrams.py#L194 because the value is not of type ClassDef and hence cannot be found in the self._nodes whose keys are all of that type.
Type of Changes
Related Issue
Closes #4744