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
24 lines
750 B
Kotlin
Vendored
24 lines
750 B
Kotlin
Vendored
// !WITH_NEW_INFERENCE
|
|
fun foo(): String {
|
|
var s: String?
|
|
s = null
|
|
<!DEBUG_INFO_CONSTANT!>s<!>?.length
|
|
<!DEBUG_INFO_CONSTANT{OI}!>s<!><!UNSAFE_CALL!>.<!>length
|
|
if (<!SENSELESS_COMPARISON!><!DEBUG_INFO_CONSTANT!>s<!> == null<!>) return <!ALWAYS_NULL!>s<!>!!
|
|
var t: String? = "y"
|
|
if (t == null) t = "x"
|
|
var x: Int? = null
|
|
if (x == null) <!TYPE_MISMATCH!><!DEBUG_INFO_CONSTANT{OI}!>x<!> += null<!>
|
|
return <!DEBUG_INFO_SMARTCAST!>t<!> + s
|
|
}
|
|
|
|
fun String?.gav() {}
|
|
|
|
fun bar(s: String?) {
|
|
if (s != null) return
|
|
<!DEBUG_INFO_CONSTANT{OI}!>s<!>.gav()
|
|
<!DEBUG_INFO_CONSTANT!>s<!> <!USELESS_CAST!>as? String<!>
|
|
<!DEBUG_INFO_CONSTANT!>s<!> <!USELESS_CAST!>as String?<!>
|
|
<!ALWAYS_NULL!>s<!> as String
|
|
}
|