Lift Assignment: process lambda assignments in when correctly

So #KT-23346 Fixed
This commit is contained in:
Toshiaki Kameyama
2018-03-24 16:47:40 +03:00
committed by Mikhail Glukhikh
parent 7438d12ad7
commit 89981ecbbb
12 changed files with 138 additions and 2 deletions
@@ -0,0 +1,11 @@
fun test(i: Int) {
var fn: () -> String
<caret>if (i == 1) {
fn = { "foo" }
} else if (i == 2) {
fn = { "bar" }
} else {
fn = { "baz" }
}
}
@@ -0,0 +1,11 @@
fun test(i: Int) {
var fn: () -> String
<caret>fn = if (i == 1) {
{ "foo" }
} else if (i == 2) {
{ "bar" }
} else {
{ "baz" }
}
}
@@ -0,0 +1,10 @@
fun test(i: Int) {
var fn: () -> String
<caret>if (i == 1)
fn = { "foo" }
else if (i == 2)
fn = { "bar" }
else
fn = { "baz" }
}
@@ -0,0 +1,11 @@
fun test(i: Int) {
var fn: () -> String
<caret>fn = if (i == 1) {
{ "foo" }
} else if (i == 2) {
{ "bar" }
} else {
{ "baz" }
}
}
@@ -0,0 +1,9 @@
fun test(b: Boolean) {
var fn: () -> String
<caret>try {
fn = { "foo" }
} catch (e: Exception) {
fn = { "bar" }
}
}
@@ -0,0 +1,9 @@
fun test(b: Boolean) {
var fn: () -> String
<caret>fn = try {
{ "foo" }
} catch (e: Exception) {
{ "bar" }
}
}
@@ -0,0 +1,12 @@
fun test(b: Boolean) {
var fn: () -> String
<caret>when (b) {
true -> {
fn = { "foo" }
}
else -> {
fn = { "bar" }
}
}
}
@@ -0,0 +1,12 @@
fun test(b: Boolean) {
var fn: () -> String
<caret>fn = when (b) {
true -> {
{ "foo" }
}
else -> {
{ "bar" }
}
}
}
@@ -0,0 +1,8 @@
fun test(b: Boolean) {
var fn: () -> String
<caret>when (b) {
true -> fn = { "foo" }
else -> fn = { "bar" }
}
}
@@ -0,0 +1,12 @@
fun test(b: Boolean) {
var fn: () -> String
<caret>fn = when (b) {
true -> {
{ "foo" }
}
else -> {
{ "bar" }
}
}
}