Inspection for scope functions conversion

#KT-17047 Fixed
This commit is contained in:
Dmitry Jemerov
2018-01-05 15:29:58 +01:00
parent 0b24be9460
commit 60874f29fe
41 changed files with 856 additions and 26 deletions
@@ -0,0 +1,7 @@
// WITH_RUNTIME
val x = hashSetOf("abc").<caret>let {
it.forEach {
println(it)
}
}
@@ -0,0 +1,7 @@
// WITH_RUNTIME
val x = hashSetOf("abc").<caret>run {
forEach {
println(it)
}
}
@@ -0,0 +1,7 @@
// WITH_RUNTIME
class C {
val c = "abc".<caret>let {
println(it + this)
}
}
@@ -0,0 +1,7 @@
// WITH_RUNTIME
class C {
val c = "abc".<caret>run {
println(this + this@C)
}
}
@@ -0,0 +1,15 @@
// WITH_RUNTIME
class C {
fun foo() = "c"
val bar = "C"
}
class D {
fun foo() = "d"
val bar = "D"
val x = C().<caret>let {
foo() + it.foo() + bar + it.bar
}
}
@@ -0,0 +1,15 @@
// WITH_RUNTIME
class C {
fun foo() = "c"
val bar = "C"
}
class D {
fun foo() = "d"
val bar = "D"
val x = C().<caret>run {
this@D.foo() + foo() + this@D.bar + bar
}
}
@@ -0,0 +1,15 @@
// WITH_RUNTIME
class C {
fun foo(s: String, s2: String = ""): String = "c"
val bar = "C"
}
class D {
fun baz(s: String): String = "d"
val quux = "D"
val x = C().<caret>let {
it.foo(baz(it.foo(quux + it.bar)), baz(it.bar))
}
}
@@ -0,0 +1,15 @@
// WITH_RUNTIME
class C {
fun foo(s: String, s2: String = ""): String = "c"
val bar = "C"
}
class D {
fun baz(s: String): String = "d"
val quux = "D"
val x = C().<caret>run {
foo(baz(foo(quux + bar)), baz(bar))
}
}
@@ -0,0 +1,19 @@
// WITH_RUNTIME
class C {
fun foo() = "c"
val bar = "C"
}
class D {
fun foo() = "d"
val bar = "D"
}
val d = D()
val x = d.apply {
C().<caret>let {
foo() + it.foo() + bar + it.bar
}
}
@@ -0,0 +1,19 @@
// WITH_RUNTIME
class C {
fun foo() = "c"
val bar = "C"
}
class D {
fun foo() = "d"
val bar = "D"
}
val d = D()
val x = d.apply {
C().<caret>run {
this@apply.foo() + foo() + this@apply.bar + bar
}
}
@@ -0,0 +1,19 @@
// WITH_RUNTIME
class C {
fun foo() = "c"
val bar = "C"
}
class D {
fun baz() = "d"
val quux = "D"
}
val d = D()
val x = d.apply {
C().<caret>let {
baz() + it.foo() + quux + it.bar
}
}
@@ -0,0 +1,19 @@
// WITH_RUNTIME
class C {
fun foo() = "c"
val bar = "C"
}
class D {
fun baz() = "d"
val quux = "D"
}
val d = D()
val x = d.apply {
C().<caret>run {
baz() + foo() + quux + bar
}
}
@@ -0,0 +1,6 @@
// WITH_RUNTIME
// FIX: Convert to 'run'
val x = "".<caret>let {
it.length
}
@@ -0,0 +1,6 @@
// WITH_RUNTIME
// FIX: Convert to 'run'
val x = "".<caret>run {
length
}
@@ -0,0 +1,7 @@
// WITH_RUNTIME
class C {
val c = "abc".<caret>let {
println("$it")
}
}
@@ -0,0 +1,7 @@
// WITH_RUNTIME
class C {
val c = "abc".<caret>run {
println("$this")
}
}