mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-18 09:34:34 +07:00
fixed PY-3278 False positive for 'Super constructor call is missing'
This commit is contained in:
@@ -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<String> superNames = new HashSet<String>();
|
||||
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);
|
||||
|
||||
@@ -1,3 +1,13 @@
|
||||
import random
|
||||
|
||||
class R(random.WichmannHill):
|
||||
def <warning descr="Call to constructor of super class is missed">__init__</warning>(self):
|
||||
pass
|
||||
#PY-3278
|
||||
class R1(random.WichmannHill):
|
||||
def __init__(self):
|
||||
random.WichmannHill.__init__(self)
|
||||
|
||||
class A(object):
|
||||
def __init__(self):
|
||||
pass
|
||||
|
||||
Reference in New Issue
Block a user