summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorClaudiu Popa <cpopa@cloudbasesolutions.com>2015-01-02 11:31:33 +0200
committerClaudiu Popa <cpopa@cloudbasesolutions.com>2015-01-02 11:31:33 +0200
commitcd16aa0342c9fa999f1d2417f2e70d0275bc7273 (patch)
tree71dfe0f1ee31dfc782a562e7617028066931e30c
parentfe1f0f20006b1ca551549d53a5ceff89c2aff9e5 (diff)
downloadpylint-cd16aa0342c9fa999f1d2417f2e70d0275bc7273.tar.gz
Add the name of the abstract class in abstract-class-instantiated message.
-rw-r--r--checkers/base.py10
-rw-r--r--test/functional/abstract_class_instantiated_py2.txt8
-rw-r--r--test/functional/abstract_class_instantiated_py3.txt8
-rw-r--r--test/functional/abstract_class_instantiated_py34.txt2
4 files changed, 16 insertions, 12 deletions
diff --git a/checkers/base.py b/checkers/base.py
index d363dd7..750d661 100644
--- a/checkers/base.py
+++ b/checkers/base.py
@@ -289,7 +289,7 @@ class BasicErrorChecker(_BasicChecker):
'duplicate-argument-name',
'Duplicate argument names in function definitions are syntax'
' errors.'),
- 'E0110': ('Abstract class with abstract methods instantiated',
+ 'E0110': ('Abstract class %r with abstract methods instantiated',
'abstract-class-instantiated',
'Used when an abstract class with `abc.ABCMeta` as metaclass '
'has abstract methods and is instantiated.'),
@@ -395,11 +395,15 @@ class BasicErrorChecker(_BasicChecker):
# by ClassNode.metaclass()
for ancestor in infered.ancestors():
if ancestor.qname() == 'abc.ABC' and abstract_methods:
- self.add_message('abstract-class-instantiated', node=node)
+ self.add_message('abstract-class-instantiated',
+ args=(infered.name, ),
+ node=node)
break
return
if metaclass.qname() == 'abc.ABCMeta' and abstract_methods:
- self.add_message('abstract-class-instantiated', node=node)
+ self.add_message('abstract-class-instantiated',
+ args=(infered.name, ),
+ node=node)
def _check_else_on_loop(self, node):
"""Check that any loop with an else clause has a break statement."""
diff --git a/test/functional/abstract_class_instantiated_py2.txt b/test/functional/abstract_class_instantiated_py2.txt
index 034795a..68e7eb5 100644
--- a/test/functional/abstract_class_instantiated_py2.txt
+++ b/test/functional/abstract_class_instantiated_py2.txt
@@ -1,4 +1,4 @@
-abstract-class-instantiated:65:main:Abstract class with abstract methods instantiated
-abstract-class-instantiated:66:main:Abstract class with abstract methods instantiated
-abstract-class-instantiated:67:main:Abstract class with abstract methods instantiated
-abstract-class-instantiated:68:main:Abstract class with abstract methods instantiated
+abstract-class-instantiated:65:main:Abstract class 'BadClass' with abstract methods instantiated
+abstract-class-instantiated:66:main:Abstract class 'SecondBadClass' with abstract methods instantiated
+abstract-class-instantiated:67:main:Abstract class 'ThirdBadClass' with abstract methods instantiated
+abstract-class-instantiated:68:main:Abstract class 'FourthBadClass' with abstract methods instantiated
diff --git a/test/functional/abstract_class_instantiated_py3.txt b/test/functional/abstract_class_instantiated_py3.txt
index db5bef6..b2e70a0 100644
--- a/test/functional/abstract_class_instantiated_py3.txt
+++ b/test/functional/abstract_class_instantiated_py3.txt
@@ -1,4 +1,4 @@
-abstract-class-instantiated:95:main:Abstract class with abstract methods instantiated
-abstract-class-instantiated:96:main:Abstract class with abstract methods instantiated
-abstract-class-instantiated:97:main:Abstract class with abstract methods instantiated
-abstract-class-instantiated:98:main:Abstract class with abstract methods instantiated
+abstract-class-instantiated:95:main:Abstract class 'BadMroAbstractMethods' with abstract methods instantiated
+abstract-class-instantiated:96:main:Abstract class 'BadClass' with abstract methods instantiated
+abstract-class-instantiated:97:main:Abstract class 'SecondBadClass' with abstract methods instantiated
+abstract-class-instantiated:98:main:Abstract class 'ThirdBadClass' with abstract methods instantiated
diff --git a/test/functional/abstract_class_instantiated_py34.txt b/test/functional/abstract_class_instantiated_py34.txt
index 793df2e..afee975 100644
--- a/test/functional/abstract_class_instantiated_py34.txt
+++ b/test/functional/abstract_class_instantiated_py34.txt
@@ -1 +1 @@
-abstract-class-instantiated:19:main:Abstract class with abstract methods instantiated
+abstract-class-instantiated:19:main:Abstract class 'BadClass' with abstract methods instantiated