void (Extension extension, DomElementAnnotationHolder holder, ComponentModuleRegistrationChecker componentModuleRegistrationChecker) { final ExtensionPoint extensionPoint = extension.getExtensionPoint(); if (extensionPoint == null) return; final Module module = extension.getModule(); final String effectiveQualifiedName = extensionPoint.getEffectiveQualifiedName(); annotateExtensionPointStatus(holder, extension, extensionPoint, effectiveQualifiedName, module); annotateErrorHandler(holder, extension, effectiveQualifiedName, module); for (DomAttributeChildDescription<?> attributeDescription : extension.getGenericInfo().getAttributeChildrenDescriptions()) { final GenericAttributeValue<?> attributeValue = attributeDescription.getDomAttributeValue(extension); if (attributeValue == null || !DomUtil.hasXml(attributeValue)) continue; // IconsReferencesContributor if ("icon".equals(attributeDescription.getXmlElementName())) { annotateResolveProblems(holder, attributeValue); } else if ("order".equals(attributeDescription.getXmlElementName())) { annotateOrderAttributeProblems(holder, attributeValue); } annotateReferencedFieldStatus(holder, extension, attributeDescription, attributeValue, module); } if (componentModuleRegistrationChecker.isIdeaPlatformModule(module)) { componentModuleRegistrationChecker.checkProperXmlFileForExtension(extension); } }