Files
kotlin-fork/compiler/testData/diagnostics/testsWithStdLib/purelyImplementedCollection/mapsWithNullableKey.fir.kt
T
Mikhail Glukhikh 7dca4d2fee [FIR TEST] Update test data for purely implements case (NB: broken)
In this case Java super type arguments should be not null, not flexible
2020-02-03 16:45:21 +03:00

58 lines
1.1 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, null)
x.put("", null)
x.put(bar(), 1)
x.put("", 1)
x[null] = 1
x[bar()] = 1
x[""] = nullableInt
x[""] = 1
val b1: MutableMap<String?, Int?> = x
val b2: MutableMap<String?, Int> = x
val b3: Map<String?, Int> = x
val b4: Map<String?, Int?> = x
val b5: Map<String, Int?> = x
val b6: Int = x[""]
val b7: Int = x[null]
val b8: Int = x.get("")
val b9: Int? = x.get("")
}
fun treeMapTest() {
var x: TreeMap<String?, Int> = TreeMap<String?, Int>()
x.put(null, null)
x.put("", null)
x.put(bar(), 1)
x.put("", 1)
x[null] = 1
x[bar()] = 1
x[""] = nullableInt
x[""] = 1
val b1: MutableMap<String?, Int?> = x
val b2: MutableMap<String?, Int> = x
val b3: Map<String?, Int> = x
val b4: Map<String?, Int?> = x
val b5: Map<String, Int?> = x
val b6: Int = x[""]
val b7: Int = x.get("")
val b8: Int? = x.get("")
}