void (@NotNull PsiMethod method) { super.visitMethod(method); if (!method.isConstructor() || method.getNameIdentifier() == null) { return; } final PsiClass containingClass = method.getContainingClass(); if (containingClass == null) { return; } if (containingClass.isEnum() || containingClass.isRecord()) { return; } if (m_ignoreForObjectSubclasses) { final PsiClass superClass = containingClass.getSuperClass(); if (superClass != null) { final String superClassName = superClass.getQualifiedName(); if (CommonClassNames.JAVA_LANG_OBJECT.equals( superClassName)) { return; } } } final PsiStatement firstStatement = ControlFlowUtils.getFirstStatementInBlock(method.getBody()); if (firstStatement == null) { registerMethodError(method); return; } if (isConstructorCall(firstStatement) || PsiUtilCore.hasErrorElementChild(firstStatement)) { return; } registerMethodError(method); }