void (@NotNull PyClass node) { final PsiElement[] superClasses = node.getSuperClassExpressions(); if (superClasses.length == 0 || superClasses.length == 1 && OBJECT.equals(superClasses[0].getText()) || !superHasNonAbstractConstructor(node, myTypeEvalContext)) { return; } final PyFunction initMethod = node.findMethodByName(INIT, false, myTypeEvalContext); if (initMethod == null || isExceptionClass(node, myTypeEvalContext) || hasConstructorCall(node, initMethod, myTypeEvalContext)) { return; } if (superClasses.length == 1 || node.isNewStyleClass(myTypeEvalContext)) { registerProblem(initMethod.getNameIdentifier(), PyPsiBundle.message("INSP.missing.super.constructor.message"), new AddCallSuperQuickFix()); } else { registerProblem(initMethod.getNameIdentifier(), PyPsiBundle.message("INSP.missing.super.constructor.message")); } }