diff --git a/plugins/devkit/src/inspections/PluginXmlDomInspection.java b/plugins/devkit/src/inspections/PluginXmlDomInspection.java index d854d846e7e5..77d5c8f6ea7d 100644 --- a/plugins/devkit/src/inspections/PluginXmlDomInspection.java +++ b/plugins/devkit/src/inspections/PluginXmlDomInspection.java @@ -15,9 +15,11 @@ */ package org.jetbrains.idea.devkit.inspections; +import com.intellij.ExtensionPoints; import com.intellij.codeInspection.LocalQuickFix; import com.intellij.codeInspection.ProblemDescriptor; import com.intellij.codeInspection.ProblemHighlightType; +import com.intellij.diagnostic.ITNReporter; import com.intellij.ide.plugins.PluginManagerCore; import com.intellij.ide.plugins.PluginManagerMain; import com.intellij.openapi.module.Module; @@ -151,6 +153,21 @@ public class PluginXmlDomInspection extends BasicDomElementsInspection descriptions = extension.getGenericInfo().getAttributeChildrenDescriptions(); for (DomAttributeChildDescription attributeDescription : descriptions) { final GenericAttributeValue attributeValue = attributeDescription.getDomAttributeValue(extension); diff --git a/plugins/devkit/testData/codeInsight/errorHandlerExtensionInJetBrainsPlugin.xml b/plugins/devkit/testData/codeInsight/errorHandlerExtensionInJetBrainsPlugin.xml new file mode 100644 index 000000000000..b89f34911fea --- /dev/null +++ b/plugins/devkit/testData/codeInsight/errorHandlerExtensionInJetBrainsPlugin.xml @@ -0,0 +1,12 @@ + + com.intellij + JetBrains + + + + + + + + diff --git a/plugins/devkit/testSources/codeInsight/PluginXmlFunctionalTest.groovy b/plugins/devkit/testSources/codeInsight/PluginXmlFunctionalTest.groovy index 1aa04cf55c11..adb600aa93ee 100644 --- a/plugins/devkit/testSources/codeInsight/PluginXmlFunctionalTest.groovy +++ b/plugins/devkit/testSources/codeInsight/PluginXmlFunctionalTest.groovy @@ -14,11 +14,13 @@ * limitations under the License. */ package org.jetbrains.idea.devkit.codeInsight + import com.intellij.codeInsight.TargetElementUtil import com.intellij.codeInsight.completion.CompletionType import com.intellij.codeInsight.lookup.LookupElement import com.intellij.codeInsight.lookup.LookupElementPresentation import com.intellij.codeInspection.xml.DeprecatedClassUsageInspection +import com.intellij.diagnostic.ITNReporter import com.intellij.openapi.application.ApplicationManager import com.intellij.openapi.application.PluginPathManager import com.intellij.psi.ElementDescriptionUtil @@ -61,6 +63,8 @@ public class PluginXmlFunctionalTest extends JavaCodeInsightFixtureTestCase { moduleBuilder.addLibrary("util", pathForClass); String platformApiJar = PathUtil.getJarPathForClass(JBList.class) moduleBuilder.addLibrary("platform-api", platformApiJar); + String platformImplJar = PathUtil.getJarPathForClass(ITNReporter.class) + moduleBuilder.addLibrary("platform-impl", platformImplJar); } public void testExtensionsHighlighting() throws Throwable { @@ -342,6 +346,14 @@ public class PluginXmlFunctionalTest extends JavaCodeInsightFixtureTestCase { } } + public void testErrorHandlerExtensionInJetBrainsPlugin() { + myFixture.addClass(""" +import com.intellij.openapi.diagnostic.ErrorReportSubmitter; +public class MyErrorHandler extends ErrorReportSubmitter {} +""") + myFixture.testHighlighting("errorHandlerExtensionInJetBrainsPlugin.xml"); + } + public void testExtensionPointPresentation() { myFixture.configureByFile(getTestName(true) + ".xml"); final PsiElement element =