From 462a72dbd2b3e4e2f3ebcaaa1d0706fbc9033a37 Mon Sep 17 00:00:00 2001 From: Claudiu Popa Date: Wed, 16 Oct 2019 12:04:28 +0200 Subject: [PATCH] `invalid-overridden-method` takes `abc.abstractproperty` in account Close #3150 --- ChangeLog | 4 ++++ pylint/checkers/utils.py | 2 -- tests/functional/i/invalid_overridden_method.py | 7 +++++++ 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index 4174f1469c..2a7a77f43c 100644 --- a/ChangeLog +++ b/ChangeLog @@ -41,6 +41,10 @@ Release date: TBA Close #3147 +* `invalid-overridden-method` takes `abc.abstractproperty` in account + + Close #3150 + What's New in Pylint 2.4.2? =========================== diff --git a/pylint/checkers/utils.py b/pylint/checkers/utils.py index 22c44836a3..5819edbb10 100644 --- a/pylint/checkers/utils.py +++ b/pylint/checkers/utils.py @@ -706,8 +706,6 @@ def decorated_with_property(node: astroid.FunctionDef) -> bool: if not node.decorators: return False for decorator in node.decorators.nodes: - if not isinstance(decorator, astroid.Name): - continue try: if _is_property_decorator(decorator): return True diff --git a/tests/functional/i/invalid_overridden_method.py b/tests/functional/i/invalid_overridden_method.py index a6a365d2ab..2a85f8b22f 100644 --- a/tests/functional/i/invalid_overridden_method.py +++ b/tests/functional/i/invalid_overridden_method.py @@ -51,3 +51,10 @@ def close(self, attr): @close.deleter def close(self): return None + + +class AbstractProperty: + + @abc.abstractproperty + def prop(self): + return