A set of additional tests for complex expressions DFA

This commit is contained in:
Mikhail Glukhikh
2015-12-11 12:08:36 +03:00
parent d024045638
commit 6fb871a088
13 changed files with 125 additions and 0 deletions
@@ -0,0 +1,14 @@
fun baz(s: String?): String {
val t = if (s == null) {
""
}
else if (s == "") {
val u: String? = null
if (u == null) return ""
u
}
else {
s
}
return <!DEBUG_INFO_SMARTCAST!>t<!>
}
@@ -0,0 +1,3 @@
package
public fun baz(/*0*/ s: kotlin.String?): kotlin.String
@@ -0,0 +1,11 @@
fun baz(s: String?, b: Boolean?): String {
val t = if (if (b == null) return "" else <!DEBUG_INFO_SMARTCAST!>b<!>) {
if (s == null) return ""
s
}
else {
if (s != null) return <!DEBUG_INFO_SMARTCAST!>s<!>
""
}
return <!DEBUG_INFO_SMARTCAST!>t<!>
}
@@ -0,0 +1,3 @@
package
public fun baz(/*0*/ s: kotlin.String?, /*1*/ b: kotlin.Boolean?): kotlin.String
@@ -0,0 +1,11 @@
fun baz(s: String?, u: String?): String {
val t = when(if (u == null) return "" else <!DEBUG_INFO_SMARTCAST!>u<!>) {
"abc" -> u
"" -> {
if (s == null) return ""
s
}
else -> u
}
return <!DEBUG_INFO_SMARTCAST!>t<!>
}
@@ -0,0 +1,3 @@
package
public fun baz(/*0*/ s: kotlin.String?, /*1*/ u: kotlin.String?): kotlin.String
@@ -0,0 +1,13 @@
fun baz(s: String?): String {
val t = if (s == null) {
""
}
else {
val u: String? = null
when (u) {
null -> ""
else -> u
}
}
return <!DEBUG_INFO_SMARTCAST!>t<!>
}
@@ -0,0 +1,3 @@
package
public fun baz(/*0*/ s: kotlin.String?): kotlin.String
@@ -0,0 +1,9 @@
fun baz(s: String?): String {
val t = if (s != null) s
else {
val u: String? = null
if (u == null) return ""
u
}
return <!DEBUG_INFO_SMARTCAST!>t<!>
}
@@ -0,0 +1,3 @@
package
public fun baz(/*0*/ s: kotlin.String?): kotlin.String
@@ -0,0 +1,13 @@
fun baz(s: String?, u: String?): String {
val t = when(s) {
is String -> {
if (u == null) return <!DEBUG_INFO_SMARTCAST!>s<!>
u
}
else -> {
if (u == null) return ""
u
}
}
return <!DEBUG_INFO_SMARTCAST!>t<!>
}
@@ -0,0 +1,3 @@
package
public fun baz(/*0*/ s: kotlin.String?, /*1*/ u: kotlin.String?): kotlin.String