Move Refactoring: Do not replace references to local declaration with qualified names. Update and fix test data
#KT-4851 Fixed
This commit is contained in:
@@ -32,6 +32,7 @@ import org.jetbrains.jet.asJava.KotlinLightClass
|
||||
import org.jetbrains.jet.plugin.JetFileType
|
||||
import org.jetbrains.jet.lang.psi.JetClassOrObject
|
||||
import org.jetbrains.jet.lang.psi.JetNamedDeclaration
|
||||
import org.jetbrains.jet.plugin.imports.canBeReferencedViaImport
|
||||
|
||||
public class PackageNameInfo(val oldPackageName: FqName, val newPackageName: FqName)
|
||||
|
||||
@@ -49,7 +50,7 @@ public fun JetElement.updateInternalReferencesOnPackageNameChange(
|
||||
val descriptor = bindingContext[BindingContext.REFERENCE_TARGET, refExpr]?.let { descriptor ->
|
||||
if (descriptor is ConstructorDescriptor) descriptor.getContainingDeclaration() else descriptor
|
||||
}
|
||||
if (descriptor == null) continue
|
||||
if (descriptor == null || !descriptor.canBeReferencedViaImport()) continue
|
||||
|
||||
val packageName = DescriptorUtils.getParentOfType(
|
||||
descriptor, javaClass<PackageFragmentDescriptor>(), false
|
||||
|
||||
+10
@@ -7,6 +7,16 @@ open class Foo {
|
||||
}
|
||||
|
||||
class Test {
|
||||
fun foo(u: Int) {
|
||||
class T(val t: Int)
|
||||
object O {
|
||||
val t: Int = 1
|
||||
}
|
||||
|
||||
val v = T(u).t + O.t
|
||||
println(v)
|
||||
}
|
||||
|
||||
val aFoo: a.Foo = a.Foo()
|
||||
val bFoo: Foo = Foo()
|
||||
val cFoo: c.Foo = c.Foo()
|
||||
|
||||
+10
@@ -1,6 +1,16 @@
|
||||
package a
|
||||
|
||||
class <caret>Test {
|
||||
fun foo(u: Int) {
|
||||
class T(val t: Int)
|
||||
object O {
|
||||
val t: Int = 1
|
||||
}
|
||||
|
||||
val v = T(u).t + O.t
|
||||
println(v)
|
||||
}
|
||||
|
||||
val aFoo: Foo = Foo()
|
||||
val bFoo: b.Foo = b.Foo()
|
||||
val cFoo: c.Foo = c.Foo()
|
||||
|
||||
+10
@@ -1,6 +1,16 @@
|
||||
package b
|
||||
|
||||
class Test {
|
||||
fun foo(u: Int) {
|
||||
class T(val t: Int)
|
||||
object O {
|
||||
val t: Int = 1
|
||||
}
|
||||
|
||||
val v = T(u).t + O.t
|
||||
println(v)
|
||||
}
|
||||
|
||||
val aFoo: a.Foo = a.Foo()
|
||||
val bFoo: Foo = Foo()
|
||||
val cFoo: c.Foo = c.Foo()
|
||||
|
||||
+10
@@ -1,6 +1,16 @@
|
||||
package a
|
||||
|
||||
class <caret>Test {
|
||||
fun foo(u: Int) {
|
||||
class T(val t: Int)
|
||||
object O {
|
||||
val t: Int = 1
|
||||
}
|
||||
|
||||
val v = T(u).t + O.t
|
||||
println(v)
|
||||
}
|
||||
|
||||
val aFoo: Foo = Foo()
|
||||
val bFoo: b.Foo = b.Foo()
|
||||
val cFoo: c.Foo = c.Foo()
|
||||
|
||||
+13
-1
@@ -6,11 +6,23 @@ open class Foo {
|
||||
}
|
||||
}
|
||||
|
||||
fun test {
|
||||
fun test() {
|
||||
val aFoo: a.Foo = a.Foo()
|
||||
val bFoo: Foo = Foo()
|
||||
val cFoo: c.Foo = c.Foo()
|
||||
val aBar: a.Foo.Bar = a.Foo.Bar()
|
||||
val bBar: Foo.Bar = Foo.Bar()
|
||||
val cBar: c.Foo.Bar = c.Foo.Bar()
|
||||
|
||||
fun foo(u: Int) {
|
||||
class T(val t: Int)
|
||||
object O {
|
||||
val t: Int = 1
|
||||
}
|
||||
|
||||
val v = T(u).t + O.t
|
||||
println(v)
|
||||
}
|
||||
|
||||
foo(1)
|
||||
}
|
||||
+13
-1
@@ -1,12 +1,24 @@
|
||||
package a
|
||||
|
||||
fun <caret>test {
|
||||
fun <caret>test() {
|
||||
val aFoo: Foo = Foo()
|
||||
val bFoo: b.Foo = b.Foo()
|
||||
val cFoo: c.Foo = c.Foo()
|
||||
val aBar: Foo.Bar = Foo.Bar()
|
||||
val bBar: b.Foo.Bar = b.Foo.Bar()
|
||||
val cBar: c.Foo.Bar = c.Foo.Bar()
|
||||
|
||||
fun foo(u: Int) {
|
||||
class T(val t: Int)
|
||||
object O {
|
||||
val t: Int = 1
|
||||
}
|
||||
|
||||
val v = T(u).t + O.t
|
||||
println(v)
|
||||
}
|
||||
|
||||
foo(1)
|
||||
}
|
||||
|
||||
class Test {
|
||||
|
||||
+13
-1
@@ -1,10 +1,22 @@
|
||||
package b
|
||||
|
||||
fun test {
|
||||
fun test() {
|
||||
val aFoo: a.Foo = a.Foo()
|
||||
val bFoo: Foo = Foo()
|
||||
val cFoo: c.Foo = c.Foo()
|
||||
val aBar: a.Foo.Bar = a.Foo.Bar()
|
||||
val bBar: Foo.Bar = Foo.Bar()
|
||||
val cBar: c.Foo.Bar = c.Foo.Bar()
|
||||
|
||||
fun foo(u: Int) {
|
||||
class T(val t: Int)
|
||||
object O {
|
||||
val t: Int = 1
|
||||
}
|
||||
|
||||
val v = T(u).t + O.t
|
||||
println(v)
|
||||
}
|
||||
|
||||
foo(1)
|
||||
}
|
||||
+13
-1
@@ -1,12 +1,24 @@
|
||||
package a
|
||||
|
||||
fun <caret>test {
|
||||
fun <caret>test() {
|
||||
val aFoo: Foo = Foo()
|
||||
val bFoo: b.Foo = b.Foo()
|
||||
val cFoo: c.Foo = c.Foo()
|
||||
val aBar: Foo.Bar = Foo.Bar()
|
||||
val bBar: b.Foo.Bar = b.Foo.Bar()
|
||||
val cBar: c.Foo.Bar = c.Foo.Bar()
|
||||
|
||||
fun foo(u: Int) {
|
||||
class T(val t: Int)
|
||||
object O {
|
||||
val t: Int = 1
|
||||
}
|
||||
|
||||
val v = T(u).t + O.t
|
||||
println(v)
|
||||
}
|
||||
|
||||
foo(1)
|
||||
}
|
||||
|
||||
class Test {
|
||||
|
||||
+1
-1
@@ -1,5 +1,5 @@
|
||||
package a
|
||||
|
||||
private fun test {
|
||||
private fun test() {
|
||||
foo(Foo())
|
||||
}
|
||||
|
||||
+1
-1
@@ -1,5 +1,5 @@
|
||||
package a
|
||||
|
||||
private fun <caret>test {
|
||||
private fun <caret>test() {
|
||||
foo(Foo())
|
||||
}
|
||||
|
||||
+10
@@ -7,6 +7,16 @@ open class Foo {
|
||||
}
|
||||
|
||||
object Test {
|
||||
fun foo(u: Int) {
|
||||
class T(val t: Int)
|
||||
object O {
|
||||
val t: Int = 1
|
||||
}
|
||||
|
||||
val v = T(u).t + O.t
|
||||
println(v)
|
||||
}
|
||||
|
||||
val aFoo: a.Foo = a.Foo()
|
||||
val bFoo: Foo = Foo()
|
||||
val cFoo: c.Foo = c.Foo()
|
||||
|
||||
+10
@@ -1,6 +1,16 @@
|
||||
package a
|
||||
|
||||
object <caret>Test {
|
||||
fun foo(u: Int) {
|
||||
class T(val t: Int)
|
||||
object O {
|
||||
val t: Int = 1
|
||||
}
|
||||
|
||||
val v = T(u).t + O.t
|
||||
println(v)
|
||||
}
|
||||
|
||||
val aFoo: Foo = Foo()
|
||||
val bFoo: b.Foo = b.Foo()
|
||||
val cFoo: c.Foo = c.Foo()
|
||||
|
||||
+10
@@ -1,6 +1,16 @@
|
||||
package b
|
||||
|
||||
object Test {
|
||||
fun foo(u: Int) {
|
||||
class T(val t: Int)
|
||||
object O {
|
||||
val t: Int = 1
|
||||
}
|
||||
|
||||
val v = T(u).t + O.t
|
||||
println(v)
|
||||
}
|
||||
|
||||
val aFoo: a.Foo = a.Foo()
|
||||
val bFoo: Foo = Foo()
|
||||
val cFoo: c.Foo = c.Foo()
|
||||
|
||||
+10
@@ -1,6 +1,16 @@
|
||||
package a
|
||||
|
||||
object <caret>Test {
|
||||
fun foo(u: Int) {
|
||||
class T(val t: Int)
|
||||
object O {
|
||||
val t: Int = 1
|
||||
}
|
||||
|
||||
val v = T(u).t + O.t
|
||||
println(v)
|
||||
}
|
||||
|
||||
val aFoo: Foo = Foo()
|
||||
val bFoo: b.Foo = b.Foo()
|
||||
val cFoo: c.Foo = c.Foo()
|
||||
|
||||
+12
@@ -15,4 +15,16 @@ var test: String
|
||||
val aBar: a.Foo.Bar = a.Foo.Bar()
|
||||
val bBar: Foo.Bar = Foo.Bar()
|
||||
val cBar: c.Foo.Bar = c.Foo.Bar()
|
||||
|
||||
fun foo(u: Int) {
|
||||
class T(val t: Int)
|
||||
object O {
|
||||
val t: Int = 1
|
||||
}
|
||||
|
||||
val v = T(u).t + O.t
|
||||
println(v)
|
||||
}
|
||||
|
||||
foo(1)
|
||||
}
|
||||
+12
@@ -9,6 +9,18 @@ var <caret>test: String
|
||||
val aBar: Foo.Bar = Foo.Bar()
|
||||
val bBar: b.Foo.Bar = b.Foo.Bar()
|
||||
val cBar: c.Foo.Bar = c.Foo.Bar()
|
||||
|
||||
fun foo(u: Int) {
|
||||
class T(val t: Int)
|
||||
object O {
|
||||
val t: Int = 1
|
||||
}
|
||||
|
||||
val v = T(u).t + O.t
|
||||
println(v)
|
||||
}
|
||||
|
||||
foo(1)
|
||||
}
|
||||
|
||||
class Test {
|
||||
|
||||
+12
@@ -9,4 +9,16 @@ var test: String
|
||||
val aBar: a.Foo.Bar = a.Foo.Bar()
|
||||
val bBar: Foo.Bar = Foo.Bar()
|
||||
val cBar: c.Foo.Bar = c.Foo.Bar()
|
||||
|
||||
fun foo(u: Int) {
|
||||
class T(val t: Int)
|
||||
object O {
|
||||
val t: Int = 1
|
||||
}
|
||||
|
||||
val v = T(u).t + O.t
|
||||
println(v)
|
||||
}
|
||||
|
||||
foo(1)
|
||||
}
|
||||
+12
@@ -9,6 +9,18 @@ var <caret>test: String
|
||||
val aBar: Foo.Bar = Foo.Bar()
|
||||
val bBar: b.Foo.Bar = b.Foo.Bar()
|
||||
val cBar: c.Foo.Bar = c.Foo.Bar()
|
||||
|
||||
fun foo(u: Int) {
|
||||
class T(val t: Int)
|
||||
object O {
|
||||
val t: Int = 1
|
||||
}
|
||||
|
||||
val v = T(u).t + O.t
|
||||
println(v)
|
||||
}
|
||||
|
||||
foo(1)
|
||||
}
|
||||
|
||||
class Test {
|
||||
|
||||
Reference in New Issue
Block a user