summaryrefslogtreecommitdiff
path: root/checkers/classes.py
diff options
context:
space:
mode:
authorClaudiu Popa <pcmanticore@gmail.com>2014-08-24 22:03:35 +0300
committerClaudiu Popa <pcmanticore@gmail.com>2014-08-24 22:03:35 +0300
commit6d19e33ba6eb634e22800effe91c110e58cd3852 (patch)
tree2c5a1355e30853b70759e5dfde8b8148b8783676 /checkers/classes.py
parente5b8874b8e1075d77528490383794cae13814d5a (diff)
downloadpylint-git-6d19e33ba6eb634e22800effe91c110e58cd3852.tar.gz
Other backports from default.
--HG-- branch : pylint-1.3
Diffstat (limited to 'checkers/classes.py')
-rw-r--r--checkers/classes.py6
1 files changed, 4 insertions, 2 deletions
diff --git a/checkers/classes.py b/checkers/classes.py
index 61769f24d..232e130b8 100644
--- a/checkers/classes.py
+++ b/checkers/classes.py
@@ -344,9 +344,11 @@ a metaclass class method.'}
try:
overridden = klass.instance_attr(node.name)[0] # XXX
overridden_frame = overridden.frame()
- if overridden_frame.type == 'method':
+ if (isinstance(overridden_frame, astroid.Function)
+ and overridden_frame.type == 'method'):
overridden_frame = overridden_frame.parent.frame()
- if isinstance(overridden_frame, Class) and klass._is_subtype_of(overridden_frame.qname()):
+ if (isinstance(overridden_frame, Class)
+ and klass._is_subtype_of(overridden_frame.qname())):
args = (overridden.root().name, overridden.fromlineno)
self.add_message('method-hidden', args=args, node=node)
except astroid.NotFoundError: