Lift assignment out: if last statement is lambda, enclose it in parentheses if necessary

#KT-38155 Fixed
This commit is contained in:
Toshiaki Kameyama
2020-04-11 04:10:49 +02:00
committed by Vladimir Dolzhenko
parent e6476c39ca
commit ee406f1622
10 changed files with 126 additions and 1 deletions
@@ -0,0 +1,12 @@
fun test(i: Int) {
val f: () -> Boolean
<caret>if (i == 1) {
f = { true }
} else {
foo { i }
f = { false }
}
f()
}
fun foo(f: () -> Int) {}
@@ -0,0 +1,12 @@
fun test(i: Int) {
val f: () -> Boolean
f = if (i == 1) {
{ true }
} else {
foo { i }
({ false })
}
f()
}
fun foo(f: () -> Int) {}
@@ -0,0 +1,14 @@
fun test(i: Int) {
val f: () -> Boolean
<caret>if (i == 1) {
f = { true }
} else {
val foo = Foo().foo { i } // comment
f = { false }
}
f()
}
class Foo {
fun foo(f: () -> Int) {}
}
@@ -0,0 +1,14 @@
fun test(i: Int) {
val f: () -> Boolean
f = if (i == 1) {
{ true }
} else {
val foo = Foo().foo { i } // comment
({ false })
}
f()
}
class Foo {
fun foo(f: () -> Int) {}
}
@@ -0,0 +1,10 @@
fun test(i: Int) {
val f: () -> Boolean
<caret>if (i == 1) {
f = { true }
} else {
val g: () -> Boolean = { false }
f = { g() }
}
f()
}
@@ -0,0 +1,10 @@
fun test(i: Int) {
val f: () -> Boolean
f = if (i == 1) {
{ true }
} else {
val g: () -> Boolean = { false }
{ g() }
}
f()
}
@@ -0,0 +1,12 @@
fun test(i: Int) {
val f: () -> Boolean
<caret>if (i == 1) {
f = { true }
} else {
val foo = foo()
f = { false }
}
f()
}
fun foo() {}
@@ -0,0 +1,12 @@
fun test(i: Int) {
val f: () -> Boolean
f = if (i == 1) {
{ true }
} else {
val foo = foo()
({ false })
}
f()
}
fun foo() {}