Extract Function: Keep track of original parameter descriptors

This commit is contained in:
Alexey Sedunov
2014-07-01 14:23:59 +04:00
parent 09a1a8ce8f
commit 3e3918ab6e
191 changed files with 328 additions and 7 deletions
@@ -1,5 +1,7 @@
// PARAM_TYPES: kotlin.String, Comparable<String>, CharSequence, kotlin.Any
// PARAM_TYPES: X<kotlin.Any>
// PARAM_DESCRIPTOR: value-parameter val s: kotlin.String? defined in foo
// PARAM_DESCRIPTOR: value-parameter val x: X<kotlin.Any> defined in foo
class X<T> {
fun add(t: T) {
@@ -1,5 +1,7 @@
// PARAM_TYPES: kotlin.String, Comparable<String>, CharSequence, kotlin.Any
// PARAM_TYPES: X<kotlin.Any>
// PARAM_DESCRIPTOR: value-parameter val s: kotlin.String? defined in foo
// PARAM_DESCRIPTOR: value-parameter val x: X<kotlin.Any> defined in foo
class X<T> {
fun add(t: T) {
@@ -1,5 +1,7 @@
// PARAM_TYPES: kotlin.String?, kotlin.Comparable<String>?, kotlin.CharSequence?, kotlin.Any?
// PARAM_TYPES: X<kotlin.Any?>
// PARAM_DESCRIPTOR: value-parameter val s: kotlin.String? defined in foo
// PARAM_DESCRIPTOR: value-parameter val x: X<kotlin.Any?> defined in foo
class X<T> {
fun add(t: T) {
@@ -1,5 +1,7 @@
// PARAM_TYPES: kotlin.String?, kotlin.Comparable<String>?, kotlin.CharSequence?, kotlin.Any?
// PARAM_TYPES: X<kotlin.Any?>
// PARAM_DESCRIPTOR: value-parameter val s: kotlin.String? defined in foo
// PARAM_DESCRIPTOR: value-parameter val x: X<kotlin.Any?> defined in foo
class X<T> {
fun add(t: T) {
@@ -1,4 +1,5 @@
//PARAM_TYPES: C, AImpl, A
//PARAM_DESCRIPTOR: value-parameter val c: C defined in foo
trait A {
fun doA()
}
@@ -1,4 +1,5 @@
//PARAM_TYPES: C, AImpl, A
//PARAM_DESCRIPTOR: value-parameter val c: C defined in foo
trait A {
fun doA()
}
@@ -1,4 +1,5 @@
//PARAM_TYPES: C, B
//PARAM_DESCRIPTOR: value-parameter val c: C defined in foo
trait A {
fun doA()
}
@@ -1,4 +1,5 @@
//PARAM_TYPES: C, B
//PARAM_DESCRIPTOR: value-parameter val c: C defined in foo
trait A {
fun doA()
}
@@ -1,4 +1,5 @@
//PARAM_TYPES: C
//PARAM_DESCRIPTOR: value-parameter val c: C defined in foo
trait A {
fun doA()
}
@@ -1,4 +1,5 @@
//PARAM_TYPES: C
//PARAM_DESCRIPTOR: value-parameter val c: C defined in foo
trait A {
fun doA()
}
@@ -1,4 +1,5 @@
//PARAM_TYPES: C
//PARAM_DESCRIPTOR: value-parameter val c: C defined in foo
trait A {
fun doA()
}
@@ -1,4 +1,5 @@
//PARAM_TYPES: C
//PARAM_DESCRIPTOR: value-parameter val c: C defined in foo
trait A {
fun doA()
}
@@ -1,5 +1,7 @@
// PARAM_TYPES: A
// PARAM_TYPES: A.B
// PARAM_DESCRIPTOR: public final class A : Z defined in root package
// PARAM_DESCRIPTOR: public final inner class B : Z defined in A
public open class Z {
val z: Int = 0
}
@@ -1,5 +1,7 @@
// PARAM_TYPES: A
// PARAM_TYPES: A.B
// PARAM_DESCRIPTOR: public final class A : Z defined in root package
// PARAM_DESCRIPTOR: public final inner class B : Z defined in A
public open class Z {
val z: Int = 0
}
@@ -1,4 +1,5 @@
// PARAM_TYPES: Z
// PARAM_DESCRIPTOR: internal fun Z.foo(): kotlin.Int defined in root package
class Z(val a: Int)
// SIBLING:
@@ -1,4 +1,5 @@
// PARAM_TYPES: Z
// PARAM_DESCRIPTOR: internal fun Z.foo(): kotlin.Int defined in root package
class Z(val a: Int)
// SIBLING:
@@ -1,5 +1,7 @@
// PARAM_TYPES: A
// PARAM_TYPES: A.B
// PARAM_DESCRIPTOR: public final class A : Z defined in root package
// PARAM_DESCRIPTOR: public final inner class B : Z defined in A
public open class Z {
val z: Int = 0
}
@@ -1,5 +1,7 @@
// PARAM_TYPES: A
// PARAM_TYPES: A.B
// PARAM_DESCRIPTOR: public final class A : Z defined in root package
// PARAM_DESCRIPTOR: public final inner class B : Z defined in A
public open class Z {
val z: Int = 0
}
@@ -1,5 +1,7 @@
// PARAM_TYPES: A
// PARAM_TYPES: A.B
// PARAM_DESCRIPTOR: public final class A : Z defined in root package
// PARAM_DESCRIPTOR: public final inner class B : Z defined in A
public open class Z {
val z: Int = 0
}
@@ -1,5 +1,7 @@
// PARAM_TYPES: A
// PARAM_TYPES: A.B
// PARAM_DESCRIPTOR: public final class A : Z defined in root package
// PARAM_DESCRIPTOR: public final inner class B : Z defined in A
public open class Z {
val z: Int = 0
}
@@ -1,4 +1,5 @@
// PARAM_TYPES: Z
// PARAM_DESCRIPTOR: internal fun Z.foo(): kotlin.Int defined in root package
class Z(val a: Int)
// SIBLING:
@@ -1,4 +1,5 @@
// PARAM_TYPES: Z
// PARAM_DESCRIPTOR: internal fun Z.foo(): kotlin.Int defined in root package
class Z(val a: Int)
// SIBLING:
@@ -1,4 +1,5 @@
// PARAM_TYPES: Z
// PARAM_DESCRIPTOR: internal fun Z.foo(): kotlin.Int defined in root package
class Z(val a: Int)
// SIBLING:
@@ -1,4 +1,5 @@
// PARAM_TYPES: Z
// PARAM_DESCRIPTOR: internal fun Z.foo(): kotlin.Int defined in root package
class Z(val a: Int)
// SIBLING:
@@ -1,5 +1,7 @@
// PARAM_TYPES: A
// PARAM_TYPES: A.B
// PARAM_DESCRIPTOR: public final class A : Z defined in root package
// PARAM_DESCRIPTOR: public final inner class B : Z defined in A
public open class Z {
val z: Int = 0
}
@@ -1,5 +1,7 @@
// PARAM_TYPES: A
// PARAM_TYPES: A.B
// PARAM_DESCRIPTOR: public final class A : Z defined in root package
// PARAM_DESCRIPTOR: public final inner class B : Z defined in A
public open class Z {
val z: Int = 0
}
@@ -1,4 +1,5 @@
// PARAM_TYPES: kotlin.Int
// PARAM_DESCRIPTOR: value-parameter val it: kotlin.Int defined in foo.<anonymous>.<anonymous>
fun <T> Array<T>.check(f: (T) -> Boolean): Boolean = false
// SIBLING:
@@ -1,4 +1,5 @@
// PARAM_TYPES: kotlin.Int
// PARAM_DESCRIPTOR: value-parameter val it: kotlin.Int defined in foo.<anonymous>.<anonymous>
fun <T> Array<T>.check(f: (T) -> Boolean): Boolean = false
// SIBLING:
@@ -1,4 +1,5 @@
// PARAM_TYPES: kotlin.Array<kotlin.Int>
// PARAM_DESCRIPTOR: value-parameter val t: kotlin.Array<kotlin.Int> defined in foo
fun <T> Array<T>.check(f: (T) -> Boolean): Boolean = false
// SIBLING:
@@ -1,4 +1,5 @@
// PARAM_TYPES: kotlin.Array<kotlin.Int>
// PARAM_DESCRIPTOR: value-parameter val t: kotlin.Array<kotlin.Int> defined in foo
fun <T> Array<T>.check(f: (T) -> Boolean): Boolean = false
// SIBLING:
@@ -1,4 +1,5 @@
// PARAM_TYPES: kotlin.Array<kotlin.Int>
// PARAM_DESCRIPTOR: value-parameter val it: kotlin.Array<kotlin.Int> defined in foo.<anonymous>
fun <T> Array<T>.check(f: (T) -> Boolean): Boolean = false
// SIBLING:
@@ -1,4 +1,5 @@
// PARAM_TYPES: kotlin.Array<kotlin.Int>
// PARAM_DESCRIPTOR: value-parameter val it: kotlin.Array<kotlin.Int> defined in foo.<anonymous>
fun <T> Array<T>.check(f: (T) -> Boolean): Boolean = false
// SIBLING:
@@ -1,4 +1,5 @@
// PARAM_TYPES: kotlin.Int
// PARAM_DESCRIPTOR: value-parameter val it: kotlin.Int defined in foo.<anonymous>
fun <T> Array<T>.check(f: (T) -> Boolean): Boolean = false
// SIBLING:
@@ -1,4 +1,5 @@
// PARAM_TYPES: kotlin.Int
// PARAM_DESCRIPTOR: value-parameter val it: kotlin.Int defined in foo.<anonymous>
fun <T> Array<T>.check(f: (T) -> Boolean): Boolean = false
// SIBLING:
@@ -1,4 +1,5 @@
// PARAM_TYPES: kotlin.Int, Number, Comparable<Int>, Any
// PARAM_DESCRIPTOR: val a: kotlin.Int defined in main
// SIBLING:
fun main(args: Array<String>) {
val (a, b) = Data(1, 2)
@@ -1,4 +1,5 @@
// PARAM_TYPES: kotlin.Int, Number, Comparable<Int>, Any
// PARAM_DESCRIPTOR: val a: kotlin.Int defined in main
// SIBLING:
fun main(args: Array<String>) {
val (a, b) = Data(1, 2)
@@ -1,6 +1,9 @@
// PARAM_TYPES: kotlin.Int
// PARAM_TYPES: kotlin.Int
// PARAM_TYPES: kotlin.Int
// PARAM_DESCRIPTOR: value-parameter val a: kotlin.Int defined in foo
// PARAM_DESCRIPTOR: value-parameter val b: kotlin.Int defined in foo
// PARAM_DESCRIPTOR: value-parameter val c: kotlin.Int defined in foo
// SIBLING:
fun foo(a: Int, b: Int, c: Int): Int {
return <selection>(a + b*a - c) + b*c</selection>
@@ -1,6 +1,9 @@
// PARAM_TYPES: kotlin.Int
// PARAM_TYPES: kotlin.Int
// PARAM_TYPES: kotlin.Int
// PARAM_DESCRIPTOR: value-parameter val a: kotlin.Int defined in foo
// PARAM_DESCRIPTOR: value-parameter val b: kotlin.Int defined in foo
// PARAM_DESCRIPTOR: value-parameter val c: kotlin.Int defined in foo
// SIBLING:
fun foo(a: Int, b: Int, c: Int): Int {
return i(a, b, c)
@@ -2,6 +2,10 @@
// PARAM_TYPES: kotlin.Int
// PARAM_TYPES: kotlin.Int
// PARAM_TYPES: kotlin.Int
// PARAM_DESCRIPTOR: value-parameter val a: A defined in foo
// PARAM_DESCRIPTOR: val t: kotlin.Int defined in foo
// PARAM_DESCRIPTOR: val u: kotlin.Int defined in foo
// PARAM_DESCRIPTOR: value-parameter val x: kotlin.Int defined in foo
// SIBLING:
public class A() {
fun bar(a: Int, b: Int): Int {
@@ -2,6 +2,10 @@
// PARAM_TYPES: kotlin.Int
// PARAM_TYPES: kotlin.Int
// PARAM_TYPES: kotlin.Int
// PARAM_DESCRIPTOR: value-parameter val a: A defined in foo
// PARAM_DESCRIPTOR: val t: kotlin.Int defined in foo
// PARAM_DESCRIPTOR: val u: kotlin.Int defined in foo
// PARAM_DESCRIPTOR: value-parameter val x: kotlin.Int defined in foo
// SIBLING:
public class A() {
fun bar(a: Int, b: Int): Int {
@@ -1,4 +1,5 @@
// PARAM_TYPES: A
// PARAM_DESCRIPTOR: val foo: A defined in testProp
class A {
fun invoke() = 20
}
@@ -1,4 +1,5 @@
// PARAM_TYPES: A
// PARAM_DESCRIPTOR: val foo: A defined in testProp
class A {
fun invoke() = 20
}