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
57 lines
1.7 KiB
Kotlin
Vendored
57 lines
1.7 KiB
Kotlin
Vendored
// !DIAGNOSTICS: -UNUSED_VARIABLE
|
|
// !WITH_NEW_INFERENCE
|
|
// FULL_JDK
|
|
|
|
import java.util.*
|
|
|
|
fun bar(): String? = null
|
|
val nullableInt: Int? = null
|
|
|
|
fun hashMapTest() {
|
|
var x: HashMap<String, Int?> = HashMap<String, Int?>()
|
|
x.put(<!NULL_FOR_NONNULL_TYPE!>null<!>, null)
|
|
x.put("", null)
|
|
x.put(<!TYPE_MISMATCH!>bar()<!>, 1)
|
|
x.put("", 1)
|
|
|
|
<!TYPE_INFERENCE_CONFLICTING_SUBSTITUTIONS{OI}!>x[<!NULL_FOR_NONNULL_TYPE{NI}!>null<!>]<!> = 1
|
|
<!TYPE_INFERENCE_CONFLICTING_SUBSTITUTIONS{OI}!>x[<!TYPE_MISMATCH{NI}!>bar()<!>]<!> = 1
|
|
x[""] = nullableInt
|
|
x[""] = 1
|
|
|
|
val b1: MutableMap<String, Int> = <!TYPE_MISMATCH!>x<!>
|
|
val b2: MutableMap<String, Int?> = x
|
|
val b3: Map<String, Int> = <!TYPE_MISMATCH!>x<!>
|
|
val b4: Map<String, Int?> = x
|
|
val b5: Map<String?, Int?> = <!TYPE_MISMATCH!>x<!>
|
|
|
|
val b6: Int = <!TYPE_MISMATCH!>x[""]<!>
|
|
val b7: Int = <!TYPE_MISMATCH!>x.get("")<!>
|
|
|
|
val b8: Int? = x.get("")
|
|
}
|
|
|
|
fun treeMapTest() {
|
|
var x: TreeMap<String, Int?> = TreeMap<String, Int?>()
|
|
x.put(<!NULL_FOR_NONNULL_TYPE!>null<!>, null)
|
|
x.put("", null)
|
|
x.put(<!TYPE_MISMATCH!>bar()<!>, 1)
|
|
x.put("", 1)
|
|
|
|
<!TYPE_INFERENCE_CONFLICTING_SUBSTITUTIONS{OI}!>x[<!NULL_FOR_NONNULL_TYPE{NI}!>null<!>]<!> = 1
|
|
<!TYPE_INFERENCE_CONFLICTING_SUBSTITUTIONS{OI}!>x[<!TYPE_MISMATCH{NI}!>bar()<!>]<!> = 1
|
|
x[""] = nullableInt
|
|
x[""] = 1
|
|
|
|
val b1: MutableMap<String, Int> = <!TYPE_MISMATCH!>x<!>
|
|
val b2: MutableMap<String, Int?> = x
|
|
val b3: Map<String, Int> = <!TYPE_MISMATCH!>x<!>
|
|
val b4: Map<String, Int?> = x
|
|
val b5: Map<String?, Int?> = <!TYPE_MISMATCH!>x<!>
|
|
|
|
val b6: Int = <!TYPE_MISMATCH!>x[""]<!>
|
|
val b7: Int = <!TYPE_MISMATCH!>x.get("")<!>
|
|
|
|
val b8: Int? = x.get("")
|
|
}
|