void (DomElementAnnotationHolder holder, Extension extension, DomAttributeChildDescription<?> attributeDescription, GenericAttributeValue<?> attributeValue, @Nullable Module module) { final PsiElement declaration = attributeDescription.getDeclaration(extension.getManager().getProject()); if (declaration instanceof PsiField psiField) { if (psiField.isDeprecated()) { if (psiField.hasAnnotation(ApiStatus.ScheduledForRemoval.class.getCanonicalName())) { highlightDeprecatedMarkedForRemoval(attributeValue, DevKitBundle.message("inspections.plugin.xml.marked.for.removal.attribute", attributeDescription.getName()), holder, true); } else { highlightDeprecated( attributeValue, DevKitBundle.message("inspections.plugin.xml.deprecated.attribute", attributeDescription.getName()), holder, false, true); } } else if (psiField.hasAnnotation(ApiStatus.Experimental.class.getCanonicalName())) { highlightExperimental(attributeValue, holder); } else if (psiField.hasAnnotation(ApiStatus.Internal.class.getCanonicalName()) && module != null && !PsiUtil.isIdeaProject(module.getProject())) { highlightInternal(attributeValue, holder); } else if (psiField.hasAnnotation(ApiStatus.Obsolete.class.getCanonicalName())) { highlightObsolete(attributeValue, holder); } } }