Copy: Support top-level declarations

This commit is contained in:
Alexey Sedunov
2017-05-16 12:57:28 +03:00
parent 4c1c1a989a
commit 1072495001
45 changed files with 477 additions and 43 deletions
@@ -0,0 +1,5 @@
package bar
fun test() {
class A
}
@@ -0,0 +1,5 @@
package foo
fun test() {
class A
}
@@ -0,0 +1,5 @@
package foo
fun test() {
class <caret>A
}
@@ -0,0 +1,4 @@
{
"mainFile": "foo/test.kt",
"targetPackage": "bar"
}
@@ -0,0 +1,8 @@
package bar
fun a() {
fun b() {
}
b()
}
@@ -0,0 +1,8 @@
package foo
fun a() {
fun b() {
}
b()
}
@@ -0,0 +1,8 @@
package foo
fun a() {
fun <caret>b() {
}
b()
}
@@ -0,0 +1,4 @@
{
"mainFile": "foo/test.kt",
"targetPackage": "bar"
}
@@ -0,0 +1,5 @@
package bar
fun a() {
val x = 1
}
@@ -0,0 +1,5 @@
package foo
fun a() {
val x = 1
}
@@ -0,0 +1,5 @@
package foo
fun a() {
val <caret>x = 1
}
@@ -0,0 +1,4 @@
{
"mainFile": "foo/test.kt",
"targetPackage": "bar"
}
@@ -0,0 +1,11 @@
package bar
class A {
fun b() {
}
init {
b()
}
}
@@ -0,0 +1,11 @@
package foo
class A {
fun b() {
}
init {
b()
}
}
@@ -0,0 +1,11 @@
package foo
class A {
fun <caret>b() {
}
init {
b()
}
}
@@ -0,0 +1,4 @@
{
"mainFile": "foo/test.kt",
"targetPackage": "bar"
}
@@ -0,0 +1,6 @@
package bar
class A {
val x = 1
val y = x
}
@@ -0,0 +1,6 @@
package foo
class A {
val x = 1
val y = x
}
@@ -0,0 +1,6 @@
package foo
class A {
val <caret>x = 1
val y = x
}
@@ -0,0 +1,4 @@
{
"mainFile": "foo/test.kt",
"targetPackage": "bar"
}
@@ -0,0 +1,26 @@
package bar
import foo.X
class A {
init {
val a: A = A()
val x: X = X()
b()
c
}
}
fun b() {
val a: A = A()
val x: X = X()
b()
c
}
val c: Int get() {
val a: A = A()
val x: X = X()
b()
c
}
@@ -0,0 +1,33 @@
package foo
class A {
init {
val a: A = A()
val x: X = X()
b()
c
}
}
class X {
init {
val a: A = A()
val x: X = X()
b()
c
}
}
fun b() {
val a: A = A()
val x: X = X()
b()
c
}
val c: Int get() {
val a: A = A()
val x: X = X()
b()
c
}
@@ -0,0 +1,33 @@
package foo
class <caret>A {
init {
val a: A = A()
val x: X = X()
b()
c
}
}
class X {
init {
val a: A = A()
val x: X = X()
b()
c
}
}
fun <caret>b() {
val a: A = A()
val x: X = X()
b()
c
}
val <caret>c: Int get() {
val a: A = A()
val x: X = X()
b()
c
}
@@ -0,0 +1,4 @@
{
"mainFile": "foo/test.kt",
"targetPackage": "bar"
}
@@ -0,0 +1,8 @@
package bar
import foo.B
fun a() {
a()
val b: B = B()
}
@@ -0,0 +1,11 @@
package foo
fun a() {
a()
val b: B = B()
}
class B {
val a: A = A()
val b: B = B()
}
@@ -0,0 +1,11 @@
package foo
fun <caret>a() {
a()
val b: B = B()
}
class B {
val a: A = A()
val b: B = B()
}
@@ -0,0 +1,4 @@
{
"mainFile": "foo/test.kt",
"targetPackage": "bar"
}
@@ -0,0 +1,8 @@
package bar
import foo.B
fun x() {
x()
val b: B = B()
}
@@ -0,0 +1,11 @@
package foo
fun a() {
a()
val b: B = B()
}
class B {
val a: A = A()
val b: B = B()
}
@@ -0,0 +1,11 @@
package foo
fun <caret>a() {
a()
val b: B = B()
}
class B {
val a: A = A()
val b: B = B()
}
@@ -0,0 +1,5 @@
{
"mainFile": "foo/test.kt",
"targetPackage": "bar",
"newName": "x"
}
@@ -0,0 +1,9 @@
package bar
import foo.B
val a: Int get() {
a
val b: B = B()
return 0
}
@@ -0,0 +1,12 @@
package foo
val a: Int get() {
a
val b: B = B()
return 0
}
class B {
val a: A = A()
val b: B = B()
}
@@ -0,0 +1,12 @@
package foo
val <caret>a: Int get() {
a
val b: B = B()
return 0
}
class B {
val a: A = A()
val b: B = B()
}
@@ -0,0 +1,4 @@
{
"mainFile": "foo/test.kt",
"targetPackage": "bar"
}
@@ -0,0 +1,9 @@
package bar
import foo.B
val x: Int get() {
x
val b: B = B()
return 0
}
@@ -0,0 +1,12 @@
package foo
val a: Int get() {
a
val b: B = B()
return 0
}
class B {
val a: A = A()
val b: B = B()
}
@@ -0,0 +1,12 @@
package foo
val <caret>a: Int get() {
a
val b: B = B()
return 0
}
class B {
val a: A = A()
val b: B = B()
}
@@ -0,0 +1,5 @@
{
"mainFile": "foo/test.kt",
"targetPackage": "bar",
"newName": "x"
}