Add test for #KT-28598
This commit is contained in:
@@ -0,0 +1,85 @@
|
||||
// !WITH_NEW_INFERENCE
|
||||
// !IDIAGNOSTICS: -UNUSED_EXPRESSION
|
||||
|
||||
fun case_1(a: MutableList<out MutableList<MutableList<MutableList<MutableList<MutableList<MutableList<Int?>?>?>?>?>?>?>?) {
|
||||
if (a != null) {
|
||||
val b = <!OI;DEBUG_INFO_SMARTCAST!>a<!>[0] // no SMARTCAST diagnostic
|
||||
if (b != null) {
|
||||
val c = <!DEBUG_INFO_SMARTCAST!>b<!>[0]
|
||||
if (c != null) {
|
||||
val d = <!DEBUG_INFO_SMARTCAST!>c<!>[0]
|
||||
if (d != null) {
|
||||
val e = <!DEBUG_INFO_SMARTCAST!>d<!>[0]
|
||||
if (e != null) {
|
||||
val f = <!DEBUG_INFO_SMARTCAST!>e<!>[0]
|
||||
if (f != null) {
|
||||
val g = <!DEBUG_INFO_SMARTCAST!>f<!>[0]
|
||||
if (g != null) {
|
||||
val h = <!DEBUG_INFO_SMARTCAST!>g<!>[0]
|
||||
if (h != null) {
|
||||
<!DEBUG_INFO_SMARTCAST!>h<!>.inc()
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
fun case_2(a: MutableList<out MutableList<MutableList<MutableList<out MutableList<MutableList<MutableList<out Int?>?>?>?>?>?>?>?) {
|
||||
if (a != null) {
|
||||
val b = <!OI;DEBUG_INFO_SMARTCAST!>a<!>[0] // no SMARTCAST diagnostic
|
||||
if (b != null) {
|
||||
val c = <!DEBUG_INFO_SMARTCAST!>b<!>[0]
|
||||
if (c != null) {
|
||||
val d = <!DEBUG_INFO_SMARTCAST!>c<!>[0]
|
||||
if (d != null) {
|
||||
val e = <!OI;DEBUG_INFO_SMARTCAST!>d<!>[0] // no SMARTCAST diagnostic
|
||||
if (e != null) {
|
||||
val f = <!DEBUG_INFO_SMARTCAST!>e<!>[0]
|
||||
if (f != null) {
|
||||
val g = <!DEBUG_INFO_SMARTCAST!>f<!>[0]
|
||||
if (g != null) {
|
||||
val h = <!OI;DEBUG_INFO_SMARTCAST!>g<!>[0] // no SMARTCAST diagnostic
|
||||
if (h != null) {
|
||||
<!DEBUG_INFO_SMARTCAST!>h<!>.inc()
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
fun case_3(a: MutableList<MutableList<MutableList<MutableList<MutableList<MutableList<MutableList<Int?>?>?>?>?>?>?>?) {
|
||||
if (a != null) {
|
||||
val b = <!DEBUG_INFO_SMARTCAST!>a<!>[0]
|
||||
if (b != null) {
|
||||
val c = <!DEBUG_INFO_SMARTCAST!>b<!>[0]
|
||||
if (c != null) {
|
||||
val d = <!DEBUG_INFO_SMARTCAST!>c<!>[0]
|
||||
if (d != null) {
|
||||
val e = <!DEBUG_INFO_SMARTCAST!>d<!>[0]
|
||||
if (e != null) {
|
||||
val f = <!DEBUG_INFO_SMARTCAST!>e<!>[0]
|
||||
if (f != null) {
|
||||
val g = <!DEBUG_INFO_SMARTCAST!>f<!>[0]
|
||||
if (g != null) {
|
||||
val h = <!DEBUG_INFO_SMARTCAST!>g<!>[0]
|
||||
if (h != null) {
|
||||
<!DEBUG_INFO_SMARTCAST!>h<!>.inc()
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
package
|
||||
|
||||
public fun case_1(/*0*/ a: kotlin.collections.MutableList<out kotlin.collections.MutableList<kotlin.collections.MutableList<kotlin.collections.MutableList<kotlin.collections.MutableList<kotlin.collections.MutableList<kotlin.Int?>?>?>?>?>?>?): kotlin.Unit
|
||||
public fun case_2(/*0*/ a: kotlin.collections.MutableList<kotlin.collections.MutableList<kotlin.collections.MutableList<kotlin.collections.MutableList<kotlin.collections.MutableList<kotlin.collections.MutableList<kotlin.Int?>?>?>?>?>?>?): kotlin.Unit
|
||||
public fun case_3(/*0*/ a: kotlin.collections.MutableList<out kotlin.collections.MutableList<kotlin.collections.MutableList<kotlin.collections.MutableList<kotlin.collections.MutableList<kotlin.Int?>?>?>?>?>?): kotlin.Unit
|
||||
@@ -9485,6 +9485,11 @@ public class DiagnosticsTestGenerated extends AbstractDiagnosticsTest {
|
||||
runTest("compiler/testData/diagnostics/tests/inference/kt1293.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("kt28598.kt")
|
||||
public void testKt28598() throws Exception {
|
||||
runTest("compiler/testData/diagnostics/tests/inference/kt28598.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("kt3184.kt")
|
||||
public void testKt3184() throws Exception {
|
||||
runTest("compiler/testData/diagnostics/tests/inference/kt3184.kt");
|
||||
|
||||
Generated
+5
@@ -9485,6 +9485,11 @@ public class DiagnosticsUsingJavacTestGenerated extends AbstractDiagnosticsUsing
|
||||
runTest("compiler/testData/diagnostics/tests/inference/kt1293.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("kt28598.kt")
|
||||
public void testKt28598() throws Exception {
|
||||
runTest("compiler/testData/diagnostics/tests/inference/kt28598.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("kt3184.kt")
|
||||
public void testKt3184() throws Exception {
|
||||
runTest("compiler/testData/diagnostics/tests/inference/kt3184.kt");
|
||||
|
||||
Reference in New Issue
Block a user