diff --git a/java/java-impl/src/com/intellij/refactoring/rename/RenameJavaClassProcessor.java b/java/java-impl/src/com/intellij/refactoring/rename/RenameJavaClassProcessor.java index 5cf94d9b775c..8278a85557ac 100644 --- a/java/java-impl/src/com/intellij/refactoring/rename/RenameJavaClassProcessor.java +++ b/java/java-impl/src/com/intellij/refactoring/rename/RenameJavaClassProcessor.java @@ -80,7 +80,7 @@ public class RenameJavaClassProcessor extends RenamePsiElementProcessor { } // do actual rename - ChangeContextUtil.encodeContextInfo(aClass, true, false); + ChangeContextUtil.encodeContextInfo(aClass.getContainingFile(), true, false); aClass.setName(newName); for (UsageInfo usage : usages) { @@ -96,7 +96,7 @@ public class RenameJavaClassProcessor extends RenamePsiElementProcessor { } } - ChangeContextUtil.decodeContextInfo(aClass, null, null); //to make refs to other classes from this one resolve to their old referent + ChangeContextUtil.decodeContextInfo(aClass.getContainingFile(), null, null); //to make refs to other classes from this one resolve to their old referent // resolve collisions for (UsageInfo postponedCollision : postponedCollisions) { @@ -104,11 +104,11 @@ public class RenameJavaClassProcessor extends RenamePsiElementProcessor { collision.resolveCollision(); } - for (MemberHidesOuterMemberUsageInfo usage : hidesOut) { + /*for (MemberHidesOuterMemberUsageInfo usage : hidesOut) { PsiJavaCodeReferenceElement collidingRef = (PsiJavaCodeReferenceElement)usage.getElement(); - /* PsiReferenceExpression ref = RenameJavaMemberProcessor.createQualifiedMemberReference(aClass, collidingRef); - collidingRef.replace(ref);*/ - } + PsiReferenceExpression ref = RenameJavaMemberProcessor.createQualifiedMemberReference(aClass, collidingRef); + collidingRef.replace(ref); + }*/ listener.elementRenamed(aClass); diff --git a/java/java-tests/testData/refactoring/renameClass/inSameFile/after/Test.java b/java/java-tests/testData/refactoring/renameClass/inSameFile/after/Test.java new file mode 100644 index 000000000000..5241da0fec83 --- /dev/null +++ b/java/java-tests/testData/refactoring/renameClass/inSameFile/after/Test.java @@ -0,0 +1,5 @@ +class One extends java.lang.Object { +} + +class Object { +} \ No newline at end of file diff --git a/java/java-tests/testData/refactoring/renameClass/inSameFile/before/Test.java b/java/java-tests/testData/refactoring/renameClass/inSameFile/before/Test.java new file mode 100644 index 000000000000..6b2f233fe189 --- /dev/null +++ b/java/java-tests/testData/refactoring/renameClass/inSameFile/before/Test.java @@ -0,0 +1,5 @@ +class One extends Object { +} + +class Two { +} \ No newline at end of file diff --git a/java/java-tests/testSrc/com/intellij/refactoring/RenameClassTest.java b/java/java-tests/testSrc/com/intellij/refactoring/RenameClassTest.java index 21e6996def97..c3c4de33788e 100644 --- a/java/java-tests/testSrc/com/intellij/refactoring/RenameClassTest.java +++ b/java/java-tests/testSrc/com/intellij/refactoring/RenameClassTest.java @@ -33,6 +33,10 @@ public class RenameClassTest extends MultiFileTestCase { doTest("a.Blubfoo", "BlubFoo"); } + public void testInSameFile() throws Exception { + doTest("Two", "Object"); + } + public void testConstructorJavadoc() throws Exception { doTest("Test", "Test1"); }