From 06a398831d806d6db75e8e91bb7bed896626c479 Mon Sep 17 00:00:00 2001 From: anna Date: Sat, 14 Apr 2012 13:51:13 +0200 Subject: [PATCH] unimplement interface: find ref correctly (IDEA-84554) --- .../actions/UnimplementInterfaceAction.java | 2 +- .../quickFix/unimplement/afterLastPosition.java | 11 +++++++++++ .../quickFix/unimplement/beforeLastPosition.java | 11 +++++++++++ 3 files changed, 23 insertions(+), 1 deletion(-) create mode 100644 java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/unimplement/afterLastPosition.java create mode 100644 java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/unimplement/beforeLastPosition.java 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