boolean (@NotNull PsiClass psiClass, @NotNull ProblemSink builder) { if (psiClass instanceof PsiAnonymousClass || psiClass.isEnum()) { return true; } PsiClass baseClass = psiClass.getSuperClass(); if (baseClass == null || psiClass.getManager().areElementsEquivalent(psiClass, baseClass)) { return true; } PsiMethod[] constructors = baseClass.getConstructors(); if (constructors.length == 0) { return true; } for (PsiMethod constructor : constructors) { final int parametersCount = constructor.getParameterList().getParametersCount(); if (parametersCount == 0 || parametersCount == 1 && constructor.isVarArgs()) { return true; } } builder.addErrorMessage("inspection.message.lombok.needs.default.constructor.in.base.class"); return false; }