boolean (@NotNull PyCallExpression call, @NotNull PyClass cls, @NotNull TypeEvalContext context) { final PyExpression callee = call.getCallee(); if (callee == null || !INIT.equals(callee.getName())) { return false; } final PyExpression calleeQualifier = Optional .of(callee) .filter(PyQualifiedExpression.class::isInstance) .map(PyQualifiedExpression.class::cast) .map(PyQualifiedExpression::getQualifier) .orElse(null); return calleeQualifier != null && (isSuperCall(calleeQualifier, cls, context) || isSuperClassCall(calleeQualifier, cls, context)); }