summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTorsten Marek <shlomme@gmail.com>2014-11-22 14:41:39 +0100
committerTorsten Marek <shlomme@gmail.com>2014-11-22 14:41:39 +0100
commit17caeca58b0dce1605545e1b70d263af51a8e638 (patch)
tree435604e0ed0a7c8536a9948edfd60ee5340e8d87
parent9a3721d31016ccef76dacb13d43903ed496ae078 (diff)
downloadpylint-17caeca58b0dce1605545e1b70d263af51a8e638.tar.gz
Use the public method astroid.nodes.Class.is_subtype_of.
-rw-r--r--checkers/classes.py8
-rw-r--r--test/input/func_unused_import_py30.py2
2 files changed, 3 insertions, 7 deletions
diff --git a/checkers/classes.py b/checkers/classes.py
index 4982eeb..eeaf689 100644
--- a/checkers/classes.py
+++ b/checkers/classes.py
@@ -334,14 +334,12 @@ a metaclass class method.'}
Detect that a class inherits something which is not
a class or a type.
"""
- context = InferenceContext()
for base in node.bases:
ancestor = safe_infer(base)
if ancestor in (YES, None):
continue
if (isinstance(ancestor, astroid.Instance) and
- ancestor._is_subtype_of('%s.type' % (BUILTINS,),
- context)):
+ ancestor.is_subtype_of('%s.type' % (BUILTINS,))):
continue
if not isinstance(ancestor, astroid.Class):
self.add_message('inherit-non-class',
@@ -440,15 +438,13 @@ a metaclass class method.'}
return
# check if the method is hidden by an attribute
try:
- context = InferenceContext()
overridden = klass.instance_attr(node.name)[0] # XXX
overridden_frame = overridden.frame()
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(),
- context)):
+ 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:
diff --git a/test/input/func_unused_import_py30.py b/test/input/func_unused_import_py30.py
index 4364e2d..d7a38c5 100644
--- a/test/input/func_unused_import_py30.py
+++ b/test/input/func_unused_import_py30.py
@@ -1,6 +1,6 @@
"""check unused import for metaclasses
"""
-# pylint: disable=no-init,too-few-public-methods
+# pylint: disable=too-few-public-methods
__revision__ = 1
import abc
import sys