void (@NotNull PsiKeyword keyword) { super.visitKeyword(keyword); PsiElement parent = keyword.getParent(); String text = keyword.getText(); if (parent instanceof PsiModifierList psiModifierList) { if (!hasErrorResults()) add(HighlightUtil.checkNotAllowedModifier(keyword, psiModifierList)); if (!hasErrorResults()) add(HighlightUtil.checkIllegalModifierCombination(keyword, psiModifierList)); PsiElement pParent = psiModifierList.getParent(); if (PsiModifier.ABSTRACT.equals(text) && pParent instanceof PsiMethod) { if (!hasErrorResults()) { add(HighlightMethodUtil.checkAbstractMethodInConcreteClass((PsiMethod)pParent, keyword)); } } else if (pParent instanceof PsiEnumConstant) { String description = JavaErrorBundle.message("modifiers.for.enum.constants"); add(HighlightInfo.newHighlightInfo(HighlightInfoType.ERROR).range(keyword).descriptionAndTooltip(description)); } } if (!hasErrorResults()) add(HighlightClassUtil.checkStaticDeclarationInInnerClass(keyword)); if (!hasErrorResults()) add(HighlightUtil.checkIllegalVoidType(keyword)); }