Move: Do not rebind references to the declaration under move

This commit is contained in:
Alexey Sedunov
2014-10-21 19:15:40 +04:00
parent b2588f610a
commit bc7ae4186b
6 changed files with 31 additions and 1 deletions
@@ -88,7 +88,7 @@ public fun JetElement.getInternalReferencesToUpdateOnPackageNameChange(packageNa
if (descriptor == null || !descriptor.canBeReferencedViaImport()) continue
val declaration = DescriptorToDeclarationUtil.getDeclaration(file, descriptor)
if (declaration == null || isAncestor(declaration, true)) continue
if (declaration == null || isAncestor(declaration, false)) continue
val fqName = DescriptorUtils.getFqName(descriptor)
if (!fqName.isSafe()) continue
@@ -0,0 +1,5 @@
package source
class B {
}
@@ -0,0 +1,5 @@
package target
class A(val a: A) {
val klass = javaClass<A>()
}
@@ -0,0 +1,9 @@
package source
class <caret>A(val a: A) {
val klass = javaClass<A>()
}
class B {
}
@@ -0,0 +1,5 @@
{
"mainFile": "source/A.kt",
"type": "MOVE_KOTLIN_TOP_LEVEL_DECLARATIONS",
"targetPackage": "target"
}
@@ -258,6 +258,12 @@ public class JetMoveTestGenerated extends AbstractJetMoveTest {
doTest(fileName);
}
@TestMetadata("kotlin/moveTopLevelDeclarations/misc/selfReferences/selfReferences.test")
public void testKotlin_moveTopLevelDeclarations_misc_selfReferences_SelfReferences() throws Exception {
String fileName = JetTestUtils.navigationMetadata("idea/testData/refactoring/move/kotlin/moveTopLevelDeclarations/misc/selfReferences/selfReferences.test");
doTest(fileName);
}
@TestMetadata("kotlin/moveTopLevelDeclarations/moveClassToFile/moveClassToFile.test")
public void testKotlin_moveTopLevelDeclarations_moveClassToFile_MoveClassToFile() throws Exception {
String fileName = JetTestUtils.navigationMetadata("idea/testData/refactoring/move/kotlin/moveTopLevelDeclarations/moveClassToFile/moveClassToFile.test");