void (@NotNull PsiMethod method) { super.visitMethod(method); if (!hasErrorResults()) add(HighlightClassUtil.checkUnnamedClassMember(method, myLanguageLevel, myFile)); if (!hasErrorResults()) add(HighlightControlFlowUtil.checkUnreachableStatement(method.getBody())); if (!hasErrorResults()) add(HighlightMethodUtil.checkConstructorHandleSuperClassExceptions(method)); if (!hasErrorResults()) add(HighlightMethodUtil.checkRecursiveConstructorInvocation(method)); if (!hasErrorResults()) add(GenericsHighlightUtil.checkSafeVarargsAnnotation(method, myLanguageLevel)); if (!hasErrorResults()) add(HighlightMethodUtil.checkRecordAccessorDeclaration(method)); if (!hasErrorResults()) HighlightMethodUtil.checkRecordConstructorDeclaration(method, myErrorSink); PsiClass aClass = method.getContainingClass(); if (!hasErrorResults() && method.isConstructor()) { add(HighlightClassUtil.checkThingNotAllowedInInterface(method, aClass)); } if (!hasErrorResults() && method.hasModifierProperty(PsiModifier.DEFAULT)) { add(checkFeature(method, HighlightingFeature.EXTENSION_METHODS)); } if (!hasErrorResults() && aClass != null && aClass.isInterface() && method.hasModifierProperty(PsiModifier.STATIC)) { add(checkFeature(method, HighlightingFeature.EXTENSION_METHODS)); } if (!hasErrorResults() && aClass != null) { add(HighlightMethodUtil.checkDuplicateMethod(aClass, method, getDuplicateMethods(aClass))); } }