Move: Fix rebinding of references to singleton members and Java statics

#KT-6082 Fixed
This commit is contained in:
Alexey Sedunov
2014-10-21 15:30:00 +04:00
parent bc7ae4186b
commit 925177f3d8
19 changed files with 232 additions and 21 deletions
@@ -0,0 +1,13 @@
package library;
public class JavaClass {
public static int foo() {
return 1;
}
public static class Inner {
public static int foo() {
return 1;
}
}
}
@@ -0,0 +1,23 @@
package library
class KtClass {
class Inner {
class object {
fun foo(): Int = 1
}
}
class object {
fun foo(): Int = 1
}
}
object KtObject {
class Inner {
class object {
fun foo(): Int = 1
}
}
fun foo(): Int = 1
}
@@ -0,0 +1,7 @@
package source
import library.*
class Bar {
}
@@ -0,0 +1,16 @@
package target
import library.JavaClass
import library.KtObject
import library.KtClass
class Foo {
val jv1 = JavaClass.foo()
val jv2 = JavaClass().foo()
val jv3 = JavaClass.Inner.foo()
val jv4 = JavaClass.Inner().foo()
val kt1 = KtClass.foo()
val kt2 = KtObject.foo()
val kt3 = KtClass.Inner.foo()
val kt4 = KtObject.Inner.foo()
}
@@ -0,0 +1,13 @@
package library;
public class JavaClass {
public static int foo() {
return 1;
}
public static class Inner {
public static int foo() {
return 1;
}
}
}
@@ -0,0 +1,23 @@
package library
class KtClass {
class Inner {
class object {
fun foo(): Int = 1
}
}
class object {
fun foo(): Int = 1
}
}
object KtObject {
class Inner {
class object {
fun foo(): Int = 1
}
}
fun foo(): Int = 1
}
@@ -0,0 +1,18 @@
package source
import library.*
class <caret>Foo {
val jv1 = JavaClass.foo()
val jv2 = JavaClass().foo()
val jv3 = JavaClass.Inner.foo()
val jv4 = JavaClass.Inner().foo()
val kt1 = KtClass.foo()
val kt2 = KtObject.foo()
val kt3 = KtClass.Inner.foo()
val kt4 = KtObject.Inner.foo()
}
class Bar {
}
@@ -0,0 +1,5 @@
{
"mainFile": "source/Foo.kt",
"type": "MOVE_KOTLIN_TOP_LEVEL_DECLARATIONS",
"targetPackage": "target"
}
@@ -0,0 +1,4 @@
package library;
public enum JavaEnum {
}
@@ -0,0 +1,5 @@
package library
enum class KtEnum
data class KtData(val n: Int)
@@ -0,0 +1,7 @@
package source
import library.*
class Bar {
}
@@ -0,0 +1,12 @@
package target
import library.JavaEnum
import library.KtEnum
import library.KtData
class Foo {
val javaEnum = JavaEnum.values()
val ktEnum = KtEnum.values()
val ktData = KtData(1).copy()
val n = KtData(1).component1()
}
@@ -0,0 +1,4 @@
package library;
public enum JavaEnum {
}
@@ -0,0 +1,5 @@
package library
enum class KtEnum
data class KtData(val n: Int)
@@ -0,0 +1,14 @@
package source
import library.*
class <caret>Foo {
val javaEnum = JavaEnum.values()
val ktEnum = KtEnum.values()
val ktData = KtData(1).copy()
val n = KtData(1).component1()
}
class Bar {
}
@@ -0,0 +1,5 @@
{
"mainFile": "source/Foo.kt",
"type": "MOVE_KOTLIN_TOP_LEVEL_DECLARATIONS",
"targetPackage": "target"
}