[FIR] Rename type parameters of NullableMap from KEY, VALUE to K, V

This commit is contained in:
Dmitriy Novozhilov
2021-06-21 11:18:26 +03:00
parent 6c8096643c
commit dc3ee6318c
@@ -12,7 +12,7 @@ import org.jetbrains.kotlin.fir.PrivateForInline
*/ */
@OptIn(PrivateForInline::class) @OptIn(PrivateForInline::class)
@JvmInline @JvmInline
internal value class NullableMap<KEY, VALUE>(private val map: MutableMap<KEY, Any> = HashMap()) { internal value class NullableMap<K, V>(private val map: MutableMap<K, Any> = HashMap()) {
/** /**
* Get value if it is present in map * Get value if it is present in map
@@ -20,15 +20,15 @@ internal value class NullableMap<KEY, VALUE>(private val map: MutableMap<KEY, An
* [orElse] can modify the map inside * [orElse] can modify the map inside
*/ */
@Suppress("UNCHECKED_CAST") @Suppress("UNCHECKED_CAST")
inline fun getOrElse(key: KEY, orElse: () -> VALUE): VALUE = inline fun getOrElse(key: K, orElse: () -> V): V =
when (val value = map[key]) { when (val value = map[key]) {
null -> orElse() null -> orElse()
NullValue -> null NullValue -> null
else -> value else -> value
} as VALUE } as V
@Suppress("NOTHING_TO_INLINE") @Suppress("NOTHING_TO_INLINE")
inline operator fun set(key: KEY, value: VALUE) { inline operator fun set(key: K, value: V) {
map[key] = value ?: NullValue map[key] = value ?: NullValue
} }
} }