diff --git a/python/src/com/jetbrains/python/inspections/PyMissingConstructorInspection.java b/python/src/com/jetbrains/python/inspections/PyMissingConstructorInspection.java index 4865c607278b..948dd7f5302b 100644 --- a/python/src/com/jetbrains/python/inspections/PyMissingConstructorInspection.java +++ b/python/src/com/jetbrains/python/inspections/PyMissingConstructorInspection.java @@ -40,17 +40,17 @@ public class PyMissingConstructorInspection extends PyInspection { @Override public void visitPyClass(final PyClass node) { - PyClass[] superClasses = node.getSuperClasses(); + PsiElement[] superClasses = node.getSuperClassExpressions(); if (superClasses.length == 0) return; Set superNames = new HashSet(); if (node.isNewStyleClass()) superNames.add(PyNames.SUPER); - for (PyClass cl : superClasses) { - if (!PyNames.OBJECT.equals(cl.getName())) - superNames.add(cl.getName()); + for (PsiElement cl : superClasses) { + if (!PyNames.OBJECT.equals(cl.getText())) + superNames.add(cl.getText()); } - if (superClasses.length == 1 && PyNames.OBJECT.equals(superClasses[0].getName())) + if (superClasses.length == 1 && PyNames.OBJECT.equals(superClasses[0].getText())) return; PyFunction initMethod = node.findMethodByName(PyNames.INIT, false); diff --git a/python/testData/inspections/PyMissingConstructorInspection/test.py b/python/testData/inspections/PyMissingConstructorInspection/test.py index 28d0cdb3c894..e2bc56f2b89a 100644 --- a/python/testData/inspections/PyMissingConstructorInspection/test.py +++ b/python/testData/inspections/PyMissingConstructorInspection/test.py @@ -1,3 +1,13 @@ +import random + +class R(random.WichmannHill): + def __init__(self): + pass +#PY-3278 +class R1(random.WichmannHill): + def __init__(self): + random.WichmannHill.__init__(self) + class A(object): def __init__(self): pass