diff --git a/java/java-impl/src/com/intellij/codeInspection/actions/UnimplementInterfaceAction.java b/java/java-impl/src/com/intellij/codeInspection/actions/UnimplementInterfaceAction.java index fb4cbacc291e..ff1a279d6925 100644 --- a/java/java-impl/src/com/intellij/codeInspection/actions/UnimplementInterfaceAction.java +++ b/java/java-impl/src/com/intellij/codeInspection/actions/UnimplementInterfaceAction.java @@ -91,7 +91,7 @@ public class UnimplementInterfaceAction implements IntentionAction { public void invoke(@NotNull final Project project, final Editor editor, final PsiFile file) throws IncorrectOperationException { if (!CodeInsightUtilBase.preparePsiElementForWrite(file)) return; - final PsiReference psiReference = file.findReferenceAt(editor.getCaretModel().getOffset()); + final PsiReference psiReference = TargetElementUtilBase.findReference(editor); if (psiReference == null) return; final PsiReferenceList referenceList = PsiTreeUtil.getParentOfType(psiReference.getElement(), PsiReferenceList.class); diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/unimplement/afterLastPosition.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/unimplement/afterLastPosition.java new file mode 100644 index 000000000000..2e76b0b509f6 --- /dev/null +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/unimplement/afterLastPosition.java @@ -0,0 +1,11 @@ +// "Unimplement Interface" "true" +class A { + public String toString() { + return super.toString(); + } + + public void foo(String ty){} +} + +interface II { +} \ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/unimplement/beforeLastPosition.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/unimplement/beforeLastPosition.java new file mode 100644 index 000000000000..d81882d8caf6 --- /dev/null +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/unimplement/beforeLastPosition.java @@ -0,0 +1,11 @@ +// "Unimplement Interface" "true" +class A implements II { + public String toString() { + return super.toString(); + } + + public void foo(String ty){} +} + +interface II { +} \ No newline at end of file