@Override public Extension addExtension(String name) { Extension extension = addExtension(); XmlTag tag = extension.getXmlTag(); tag.setName(name.substring(getDefaultExtensionNs().getStringValue().length() + 1)); return extension; }
private static String calculateAnyLanguageId(ConvertContext context) { final Extension extension = context.getInvocationElement().getParentOfType(Extension.class, true); if (extension == null) { return ANY_LANGUAGE_DEFAULT_ID; } final ExtensionPoint extensionPoint = extension.getExtensionPoint(); if (extensionPoint == null) { return ANY_LANGUAGE_DEFAULT_ID; } final GenericAttributeValue<PsiClass> epBeanClass = extensionPoint.getBeanClass(); if (CompletionContributorEP.class.getName().equals(epBeanClass.getStringValue())) { return "any"; } return ANY_LANGUAGE_DEFAULT_ID; }
private void annotateExtension(Extension extension, DomElementAnnotationHolder holder) { final ExtensionPoint extensionPoint = extension.getExtensionPoint(); if (extensionPoint == null) { return; } final GenericAttributeValue<PsiClass> interfaceAttribute = extensionPoint.getInterface(); if (!DomUtil.hasXml(interfaceAttribute)) { return; } final PsiClass value = interfaceAttribute.getValue(); if (value != null && value.isDeprecated()) { final Annotation annotation = holder.createAnnotation(extension, HighlightSeverity.WARNING, "Deprecated EP"); annotation.setHighlightType(ProblemHighlightType.LIKE_DEPRECATED); } }