A set of additional tests for complex expressions DFA
This commit is contained in:
@@ -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
|
||||||
@@ -14967,12 +14967,36 @@ public class DiagnosticsTestGenerated extends AbstractDiagnosticsTest {
|
|||||||
doTest(fileName);
|
doTest(fileName);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@TestMetadata("ifCascadeExprNotNull.kt")
|
||||||
|
public void testIfCascadeExprNotNull() throws Exception {
|
||||||
|
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/diagnostics/tests/smartCasts/ifCascadeExprNotNull.kt");
|
||||||
|
doTest(fileName);
|
||||||
|
}
|
||||||
|
|
||||||
|
@TestMetadata("ifExprInConditionNonNull.kt")
|
||||||
|
public void testIfExprInConditionNonNull() throws Exception {
|
||||||
|
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/diagnostics/tests/smartCasts/ifExprInConditionNonNull.kt");
|
||||||
|
doTest(fileName);
|
||||||
|
}
|
||||||
|
|
||||||
|
@TestMetadata("ifExprInWhenSubjectNonNull.kt")
|
||||||
|
public void testIfExprInWhenSubjectNonNull() throws Exception {
|
||||||
|
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/diagnostics/tests/smartCasts/ifExprInWhenSubjectNonNull.kt");
|
||||||
|
doTest(fileName);
|
||||||
|
}
|
||||||
|
|
||||||
@TestMetadata("ifExprNonNull.kt")
|
@TestMetadata("ifExprNonNull.kt")
|
||||||
public void testIfExprNonNull() throws Exception {
|
public void testIfExprNonNull() throws Exception {
|
||||||
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/diagnostics/tests/smartCasts/ifExprNonNull.kt");
|
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/diagnostics/tests/smartCasts/ifExprNonNull.kt");
|
||||||
doTest(fileName);
|
doTest(fileName);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@TestMetadata("ifWhenExprNonNull.kt")
|
||||||
|
public void testIfWhenExprNonNull() throws Exception {
|
||||||
|
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/diagnostics/tests/smartCasts/ifWhenExprNonNull.kt");
|
||||||
|
doTest(fileName);
|
||||||
|
}
|
||||||
|
|
||||||
@TestMetadata("implicitReceiver.kt")
|
@TestMetadata("implicitReceiver.kt")
|
||||||
public void testImplicitReceiver() throws Exception {
|
public void testImplicitReceiver() throws Exception {
|
||||||
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/diagnostics/tests/smartCasts/implicitReceiver.kt");
|
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/diagnostics/tests/smartCasts/implicitReceiver.kt");
|
||||||
@@ -15231,6 +15255,12 @@ public class DiagnosticsTestGenerated extends AbstractDiagnosticsTest {
|
|||||||
doTest(fileName);
|
doTest(fileName);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@TestMetadata("shortIfExprNotNull.kt")
|
||||||
|
public void testShortIfExprNotNull() throws Exception {
|
||||||
|
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/diagnostics/tests/smartCasts/shortIfExprNotNull.kt");
|
||||||
|
doTest(fileName);
|
||||||
|
}
|
||||||
|
|
||||||
@TestMetadata("smartCastOnElvis.kt")
|
@TestMetadata("smartCastOnElvis.kt")
|
||||||
public void testSmartCastOnElvis() throws Exception {
|
public void testSmartCastOnElvis() throws Exception {
|
||||||
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/diagnostics/tests/smartCasts/smartCastOnElvis.kt");
|
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/diagnostics/tests/smartCasts/smartCastOnElvis.kt");
|
||||||
@@ -15327,6 +15357,12 @@ public class DiagnosticsTestGenerated extends AbstractDiagnosticsTest {
|
|||||||
doTest(fileName);
|
doTest(fileName);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@TestMetadata("whenIfExprNonNull.kt")
|
||||||
|
public void testWhenIfExprNonNull() throws Exception {
|
||||||
|
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/diagnostics/tests/smartCasts/whenIfExprNonNull.kt");
|
||||||
|
doTest(fileName);
|
||||||
|
}
|
||||||
|
|
||||||
@TestMetadata("whenSubjectImpossible.kt")
|
@TestMetadata("whenSubjectImpossible.kt")
|
||||||
public void testWhenSubjectImpossible() throws Exception {
|
public void testWhenSubjectImpossible() throws Exception {
|
||||||
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/diagnostics/tests/smartCasts/whenSubjectImpossible.kt");
|
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/diagnostics/tests/smartCasts/whenSubjectImpossible.kt");
|
||||||
|
|||||||
Reference in New Issue
Block a user