Extract function: avoid same parameter names

This commit is contained in:
Yan Zhulanow
2018-12-17 23:06:09 +09:00
parent 7de5ddaac9
commit 4ae01badff
5 changed files with 62 additions and 2 deletions
@@ -0,0 +1,20 @@
// SUGGESTED_NAMES: s, getA
// PARAM_TYPES: kotlin.String
// PARAM_TYPES: kotlin.String, kotlin.Comparable<kotlin.String>, kotlin.CharSequence, java.io.Serializable, kotlin.Any
// PARAM_TYPES: kotlin.String, kotlin.Comparable<kotlin.String>, kotlin.CharSequence, java.io.Serializable, kotlin.Any
// PARAM_DESCRIPTOR: local final fun kotlin.String.<anonymous>(): kotlin.Unit defined in Foo.foo.<anonymous>.<anonymous>, local final fun kotlin.String.<anonymous>(): kotlin.Unit defined in Foo.foo.<anonymous>, local final fun kotlin.String.<anonymous>(): kotlin.Unit defined in Foo.foo
class Foo {
fun foo() {
block("a") a@ {
block("b") b@ {
block("c") c@ {
val a = <selection>this@c + this@b + this@a + this + this@Foo.toString()</selection>
}
}
}
}
}
private inline fun <T> block(t: T, block: T.() -> Unit) {
t.block()
}
@@ -0,0 +1,22 @@
// SUGGESTED_NAMES: s, getA
// PARAM_TYPES: kotlin.String
// PARAM_TYPES: kotlin.String, kotlin.Comparable<kotlin.String>, kotlin.CharSequence, java.io.Serializable, kotlin.Any
// PARAM_TYPES: kotlin.String, kotlin.Comparable<kotlin.String>, kotlin.CharSequence, java.io.Serializable, kotlin.Any
// PARAM_DESCRIPTOR: local final fun kotlin.String.<anonymous>(): kotlin.Unit defined in Foo.foo.<anonymous>.<anonymous>, local final fun kotlin.String.<anonymous>(): kotlin.Unit defined in Foo.foo.<anonymous>, local final fun kotlin.String.<anonymous>(): kotlin.Unit defined in Foo.foo
class Foo {
fun foo() {
block("a") a@ {
block("b") b@ {
block("c") c@ {
val a = s(this@c, this@b, this@a)
}
}
}
}
private fun s(s: String, s0: String, s1: String) = s + s0 + s1 + s + this@Foo.toString()
}
private inline fun <T> block(t: T, block: T.() -> Unit) {
t.block()
}