Add code transformations for if/when in local property initializers

This commit is contained in:
Alexey Sedunov
2013-06-07 15:43:58 +04:00
parent 70b4fb48bc
commit 3f2ff3eb24
43 changed files with 592 additions and 10 deletions
@@ -0,0 +1,19 @@
fun test(n: Int): String? {
val res = <caret>if (n == 1) {
if (3 > 2) {
println("***")
"one"
} else {
println("***")
"???"
}
} else if (n == 2) {
println("***")
null
} else {
println("***")
"too many"
}
return res
}
@@ -0,0 +1,20 @@
fun test(n: Int): String? {
val res:<caret> String?
if (n == 1) {
res = if (3 > 2) {
println("***")
"one"
} else {
println("***")
"???"
}
} else res = if (n == 2) {
println("***")
null
} else {
println("***")
"too many"
}
return res
}
@@ -0,0 +1,19 @@
fun test(n: Int): String? {
var res = <caret>if (n == 1) {
if (3 > 2) {
println("***")
"one"
} else {
println("***")
"???"
}
} else if (n == 2) {
println("***")
null
} else {
println("***")
"too many"
}
return res
}
@@ -0,0 +1,20 @@
fun test(n: Int): String? {
var res:<caret> String?
if (n == 1) {
res = if (3 > 2) {
println("***")
"one"
} else {
println("***")
"???"
}
} else res = if (n == 2) {
println("***")
null
} else {
println("***")
"too many"
}
return res
}
@@ -0,0 +1,2 @@
// IS_APPLICABLE: false
val<caret> x = if (false) "0" else "1"
@@ -0,0 +1,2 @@
// IS_APPLICABLE: false
var<caret> x = if (false) "0" else "1"
@@ -0,0 +1,5 @@
fun test(n: Int): String {
val <caret>res = if (n == 1) "one" else "two"
return res
}
@@ -0,0 +1,6 @@
fun test(n: Int): String {
val <caret>res: String
if (n == 1) res = "one" else res = "two"
return res
}
@@ -0,0 +1,5 @@
fun test(n: Int): String {
var <caret>res = if (n == 1) "one" else "two"
return res
}
@@ -0,0 +1,6 @@
fun test(n: Int): String {
var <caret>res: String
if (n == 1) res = "one" else res = "two"
return res
}
@@ -0,0 +1,11 @@
fun test(n: Int): String {
val res<caret> = if (n == 1) {
println("***")
"one"
} else {
println("***")
"two"
}
return res
}
@@ -0,0 +1,12 @@
fun test(n: Int): String {
val res<caret>: String
if (n == 1) {
println("***")
res = "one"
} else {
println("***")
res = "two"
}
return res
}
@@ -0,0 +1,11 @@
fun test(n: Int): String {
var res<caret> = if (n == 1) {
println("***")
"one"
} else {
println("***")
"two"
}
return res
}
@@ -0,0 +1,12 @@
fun test(n: Int): String {
var res<caret>: String
if (n == 1) {
println("***")
res = "one"
} else {
println("***")
res = "two"
}
return res
}
@@ -0,0 +1,5 @@
fun test(n: Int): String {
val <caret>res: jet.String = if (n == 1) "one" else "two"
return res
}
@@ -0,0 +1,6 @@
fun test(n: Int): String {
val <caret>res: jet.String
if (n == 1) res = "one" else res = "two"
return res
}
@@ -0,0 +1,8 @@
// IS_APPLICABLE: false
val n = 10
val res<caret> = when(n) {
1 -> "one"
2 -> "two"
else -> null
}
@@ -0,0 +1,8 @@
// IS_APPLICABLE: false
val n = 10
var res<caret> = when(n) {
1 -> "one"
2 -> "two"
else -> null
}
@@ -0,0 +1,9 @@
fun test(n: Int): String? {
val res<caret> = when(n) {
1 -> "one"
2 -> "two"
else -> null
}
return res
}
@@ -0,0 +1,10 @@
fun test(n: Int): String? {
val res<caret>: String?
when(n) {
1 -> res = "one"
2 -> res = "two"
else -> res = null
}
return res
}
@@ -0,0 +1,9 @@
fun test(n: Int): String? {
var res<caret> = when(n) {
1 -> "one"
2 -> "two"
else -> null
}
return res
}
@@ -0,0 +1,10 @@
fun test(n: Int): String? {
var res<caret>: String?
when(n) {
1 -> res = "one"
2 -> res = "two"
else -> res = null
}
return res
}
@@ -0,0 +1,14 @@
fun test(n: Int): String {
val res<caret> = when (n) {
1 -> {
println("***")
"one"
}
else -> {
println("***")
"two"
}
}
return res
}
@@ -0,0 +1,15 @@
fun test(n: Int): String {
val res<caret>: String
when (n) {
1 -> {
println("***")
res = "one"
}
else -> {
println("***")
res = "two"
}
}
return res
}
@@ -0,0 +1,14 @@
fun test(n: Int): String {
var res<caret> = when (n) {
1 -> {
println("***")
"one"
}
else -> {
println("***")
"two"
}
}
return res
}
@@ -0,0 +1,15 @@
fun test(n: Int): String {
var res<caret>: String
when (n) {
1 -> {
println("***")
res = "one"
}
else -> {
println("***")
res = "two"
}
}
return res
}
@@ -0,0 +1,9 @@
fun test(n: Int): String? {
val res<caret>: jet.String? = when(n) {
1 -> "one"
2 -> "two"
else -> null
}
return res
}
@@ -0,0 +1,10 @@
fun test(n: Int): String? {
val res<caret>: jet.String?
when(n) {
1 -> res = "one"
2 -> res = "two"
else -> res = null
}
return res
}