Files
kotlin-fork/compiler/testData/diagnostics/tests/inference/kt28598.fir.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
2.7 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 = a[0] // no SMARTCAST diagnostic
if (b != null) {
val c = b[0]
if (c != null) {
val d = c[0]
if (d != null) {
val e = d[0]
if (e != null) {
val f = e[0]
if (f != null) {
val g = f[0]
if (g != null) {
val h = <!UNRESOLVED_REFERENCE!>g[0]<!>
if (h != null) {
h.<!UNRESOLVED_REFERENCE!>inc<!>()
}
}
}
}
}
}
}
}
}
fun case_2(a: MutableList<out MutableList<MutableList<MutableList<out MutableList<MutableList<MutableList<out Int?>?>?>?>?>?>?>?) {
if (a != null) {
val b = a[0] // no SMARTCAST diagnostic
if (b != null) {
val c = b[0]
if (c != null) {
val d = c[0]
if (d != null) {
val e = d[0] // no SMARTCAST diagnostic
if (e != null) {
val f = e[0]
if (f != null) {
val g = f[0]
if (g != null) {
val h = <!UNRESOLVED_REFERENCE!>g[0]<!> // no SMARTCAST diagnostic
if (h != null) {
h.<!UNRESOLVED_REFERENCE!>inc<!>()
}
}
}
}
}
}
}
}
}
fun case_3(a: MutableList<MutableList<MutableList<MutableList<MutableList<MutableList<MutableList<Int?>?>?>?>?>?>?>?) {
if (a != null) {
val b = a[0]
if (b != null) {
val c = b[0]
if (c != null) {
val d = c[0]
if (d != null) {
val e = d[0]
if (e != null) {
val f = e[0]
if (f != null) {
val g = f[0]
if (g != null) {
val h = g[0]
if (h != null) {
h.inc()
}
}
}
}
}
}
}
}
}