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,4 +1,5 @@
// PARAM_TYPES: kotlin.Int
// PARAM_DESCRIPTOR: value-parameter val b: kotlin.Int defined in A.<init>
class A(val a: Int, b: Int) {
{
println(<selection>a + b</selection> - 1)
@@ -1,4 +1,5 @@
// PARAM_TYPES: kotlin.Int
// PARAM_DESCRIPTOR: value-parameter val b: kotlin.Int defined in A.<init>
class A(val a: Int, b: Int) {
{
println(i(b) - 1)
@@ -1,4 +1,5 @@
// PARAM_TYPES: kotlin.Int
// PARAM_DESCRIPTOR: value-parameter val b: kotlin.Int defined in A.<init>
class A(val a: Int, b: Int) {
{
println({ <selection>a + b</selection> - 1 }.invoke())
@@ -1,4 +1,5 @@
// PARAM_TYPES: kotlin.Int
// PARAM_DESCRIPTOR: value-parameter val b: kotlin.Int defined in A.<init>
class A(val a: Int, b: Int) {
{
println({ i(b) - 1 }.invoke())
@@ -1,3 +1,4 @@
// PARAM_TYPES: kotlin.Int
// PARAM_DESCRIPTOR: value-parameter val a: kotlin.Int defined in A.<init>
val n = 1
class A(val a: Int, val b: Int = <selection>a + n</selection>)
@@ -1,4 +1,5 @@
// PARAM_TYPES: kotlin.Int
// PARAM_DESCRIPTOR: value-parameter val a: kotlin.Int defined in A.<init>
val n = 1
class A(val a: Int, val b: Int = i(a))
@@ -1,3 +1,4 @@
// PARAM_TYPES: kotlin.Int
// PARAM_DESCRIPTOR: value-parameter val a: kotlin.Int defined in A.<init>
val n = 1
class A(val a: Int, val b: Int = { <selection>a + n</selection> }.invoke())
@@ -1,4 +1,5 @@
// PARAM_TYPES: kotlin.Int
// PARAM_DESCRIPTOR: value-parameter val a: kotlin.Int defined in A.<init>
val n = 1
class A(val a: Int, val b: Int = { i(a) }.invoke())
@@ -1,5 +1,7 @@
// PARAM_TYPES: kotlin.Int
// PARAM_TYPES: kotlin.Int
// PARAM_DESCRIPTOR: value-parameter val a: kotlin.Int defined in bar.foo
// PARAM_DESCRIPTOR: value-parameter val b: kotlin.Int defined in bar.foo
fun bar(n: Int) {
fun foo(a: Int, b: Int) = <selection>a + b - n</selection> - 1
}
@@ -1,5 +1,7 @@
// PARAM_TYPES: kotlin.Int
// PARAM_TYPES: kotlin.Int
// PARAM_DESCRIPTOR: value-parameter val a: kotlin.Int defined in bar.foo
// PARAM_DESCRIPTOR: value-parameter val b: kotlin.Int defined in bar.foo
fun bar(n: Int) {
fun i(a: Int, b: Int): Int {
return a + b - n
@@ -1,5 +1,7 @@
// PARAM_TYPES: kotlin.Int
// PARAM_TYPES: kotlin.Int
// PARAM_DESCRIPTOR: value-parameter val a: kotlin.Int defined in bar.foo
// PARAM_DESCRIPTOR: value-parameter val b: kotlin.Int defined in bar.foo
fun bar(n: Int) {
fun foo(a: Int, b: Int) = { <selection>a + b - n</selection> - 1 }.invoke()
}
@@ -1,5 +1,7 @@
// PARAM_TYPES: kotlin.Int
// PARAM_TYPES: kotlin.Int
// PARAM_DESCRIPTOR: value-parameter val a: kotlin.Int defined in bar.foo
// PARAM_DESCRIPTOR: value-parameter val b: kotlin.Int defined in bar.foo
fun bar(n: Int) {
fun i(a: Int, b: Int): Int {
return a + b - n
@@ -1,5 +1,7 @@
// PARAM_TYPES: kotlin.Int
// PARAM_TYPES: kotlin.Int
// PARAM_DESCRIPTOR: value-parameter val a: kotlin.Int defined in A.foo
// PARAM_DESCRIPTOR: value-parameter val b: kotlin.Int defined in A.foo
class A(val n: Int) {
fun foo(a: Int, b: Int) = <selection>a + b - n</selection> - 1
}
@@ -1,5 +1,7 @@
// PARAM_TYPES: kotlin.Int
// PARAM_TYPES: kotlin.Int
// PARAM_DESCRIPTOR: value-parameter val a: kotlin.Int defined in A.foo
// PARAM_DESCRIPTOR: value-parameter val b: kotlin.Int defined in A.foo
class A(val n: Int) {
fun foo(a: Int, b: Int) = i(a, b) - 1
@@ -1,4 +1,5 @@
// PARAM_TYPES: kotlin.Int
// PARAM_DESCRIPTOR: value-parameter val a: kotlin.Int defined in A.foo
class A(val n: Int) {
fun foo(a: Int, b: Int = <selection>a + n</selection>) = a + b - n - 1
}
@@ -1,4 +1,5 @@
// PARAM_TYPES: kotlin.Int
// PARAM_DESCRIPTOR: value-parameter val a: kotlin.Int defined in A.foo
class A(val n: Int) {
fun foo(a: Int, b: Int = i(a)) = a + b - n - 1
@@ -1,4 +1,5 @@
// PARAM_TYPES: kotlin.Int
// PARAM_DESCRIPTOR: value-parameter val a: kotlin.Int defined in A.foo
class A(val n: Int) {
fun foo(a: Int, b: Int = { <selection>a + n</selection> }.invoke()) = a + b - n - 1
}
@@ -1,4 +1,5 @@
// PARAM_TYPES: kotlin.Int
// PARAM_DESCRIPTOR: value-parameter val a: kotlin.Int defined in A.foo
class A(val n: Int) {
fun foo(a: Int, b: Int = { i(a) }.invoke()) = a + b - n - 1
@@ -1,5 +1,7 @@
// PARAM_TYPES: kotlin.Int
// PARAM_TYPES: kotlin.Int
// PARAM_DESCRIPTOR: value-parameter val a: kotlin.Int defined in A.foo
// PARAM_DESCRIPTOR: value-parameter val b: kotlin.Int defined in A.foo
class A(val n: Int) {
fun foo(a: Int, b: Int) = { <selection>a + b - n</selection> - 1 }.invoke()
}
@@ -1,5 +1,7 @@
// PARAM_TYPES: kotlin.Int
// PARAM_TYPES: kotlin.Int
// PARAM_DESCRIPTOR: value-parameter val a: kotlin.Int defined in A.foo
// PARAM_DESCRIPTOR: value-parameter val b: kotlin.Int defined in A.foo
class A(val n: Int) {
fun foo(a: Int, b: Int) = { i(a, b) - 1 }.invoke()
@@ -1,3 +1,5 @@
// 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
fun foo(a: Int, b: Int) = <selection>a + b</selection> - 1
@@ -1,5 +1,7 @@
// 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
fun foo(a: Int, b: Int) = i(a, b) - 1
fun i(a: Int, b: Int): Int {
@@ -1,3 +1,4 @@
// PARAM_TYPES: kotlin.Int
// PARAM_DESCRIPTOR: value-parameter val a: kotlin.Int defined in foo
val n = 1
fun foo(a: Int, b: Int = <selection>a + n</selection>) = a + b - 1
@@ -1,4 +1,5 @@
// PARAM_TYPES: kotlin.Int
// PARAM_DESCRIPTOR: value-parameter val a: kotlin.Int defined in foo
val n = 1
fun foo(a: Int, b: Int = i(a)) = a + b - 1
@@ -1,3 +1,4 @@
// PARAM_TYPES: kotlin.Int
// PARAM_DESCRIPTOR: value-parameter val a: kotlin.Int defined in foo
val n = 1
fun foo(a: Int, b: Int = { <selection>a + n</selection> }) = a + b - 1
@@ -1,4 +1,5 @@
// PARAM_TYPES: kotlin.Int
// PARAM_DESCRIPTOR: value-parameter val a: kotlin.Int defined in foo
val n = 1
fun foo(a: Int, b: Int = { i(a) }) = a + b - 1
@@ -1,3 +1,5 @@
// 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
fun foo(a: Int, b: Int) = { <selection>a + b</selection> - 1 }.invoke()
@@ -1,5 +1,7 @@
// 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
fun foo(a: Int, b: Int) = { i(a, b) - 1 }.invoke()
fun i(a: Int, b: Int): Int {
@@ -1,4 +1,5 @@
// PARAM_TYPES: kotlin.Int
// PARAM_DESCRIPTOR: value-parameter val b: kotlin.Int defined in A.<init>
class A(val a: Int, b: Int) {
val foo = <selection>a + b</selection> - 1
}
@@ -1,4 +1,5 @@
// PARAM_TYPES: kotlin.Int
// PARAM_DESCRIPTOR: value-parameter val b: kotlin.Int defined in A.<init>
class A(val a: Int, b: Int) {
val foo = i(b) - 1
@@ -1,4 +1,5 @@
// PARAM_TYPES: kotlin.Int
// PARAM_DESCRIPTOR: value-parameter val b: kotlin.Int defined in A.<init>
class A(val a: Int, b: Int) {
val foo = { <selection>a + b</selection> - 1 }.invoke()
}
@@ -1,4 +1,5 @@
// PARAM_TYPES: kotlin.Int
// PARAM_DESCRIPTOR: value-parameter val b: kotlin.Int defined in A.<init>
class A(val a: Int, b: Int) {
val foo = { i(b) - 1 }.invoke()