void (DomElementAnnotationHolder holder, Extension extension) { ExtensionPoint extensionPoint = extension.getExtensionPoint(); if (extensionPoint == null) return; final PsiClass beanClass = extensionPoint.getBeanClass().getValue(); if (beanClass == null) return; String epName = extensionPoint.getEffectiveQualifiedName(); if (LocalInspectionEP.LOCAL_INSPECTION.getName().equals(epName) || InspectionEP.GLOBAL_INSPECTION.getName().equals(epName)) { if (isInternal(extension, "isInternal")) { return; } GenericAttributeValue<?> implementationClass = DevKitDomUtil.getAttribute(extension, "implementationClass"); if (implementationClass == null || implementationClass.getStringValue() == null) { return; } checkNonLocalizableAttribute(holder, extension, "displayName", new InspectionI18NQuickFix()); checkNonLocalizableAttribute(holder, extension, "groupName", null); //checkNonLocalizableAttribute(holder, element, "groupPath", null); } else if (IntentionManagerImpl.EP_INTENTION_ACTIONS.getName().equals(epName)) { checkNonLocalizableTag(holder, extension, "category", null); } else if (InheritanceUtil.isInheritor(beanClass, ConfigurableEP.class.getName())) { checkNonLocalizableAttribute(holder, extension, "displayName", null); // ConfigurableEP#children for (DomElement nestedConfigurable : DomUtil.getDefinedChildren(extension, true, false)) { checkNonLocalizableAttribute(holder, nestedConfigurable, "displayName", null); } } else if (InheritanceUtil.isInheritor(beanClass, SchemeConvertorEPBase.class.getName())) { checkNonLocalizableAttribute(holder, extension, "name", null); } else if (NotificationGroupEP.class.getName().equals(beanClass.getQualifiedName())) { if (hasMissingAttribute(extension, "key")) { GenericAttributeValue<?> value = DevKitDomUtil.getAttribute(extension, "hideFromSettings"); if (value == null || !Boolean.parseBoolean(value.getStringValue())) { holder.createProblem(extension, DevKitI18nBundle.message("inspections.plugin.xml.i18n.name"), new NotificationGroupI18NQuickFix()); } } } }