diff --git a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/analysis/HighlightClassUtil.java b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/analysis/HighlightClassUtil.java index e9da4dfba81a..2a7c843c2ae3 100644 --- a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/analysis/HighlightClassUtil.java +++ b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/analysis/HighlightClassUtil.java @@ -399,7 +399,7 @@ public class HighlightClassUtil { static HighlightInfo checkExtendsClassAndImplementsInterface(PsiReferenceList referenceList, JavaResolveResult resolveResult, - PsiJavaCodeReferenceElement context) { + PsiJavaCodeReferenceElement ref) { PsiClass aClass = (PsiClass)referenceList.getParent(); boolean isImplements = referenceList.equals(aClass.getImplementsList()); boolean isInterface = aClass.isInterface(); @@ -409,10 +409,10 @@ public class HighlightClassUtil { PsiClass extendFrom = (PsiClass)resolveResult.getElement(); if (extendFrom.isInterface() != mustBeInterface) { errorResult = HighlightInfo.createHighlightInfo(HighlightInfoType.ERROR, - context, + ref, mustBeInterface ? INTERFACE_EXPECTED : NO_INTERFACE_EXPECTED); PsiClassType type = - JavaPsiFacade.getInstance(aClass.getProject()).getElementFactory().createType(extendFrom, resolveResult.getSubstitutor()); + JavaPsiFacade.getInstance(aClass.getProject()).getElementFactory().createType(ref); QuickFixAction.registerQuickFixAction(errorResult, new ChangeExtendsToImplementsFix(aClass, type)); } return errorResult; diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/changeExtendsToImplements/after7.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/changeExtendsToImplements/after7.java new file mode 100644 index 000000000000..82c28405a968 --- /dev/null +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/changeExtendsToImplements/after7.java @@ -0,0 +1,9 @@ +// "Change 'implements b' to 'extends b'" "true" +class a extends b { +} + +class b {} + +class C { + static class D {} +} diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/changeExtendsToImplements/before7.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/changeExtendsToImplements/before7.java new file mode 100644 index 000000000000..7c7a75fc8ef8 --- /dev/null +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/changeExtendsToImplements/before7.java @@ -0,0 +1,9 @@ +// "Change 'implements b' to 'extends b'" "true" +class a implements b { +} + +class b {} + +class C { + static class D {} +}