diff --git a/java/java-tests/testData/refactoring/renameInplace/SuperMethodAnonymousInheritor.java b/java/java-tests/testData/refactoring/renameInplace/SuperMethodAnonymousInheritor.java new file mode 100644 index 000000000000..d30f2dacbd38 --- /dev/null +++ b/java/java-tests/testData/refactoring/renameInplace/SuperMethodAnonymousInheritor.java @@ -0,0 +1,16 @@ +class Demo { + class MyEvent {} + interface MyEventListener { + void action(MyEvent event); + } + + class Driver { + void method() { + MyEventListener l = new MyEventListener() { + public void action(MyEvent event) { + //To change body of implemented methods use File | Settings | File Templates. + } + }; + } + } +} \ No newline at end of file diff --git a/java/java-tests/testData/refactoring/renameInplace/SuperMethodAnonymousInheritor_after.java b/java/java-tests/testData/refactoring/renameInplace/SuperMethodAnonymousInheritor_after.java new file mode 100644 index 000000000000..ee9f9c67aea5 --- /dev/null +++ b/java/java-tests/testData/refactoring/renameInplace/SuperMethodAnonymousInheritor_after.java @@ -0,0 +1,16 @@ +class Demo { + class MyEvent {} + interface MyEventListener { + void xxx(MyEvent event); + } + + class Driver { + void method() { + MyEventListener l = new MyEventListener() { + public void xxx(MyEvent event) { + //To change body of implemented methods use File | Settings | File Templates. + } + }; + } + } +} \ No newline at end of file diff --git a/java/java-tests/testSrc/com/intellij/refactoring/RenameMembersInplaceTest.java b/java/java-tests/testSrc/com/intellij/refactoring/RenameMembersInplaceTest.java index d551d0ea8580..86729522a0d6 100644 --- a/java/java-tests/testSrc/com/intellij/refactoring/RenameMembersInplaceTest.java +++ b/java/java-tests/testSrc/com/intellij/refactoring/RenameMembersInplaceTest.java @@ -45,6 +45,10 @@ public class RenameMembersInplaceTest extends LightCodeInsightTestCase { public void testSuperMethod() throws Exception { doTestInplaceRename("xxx"); } + + public void testSuperMethodAnonymousInheritor() throws Exception { + doTestInplaceRename("xxx"); + } public void testMultipleConstructors() throws Exception { doTestInplaceRename("Bar"); diff --git a/platform/lang-impl/src/com/intellij/refactoring/rename/inplace/MemberInplaceRenamer.java b/platform/lang-impl/src/com/intellij/refactoring/rename/inplace/MemberInplaceRenamer.java index 52894500489f..0640b0d0da2d 100644 --- a/platform/lang-impl/src/com/intellij/refactoring/rename/inplace/MemberInplaceRenamer.java +++ b/platform/lang-impl/src/com/intellij/refactoring/rename/inplace/MemberInplaceRenamer.java @@ -84,14 +84,11 @@ public class MemberInplaceRenamer extends VariableInplaceRenamer { @Override protected PsiElement checkLocalScope() { - PsiElement scope = super.checkLocalScope(); - if (scope == null) { - PsiFile currentFile = PsiDocumentManager.getInstance(myProject).getPsiFile(myEditor.getDocument()); - if (currentFile != null) { - return currentFile; - } + PsiFile currentFile = PsiDocumentManager.getInstance(myProject).getPsiFile(myEditor.getDocument()); + if (currentFile != null) { + return currentFile; } - return scope; + return super.checkLocalScope(); } @Override