e6b5cb5216
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
26 lines
678 B
Plaintext
Vendored
26 lines
678 B
Plaintext
Vendored
FILE: boundSafeCallAndIsCheck.kt
|
|
public abstract interface A : R|kotlin/Any| {
|
|
public abstract val b: R|B|
|
|
public get(): R|B|
|
|
|
|
}
|
|
public abstract interface B : R|kotlin/Any| {
|
|
}
|
|
public abstract interface C : R|B| {
|
|
public abstract fun q(): R|kotlin/Boolean|
|
|
|
|
}
|
|
public final fun R|A|.foo(): R|kotlin/String| {
|
|
^foo String()
|
|
}
|
|
public final fun main(a: R|A?|): R|kotlin/Unit| {
|
|
lval lb: R|B?| = R|<local>/a|?.{ $subj$.R|/A.b| }
|
|
when () {
|
|
(R|<local>/lb| !is R|C|) -> {
|
|
^main Unit
|
|
}
|
|
}
|
|
|
|
R|<local>/a|.R|/foo|().R|kotlin/String.length|
|
|
}
|