Files
kotlin-fork/compiler/testData/diagnostics/tests/inference/kt28598.kt
T
Dmitriy Novozhilov e6b5cb5216 [TD] Update diagnostics test data due to new test runners
Update includes:
- Changing syntax of `OI/`NI` tags from `<!NI;TAG!>` to `<!TAG{NI}!>`
- Fix some incorrect directives
- Change order of diagnostics in some places
- Remove ignored diagnostics from FIR test data (previously `DIAGNOSTICS` didn't work)
- Update FIR dumps in some places and add `FIR_IDENTICAL` if needed
- Replace all JAVAC_SKIP with SKIP_JAVAC directive
2020-12-16 19:52:25 +03:00

86 lines
3.3 KiB
Kotlin
Vendored

// !WITH_NEW_INFERENCE
// !IDIAGNOSTICS: -UNUSED_EXPRESSION
fun case_1(a: MutableList<out MutableList<MutableList<MutableList<MutableList<MutableList<MutableList<Int?>?>?>?>?>?>?>?) {
if (a != null) {
val b = <!DEBUG_INFO_SMARTCAST{OI}!>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 = <!DEBUG_INFO_SMARTCAST{OI}!>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{OI}!>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 = <!DEBUG_INFO_SMARTCAST{OI}!>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()
}
}
}
}
}
}
}
}
}