diff options
author | yushao2 <36848472+yushao2@users.noreply.github.com> | 2021-09-15 01:26:44 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-09-14 19:26:44 +0200 |
commit | 272596b80c8f9cb6ddb6e3f893298f20242a9c32 (patch) | |
tree | 9455f789eda9e34611ece1455787e1e9cfff5433 /tests/functional | |
parent | af407c73064c1a9cb3cce5f056fa1e26c9e7b540 (diff) | |
download | pylint-git-272596b80c8f9cb6ddb6e3f893298f20242a9c32.tar.gz |
Fix false positive ``unused-private-member`` for accessing attributes in a class using ``cls`` (#4965)
* Fix false positive ``unused-private-member`` for accessing attributes in
a class using ``cls``
Co-authored-by: Pierre Sassoulas <pierre.sassoulas@gmail.com>
Diffstat (limited to 'tests/functional')
-rw-r--r-- | tests/functional/u/unused/unused_private_member.py | 19 | ||||
-rw-r--r-- | tests/functional/u/unused/unused_private_member.txt | 6 |
2 files changed, 22 insertions, 3 deletions
diff --git a/tests/functional/u/unused/unused_private_member.py b/tests/functional/u/unused/unused_private_member.py index 9c3d37303..319a06d88 100644 --- a/tests/functional/u/unused/unused_private_member.py +++ b/tests/functional/u/unused/unused_private_member.py @@ -242,6 +242,25 @@ class FalsePositive4681: FalsePositive4681.__instance = False # This should be fine FalsePositive4681.__should_cause_error = False # [unused-private-member] +# Accessing attributes of the class using `cls` should not result in a false positive +# as long as it is used within the class +class FalsePositive4681b: + __instance = None + + @classmethod # Use class method here + def instance(cls): + if cls.__instance is None: + cls() + return cls.__instance + + def __init__(self): + try: + FalsePositive4681b.__instance = 42 # This should be fine + except Exception: # pylint: disable=broad-except + print("Error") + FalsePositive4681b.__instance = False # This should be fine + + # https://github.com/PyCQA/pylint/issues/4849 # Accessing private static methods from classmethods via `cls` should not result in a # false positive diff --git a/tests/functional/u/unused/unused_private_member.txt b/tests/functional/u/unused/unused_private_member.txt index 1d5baa9dc..08adc8c15 100644 --- a/tests/functional/u/unused/unused_private_member.txt +++ b/tests/functional/u/unused/unused_private_member.txt @@ -14,6 +14,6 @@ unused-private-member:212:8:Crash4755Context.__init__:Unused private member `Cra unused-private-member:229:4:FalsePositive4681:Unused private member `FalsePositive4681.__should_cause_error`:HIGH unused-private-member:239:12:FalsePositive4681.__init__:Unused private member `FalsePositive4681.__should_cause_error`:HIGH unused-private-member:243:12:FalsePositive4681.__init__:Unused private member `FalsePositive4681.__should_cause_error`:HIGH -unused-private-member:255:4:FalsePositive4849.__unused_private_method:Unused private member `FalsePositive4849.__unused_private_method()`:HIGH -unused-private-member:272:4:Pony.__init_defaults:Unused private member `Pony.__init_defaults(self)`:HIGH -unused-private-member:277:4:Pony.__get_fur_color:Unused private member `Pony.__get_fur_color(self)`:HIGH +unused-private-member:274:4:FalsePositive4849.__unused_private_method:Unused private member `FalsePositive4849.__unused_private_method()`:HIGH +unused-private-member:291:4:Pony.__init_defaults:Unused private member `Pony.__init_defaults(self)`:HIGH +unused-private-member:296:4:Pony.__get_fur_color:Unused private member `Pony.__get_fur_color(self)`:HIGH |