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
40 lines
1023 B
Kotlin
Vendored
40 lines
1023 B
Kotlin
Vendored
// !WITH_NEW_INFERENCE
|
|
// See KT-8277
|
|
// NI_EXPECTED_FILE
|
|
|
|
val v = { true } <!USELESS_ELVIS!>?: ( { true } <!USELESS_ELVIS!>?:null!!<!> )<!>
|
|
|
|
val w = if (true) {
|
|
{ true }
|
|
}
|
|
else {
|
|
{ true } <!USELESS_ELVIS!>?: null!!<!>
|
|
}
|
|
|
|
val ww = if (true) {
|
|
<!TYPE_MISMATCH{OI}!>{ true }<!> <!USELESS_ELVIS!>?: null!!<!>
|
|
}
|
|
else if (true) {
|
|
<!TYPE_MISMATCH{OI}!>{ true }<!> <!USELESS_ELVIS!>?: null!!<!>
|
|
}
|
|
else {
|
|
null!!
|
|
}
|
|
|
|
val <!IMPLICIT_NOTHING_PROPERTY_TYPE{OI}!>n<!> = null ?: (null ?: <!TYPE_MISMATCH{OI}!>{ true }<!>)
|
|
|
|
fun l(): (() -> Boolean)? = null
|
|
|
|
val b = null ?: ( l() ?: false)
|
|
|
|
val bb = null ?: ( l() ?: null!!)
|
|
|
|
val bbb = null ?: ( l() <!USELESS_ELVIS_RIGHT_IS_NULL!>?: null<!>)
|
|
|
|
val bbbb = ( l() <!USELESS_ELVIS_RIGHT_IS_NULL!>?: null<!>) ?: ( l() <!USELESS_ELVIS_RIGHT_IS_NULL!>?: null<!>)
|
|
|
|
fun f(x : Long?): Long {
|
|
var a = x ?: (<!TYPE_MISMATCH{OI}!>fun() {}<!> <!USELESS_ELVIS!>?: <!TYPE_MISMATCH{OI}!>fun() {}<!><!>)
|
|
return <!DEBUG_INFO_ELEMENT_WITH_ERROR_TYPE{OI}, TYPE_MISMATCH{NI}!>a<!>
|
|
}
|