diff --git a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/analysis/HighlightUtil.java b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/analysis/HighlightUtil.java index 4c2731c6ca0e..2702e4528645 100644 --- a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/analysis/HighlightUtil.java +++ b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/analysis/HighlightUtil.java @@ -1871,7 +1871,7 @@ public class HighlightUtil { HighlightInfo info = HighlightInfo.createHighlightInfo(type, refName, description); - UnresolvedReferenceQuickFixProvider.registerFixes(ref, new QuickFixActionRegistrarImpl(info), PsiJavaCodeReferenceElement.class); + UnresolvedReferenceQuickFixProvider.registerReferenceFixes(ref, new QuickFixActionRegistrarImpl(info)); return info; } diff --git a/java/openapi/src/com/intellij/codeInsight/quickfix/UnresolvedReferenceQuickFixProvider.java b/platform/lang-impl/src/com/intellij/codeInsight/quickfix/UnresolvedReferenceQuickFixProvider.java similarity index 87% rename from java/openapi/src/com/intellij/codeInsight/quickfix/UnresolvedReferenceQuickFixProvider.java rename to platform/lang-impl/src/com/intellij/codeInsight/quickfix/UnresolvedReferenceQuickFixProvider.java index b3463f2f6592..9bcb5d6c474c 100644 --- a/java/openapi/src/com/intellij/codeInsight/quickfix/UnresolvedReferenceQuickFixProvider.java +++ b/platform/lang-impl/src/com/intellij/codeInsight/quickfix/UnresolvedReferenceQuickFixProvider.java @@ -25,15 +25,16 @@ import org.jetbrains.annotations.NotNull; public abstract class UnresolvedReferenceQuickFixProvider { - public static void registerFixes(T ref, QuickFixActionRegistrar registrar, Class refClass) { + public static void registerReferenceFixes(T ref, QuickFixActionRegistrar registrar) { final boolean dumb = DumbService.getInstance(ref.getElement().getProject()).isDumb(); UnresolvedReferenceQuickFixProvider[] fixProviders = Extensions.getExtensions(EXTENSION_NAME); + Class referenceClass = ref.getClass(); for (UnresolvedReferenceQuickFixProvider each : fixProviders) { if (dumb && !(each instanceof DumbAware)) { continue; } - if (refClass.equals(each.getReferenceClass())) { + if (referenceClass.isAssignableFrom(each.getReferenceClass())) { each.registerFixes(ref, registrar); } } diff --git a/platform/platform-resources/src/META-INF/LangExtensionPoints.xml b/platform/platform-resources/src/META-INF/LangExtensionPoints.xml index 944a7ce14a7a..f444606a1525 100644 --- a/platform/platform-resources/src/META-INF/LangExtensionPoints.xml +++ b/platform/platform-resources/src/META-INF/LangExtensionPoints.xml @@ -37,6 +37,10 @@ + + + diff --git a/resources/src/META-INF/IdeaPlugin.xml b/resources/src/META-INF/IdeaPlugin.xml index 3114b28d7b71..d4bd8dc21166 100644 --- a/resources/src/META-INF/IdeaPlugin.xml +++ b/resources/src/META-INF/IdeaPlugin.xml @@ -18,9 +18,6 @@ - -