[FIR] Set EnhancedNullability attribute for former flexible types
In some cases we transform flexible type into non-flexible during enhancement, but don't add `@EnhancedNullability` attribute to them, which breaks consistency with K1 on IR level This commit fixes it ^KT-65302
This commit is contained in:
committed by
Space Team
parent
da567e54b9
commit
bd66b96f8a
@@ -17,24 +17,24 @@ FILE fqName:<root> fileName:/AbstractMutableMap.kt
|
||||
overridden:
|
||||
protected/*protected and package*/ open fun clone (): @[FlexibleNullability] kotlin.Any? declared in kotlin.collections.AbstractMutableMap
|
||||
$this: VALUE_PARAMETER name:<this> type:java.util.AbstractMap<K of <root>.MyMap, V of <root>.MyMap>
|
||||
FUN FAKE_OVERRIDE name:compute visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<K of <root>.MyMap, V of <root>.MyMap>, p0:@[EnhancedNullability] K of <root>.MyMap, p1:@[EnhancedNullability] java.util.function.BiFunction<in @[EnhancedNullability] K of <root>.MyMap, in V of <root>.MyMap?, out V of <root>.MyMap?>) returnType:V of <root>.MyMap? [fake_override]
|
||||
FUN FAKE_OVERRIDE name:compute visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<K of <root>.MyMap, V of <root>.MyMap>, p0:@[EnhancedNullability] K of <root>.MyMap, p1:@[EnhancedNullability] java.util.function.BiFunction<in @[EnhancedNullability] K of <root>.MyMap, in @[EnhancedNullability] V of <root>.MyMap?, out @[EnhancedNullability] V of <root>.MyMap?>) returnType:@[EnhancedNullability] V of <root>.MyMap? [fake_override]
|
||||
overridden:
|
||||
public open fun compute (p0: @[EnhancedNullability] K of kotlin.collections.AbstractMutableMap, p1: @[EnhancedNullability] java.util.function.BiFunction<in @[EnhancedNullability] K of kotlin.collections.AbstractMutableMap, in V of kotlin.collections.AbstractMutableMap?, out V of kotlin.collections.AbstractMutableMap?>): V of kotlin.collections.AbstractMutableMap? declared in kotlin.collections.AbstractMutableMap
|
||||
public open fun compute (p0: @[EnhancedNullability] K of kotlin.collections.AbstractMutableMap, p1: @[EnhancedNullability] java.util.function.BiFunction<in @[EnhancedNullability] K of kotlin.collections.AbstractMutableMap, in @[EnhancedNullability] V of kotlin.collections.AbstractMutableMap?, out @[EnhancedNullability] V of kotlin.collections.AbstractMutableMap?>): @[EnhancedNullability] V of kotlin.collections.AbstractMutableMap? declared in kotlin.collections.AbstractMutableMap
|
||||
$this: VALUE_PARAMETER name:<this> type:kotlin.collections.MutableMap<K of <root>.MyMap, V of <root>.MyMap>
|
||||
VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] K of <root>.MyMap
|
||||
VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.BiFunction<in @[EnhancedNullability] K of <root>.MyMap, in V of <root>.MyMap?, out V of <root>.MyMap?>
|
||||
VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.BiFunction<in @[EnhancedNullability] K of <root>.MyMap, in @[EnhancedNullability] V of <root>.MyMap?, out @[EnhancedNullability] V of <root>.MyMap?>
|
||||
FUN FAKE_OVERRIDE name:computeIfAbsent visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<K of <root>.MyMap, V of <root>.MyMap>, p0:@[EnhancedNullability] K of <root>.MyMap, p1:@[EnhancedNullability] java.util.function.Function<in @[EnhancedNullability] K of <root>.MyMap, out @[EnhancedNullability] V of <root>.MyMap>) returnType:@[EnhancedNullability] V of <root>.MyMap [fake_override]
|
||||
overridden:
|
||||
public open fun computeIfAbsent (p0: @[EnhancedNullability] K of kotlin.collections.AbstractMutableMap, p1: @[EnhancedNullability] java.util.function.Function<in @[EnhancedNullability] K of kotlin.collections.AbstractMutableMap, out @[EnhancedNullability] V of kotlin.collections.AbstractMutableMap>): @[EnhancedNullability] V of kotlin.collections.AbstractMutableMap declared in kotlin.collections.AbstractMutableMap
|
||||
$this: VALUE_PARAMETER name:<this> type:kotlin.collections.MutableMap<K of <root>.MyMap, V of <root>.MyMap>
|
||||
VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] K of <root>.MyMap
|
||||
VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.Function<in @[EnhancedNullability] K of <root>.MyMap, out @[EnhancedNullability] V of <root>.MyMap>
|
||||
FUN FAKE_OVERRIDE name:computeIfPresent visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<K of <root>.MyMap, V of <root>.MyMap>, p0:@[EnhancedNullability] K of <root>.MyMap, p1:@[EnhancedNullability] java.util.function.BiFunction<in @[EnhancedNullability] K of <root>.MyMap, in V of <root>.MyMap, out V of <root>.MyMap?>) returnType:V of <root>.MyMap? [fake_override]
|
||||
FUN FAKE_OVERRIDE name:computeIfPresent visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<K of <root>.MyMap, V of <root>.MyMap>, p0:@[EnhancedNullability] K of <root>.MyMap, p1:@[EnhancedNullability] java.util.function.BiFunction<in @[EnhancedNullability] K of <root>.MyMap, in V of <root>.MyMap, out @[EnhancedNullability] V of <root>.MyMap?>) returnType:@[EnhancedNullability] V of <root>.MyMap? [fake_override]
|
||||
overridden:
|
||||
public open fun computeIfPresent (p0: @[EnhancedNullability] K of kotlin.collections.AbstractMutableMap, p1: @[EnhancedNullability] java.util.function.BiFunction<in @[EnhancedNullability] K of kotlin.collections.AbstractMutableMap, in @[EnhancedNullability] {V of kotlin.collections.AbstractMutableMap & Any}, out V of kotlin.collections.AbstractMutableMap?>): V of kotlin.collections.AbstractMutableMap? declared in kotlin.collections.AbstractMutableMap
|
||||
public open fun computeIfPresent (p0: @[EnhancedNullability] K of kotlin.collections.AbstractMutableMap, p1: @[EnhancedNullability] java.util.function.BiFunction<in @[EnhancedNullability] K of kotlin.collections.AbstractMutableMap, in @[EnhancedNullability] {V of kotlin.collections.AbstractMutableMap & Any}, out @[EnhancedNullability] V of kotlin.collections.AbstractMutableMap?>): @[EnhancedNullability] V of kotlin.collections.AbstractMutableMap? declared in kotlin.collections.AbstractMutableMap
|
||||
$this: VALUE_PARAMETER name:<this> type:kotlin.collections.MutableMap<K of <root>.MyMap, V of <root>.MyMap>
|
||||
VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] K of <root>.MyMap
|
||||
VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.BiFunction<in @[EnhancedNullability] K of <root>.MyMap, in V of <root>.MyMap, out V of <root>.MyMap?>
|
||||
VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.BiFunction<in @[EnhancedNullability] K of <root>.MyMap, in V of <root>.MyMap, out @[EnhancedNullability] V of <root>.MyMap?>
|
||||
FUN FAKE_OVERRIDE name:containsKey visibility:public modality:OPEN <> ($this:kotlin.collections.Map<K of <root>.MyMap, V of <root>.MyMap>, key:K of <root>.MyMap) returnType:kotlin.Boolean [fake_override]
|
||||
overridden:
|
||||
public open fun containsKey (key: K of kotlin.collections.AbstractMutableMap): kotlin.Boolean declared in kotlin.collections.AbstractMutableMap
|
||||
@@ -77,21 +77,21 @@ FILE fqName:<root> fileName:/AbstractMutableMap.kt
|
||||
overridden:
|
||||
public open fun isEmpty (): kotlin.Boolean declared in kotlin.collections.AbstractMutableMap
|
||||
$this: VALUE_PARAMETER name:<this> type:kotlin.collections.Map<K of <root>.MyMap, V of <root>.MyMap>
|
||||
FUN FAKE_OVERRIDE name:merge visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<K of <root>.MyMap, V of <root>.MyMap>, p0:@[EnhancedNullability] K of <root>.MyMap, p1:@[EnhancedNullability] {V of <root>.MyMap & Any}, p2:@[EnhancedNullability] java.util.function.BiFunction<in V of <root>.MyMap, in V of <root>.MyMap, out V of <root>.MyMap?>) returnType:V of <root>.MyMap? [fake_override]
|
||||
FUN FAKE_OVERRIDE name:merge visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<K of <root>.MyMap, V of <root>.MyMap>, p0:@[EnhancedNullability] K of <root>.MyMap, p1:@[EnhancedNullability] {V of <root>.MyMap & Any}, p2:@[EnhancedNullability] java.util.function.BiFunction<in V of <root>.MyMap, in V of <root>.MyMap, out @[EnhancedNullability] V of <root>.MyMap?>) returnType:@[EnhancedNullability] V of <root>.MyMap? [fake_override]
|
||||
overridden:
|
||||
public open fun merge (p0: @[EnhancedNullability] K of kotlin.collections.AbstractMutableMap, p1: @[EnhancedNullability] {V of kotlin.collections.AbstractMutableMap & Any}, p2: @[EnhancedNullability] java.util.function.BiFunction<in @[EnhancedNullability] {V of kotlin.collections.AbstractMutableMap & Any}, in @[EnhancedNullability] {V of kotlin.collections.AbstractMutableMap & Any}, out V of kotlin.collections.AbstractMutableMap?>): V of kotlin.collections.AbstractMutableMap? declared in kotlin.collections.AbstractMutableMap
|
||||
public open fun merge (p0: @[EnhancedNullability] K of kotlin.collections.AbstractMutableMap, p1: @[EnhancedNullability] {V of kotlin.collections.AbstractMutableMap & Any}, p2: @[EnhancedNullability] java.util.function.BiFunction<in @[EnhancedNullability] {V of kotlin.collections.AbstractMutableMap & Any}, in @[EnhancedNullability] {V of kotlin.collections.AbstractMutableMap & Any}, out @[EnhancedNullability] V of kotlin.collections.AbstractMutableMap?>): @[EnhancedNullability] V of kotlin.collections.AbstractMutableMap? declared in kotlin.collections.AbstractMutableMap
|
||||
$this: VALUE_PARAMETER name:<this> type:kotlin.collections.MutableMap<K of <root>.MyMap, V of <root>.MyMap>
|
||||
VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] K of <root>.MyMap
|
||||
VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] {V of <root>.MyMap & Any}
|
||||
VALUE_PARAMETER name:p2 index:2 type:@[EnhancedNullability] java.util.function.BiFunction<in V of <root>.MyMap, in V of <root>.MyMap, out V of <root>.MyMap?>
|
||||
VALUE_PARAMETER name:p2 index:2 type:@[EnhancedNullability] java.util.function.BiFunction<in V of <root>.MyMap, in V of <root>.MyMap, out @[EnhancedNullability] V of <root>.MyMap?>
|
||||
FUN FAKE_OVERRIDE name:putAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<K of <root>.MyMap, V of <root>.MyMap>, from:kotlin.collections.Map<out K of <root>.MyMap, V of <root>.MyMap>) returnType:kotlin.Unit [fake_override]
|
||||
overridden:
|
||||
public open fun putAll (from: kotlin.collections.Map<out K of kotlin.collections.AbstractMutableMap, V of kotlin.collections.AbstractMutableMap>): kotlin.Unit declared in kotlin.collections.AbstractMutableMap
|
||||
$this: VALUE_PARAMETER name:<this> type:kotlin.collections.MutableMap<K of <root>.MyMap, V of <root>.MyMap>
|
||||
VALUE_PARAMETER name:from index:0 type:kotlin.collections.Map<out K of <root>.MyMap, V of <root>.MyMap>
|
||||
FUN FAKE_OVERRIDE name:putIfAbsent visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<K of <root>.MyMap, V of <root>.MyMap>, p0:@[EnhancedNullability] K of <root>.MyMap, p1:@[EnhancedNullability] V of <root>.MyMap) returnType:V of <root>.MyMap? [fake_override]
|
||||
FUN FAKE_OVERRIDE name:putIfAbsent visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<K of <root>.MyMap, V of <root>.MyMap>, p0:@[EnhancedNullability] K of <root>.MyMap, p1:@[EnhancedNullability] V of <root>.MyMap) returnType:@[EnhancedNullability] V of <root>.MyMap? [fake_override]
|
||||
overridden:
|
||||
public open fun putIfAbsent (p0: @[EnhancedNullability] K of kotlin.collections.AbstractMutableMap, p1: @[EnhancedNullability] V of kotlin.collections.AbstractMutableMap): V of kotlin.collections.AbstractMutableMap? declared in kotlin.collections.AbstractMutableMap
|
||||
public open fun putIfAbsent (p0: @[EnhancedNullability] K of kotlin.collections.AbstractMutableMap, p1: @[EnhancedNullability] V of kotlin.collections.AbstractMutableMap): @[EnhancedNullability] V of kotlin.collections.AbstractMutableMap? declared in kotlin.collections.AbstractMutableMap
|
||||
$this: VALUE_PARAMETER name:<this> type:kotlin.collections.MutableMap<K of <root>.MyMap, V of <root>.MyMap>
|
||||
VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] K of <root>.MyMap
|
||||
VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] V of <root>.MyMap
|
||||
@@ -109,9 +109,9 @@ FILE fqName:<root> fileName:/AbstractMutableMap.kt
|
||||
$this: VALUE_PARAMETER name:<this> type:kotlin.collections.MutableMap<K of <root>.MyMap, V of <root>.MyMap>
|
||||
VALUE_PARAMETER name:key index:0 type:K of <root>.MyMap
|
||||
VALUE_PARAMETER name:value index:1 type:V of <root>.MyMap
|
||||
FUN FAKE_OVERRIDE name:replace visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<K of <root>.MyMap, V of <root>.MyMap>, p0:@[EnhancedNullability] K of <root>.MyMap, p1:@[EnhancedNullability] V of <root>.MyMap) returnType:V of <root>.MyMap? [fake_override]
|
||||
FUN FAKE_OVERRIDE name:replace visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<K of <root>.MyMap, V of <root>.MyMap>, p0:@[EnhancedNullability] K of <root>.MyMap, p1:@[EnhancedNullability] V of <root>.MyMap) returnType:@[EnhancedNullability] V of <root>.MyMap? [fake_override]
|
||||
overridden:
|
||||
public open fun replace (p0: @[EnhancedNullability] K of kotlin.collections.AbstractMutableMap, p1: @[EnhancedNullability] V of kotlin.collections.AbstractMutableMap): V of kotlin.collections.AbstractMutableMap? declared in kotlin.collections.AbstractMutableMap
|
||||
public open fun replace (p0: @[EnhancedNullability] K of kotlin.collections.AbstractMutableMap, p1: @[EnhancedNullability] V of kotlin.collections.AbstractMutableMap): @[EnhancedNullability] V of kotlin.collections.AbstractMutableMap? declared in kotlin.collections.AbstractMutableMap
|
||||
$this: VALUE_PARAMETER name:<this> type:kotlin.collections.MutableMap<K of <root>.MyMap, V of <root>.MyMap>
|
||||
VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] K of <root>.MyMap
|
||||
VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] V of <root>.MyMap
|
||||
|
||||
+24
-24
@@ -21,10 +21,10 @@ class MyMap<K : Any, V : Any> : AbstractMutableMap<K, V> {
|
||||
protected_and_package /* fake */ override fun clone(): Any?
|
||||
|
||||
// CHECK JVM_IR:
|
||||
// Mangled name: MyMap#compute(1:0{EnhancedNullability};java.util.function.BiFunction<in|1:0{EnhancedNullability},in|1:1?,out|1:1?>{EnhancedNullability}){}1:1?
|
||||
// Public signature: /MyMap.compute|8707373617613354757[0]
|
||||
// Public signature debug description: compute(1:0{EnhancedNullability};java.util.function.BiFunction<in|1:0{EnhancedNullability},in|1:1?,out|1:1?>{EnhancedNullability}){}1:1?
|
||||
/* fake */ override fun compute(p0: @EnhancedNullability K, p1: @EnhancedNullability BiFunction<in @EnhancedNullability K, in V?, out V?>): V?
|
||||
// Mangled name: MyMap#compute(1:0{EnhancedNullability};java.util.function.BiFunction<in|1:0{EnhancedNullability},in|1:1?{EnhancedNullability},out|1:1?{EnhancedNullability}>{EnhancedNullability}){}1:1?{EnhancedNullability}
|
||||
// Public signature: /MyMap.compute|4714573429337571093[0]
|
||||
// Public signature debug description: compute(1:0{EnhancedNullability};java.util.function.BiFunction<in|1:0{EnhancedNullability},in|1:1?{EnhancedNullability},out|1:1?{EnhancedNullability}>{EnhancedNullability}){}1:1?{EnhancedNullability}
|
||||
/* fake */ override fun compute(p0: @EnhancedNullability K, p1: @EnhancedNullability BiFunction<in @EnhancedNullability K, in @EnhancedNullability V?, out @EnhancedNullability V?>): @EnhancedNullability V?
|
||||
|
||||
// CHECK JVM_IR:
|
||||
// Mangled name: MyMap#computeIfAbsent(1:0{EnhancedNullability};java.util.function.Function<in|1:0{EnhancedNullability},out|1:1{EnhancedNullability}>{EnhancedNullability}){}1:1{EnhancedNullability}
|
||||
@@ -33,12 +33,12 @@ class MyMap<K : Any, V : Any> : AbstractMutableMap<K, V> {
|
||||
/* fake */ override fun computeIfAbsent(p0: @EnhancedNullability K, p1: @EnhancedNullability Function<in @EnhancedNullability K, out @EnhancedNullability V>): @EnhancedNullability V
|
||||
|
||||
// CHECK JVM_IR:
|
||||
// Mangled name: MyMap#computeIfPresent(1:0{EnhancedNullability};java.util.function.BiFunction<in|1:0{EnhancedNullability},in|1:1,out|1:1?>{EnhancedNullability}){}1:1?
|
||||
// Mangled name for the signature by IR: computeIfPresent(1:0{EnhancedNullability};java.util.function.BiFunction<in|1:0{EnhancedNullability},in|1:1,out|1:1?>{EnhancedNullability}){}1:1?
|
||||
// Mangled name for the signature by Frontend: computeIfPresent(1:0{EnhancedNullability};java.util.function.BiFunction<in|1:0{EnhancedNullability},in|1:1{EnhancedNullability},out|1:1?>{EnhancedNullability}){}1:1?
|
||||
// Public signature: /MyMap.computeIfPresent|-2673672788318360066[0]
|
||||
// Public signature debug description: computeIfPresent(1:0{EnhancedNullability};java.util.function.BiFunction<in|1:0{EnhancedNullability},in|1:1,out|1:1?>{EnhancedNullability}){}1:1?
|
||||
/* fake */ override fun computeIfPresent(p0: @EnhancedNullability K, p1: @EnhancedNullability BiFunction<in @EnhancedNullability K, in V, out V?>): V?
|
||||
// Mangled name: MyMap#computeIfPresent(1:0{EnhancedNullability};java.util.function.BiFunction<in|1:0{EnhancedNullability},in|1:1,out|1:1?{EnhancedNullability}>{EnhancedNullability}){}1:1?{EnhancedNullability}
|
||||
// Mangled name for the signature by IR: computeIfPresent(1:0{EnhancedNullability};java.util.function.BiFunction<in|1:0{EnhancedNullability},in|1:1,out|1:1?{EnhancedNullability}>{EnhancedNullability}){}1:1?{EnhancedNullability}
|
||||
// Mangled name for the signature by Frontend: computeIfPresent(1:0{EnhancedNullability};java.util.function.BiFunction<in|1:0{EnhancedNullability},in|1:1{EnhancedNullability},out|1:1?{EnhancedNullability}>{EnhancedNullability}){}1:1?{EnhancedNullability}
|
||||
// Public signature: /MyMap.computeIfPresent|-1851789104614376895[0]
|
||||
// Public signature debug description: computeIfPresent(1:0{EnhancedNullability};java.util.function.BiFunction<in|1:0{EnhancedNullability},in|1:1,out|1:1?{EnhancedNullability}>{EnhancedNullability}){}1:1?{EnhancedNullability}
|
||||
/* fake */ override fun computeIfPresent(p0: @EnhancedNullability K, p1: @EnhancedNullability BiFunction<in @EnhancedNullability K, in V, out @EnhancedNullability V?>): @EnhancedNullability V?
|
||||
|
||||
// CHECK JVM_IR:
|
||||
// Mangled name: MyMap#containsKey(1:0){}kotlin.Boolean
|
||||
@@ -83,12 +83,12 @@ class MyMap<K : Any, V : Any> : AbstractMutableMap<K, V> {
|
||||
/* fake */ override fun isEmpty(): Boolean
|
||||
|
||||
// CHECK JVM_IR:
|
||||
// Mangled name: MyMap#merge(1:0{EnhancedNullability};1:1{EnhancedNullability};java.util.function.BiFunction<in|1:1,in|1:1,out|1:1?>{EnhancedNullability}){}1:1?
|
||||
// Mangled name for the signature by IR: merge(1:0{EnhancedNullability};1:1{EnhancedNullability};java.util.function.BiFunction<in|1:1,in|1:1,out|1:1?>{EnhancedNullability}){}1:1?
|
||||
// Mangled name for the signature by Frontend: merge(1:0{EnhancedNullability};1:1{EnhancedNullability};java.util.function.BiFunction<in|1:1{EnhancedNullability},in|1:1{EnhancedNullability},out|1:1?>{EnhancedNullability}){}1:1?
|
||||
// Public signature: /MyMap.merge|5136195963180492586[0]
|
||||
// Public signature debug description: merge(1:0{EnhancedNullability};1:1{EnhancedNullability};java.util.function.BiFunction<in|1:1,in|1:1,out|1:1?>{EnhancedNullability}){}1:1?
|
||||
/* fake */ override fun merge(p0: @EnhancedNullability K, p1: @EnhancedNullability (V & Any), p2: @EnhancedNullability BiFunction<in V, in V, out V?>): V?
|
||||
// Mangled name: MyMap#merge(1:0{EnhancedNullability};1:1{EnhancedNullability};java.util.function.BiFunction<in|1:1,in|1:1,out|1:1?{EnhancedNullability}>{EnhancedNullability}){}1:1?{EnhancedNullability}
|
||||
// Mangled name for the signature by IR: merge(1:0{EnhancedNullability};1:1{EnhancedNullability};java.util.function.BiFunction<in|1:1,in|1:1,out|1:1?{EnhancedNullability}>{EnhancedNullability}){}1:1?{EnhancedNullability}
|
||||
// Mangled name for the signature by Frontend: merge(1:0{EnhancedNullability};1:1{EnhancedNullability};java.util.function.BiFunction<in|1:1{EnhancedNullability},in|1:1{EnhancedNullability},out|1:1?{EnhancedNullability}>{EnhancedNullability}){}1:1?{EnhancedNullability}
|
||||
// Public signature: /MyMap.merge|8399995756928830847[0]
|
||||
// Public signature debug description: merge(1:0{EnhancedNullability};1:1{EnhancedNullability};java.util.function.BiFunction<in|1:1,in|1:1,out|1:1?{EnhancedNullability}>{EnhancedNullability}){}1:1?{EnhancedNullability}
|
||||
/* fake */ override fun merge(p0: @EnhancedNullability K, p1: @EnhancedNullability (V & Any), p2: @EnhancedNullability BiFunction<in V, in V, out @EnhancedNullability V?>): @EnhancedNullability V?
|
||||
|
||||
// CHECK:
|
||||
// Mangled name: MyMap#putAll(kotlin.collections.Map<out|1:0,1:1>){}
|
||||
@@ -97,10 +97,10 @@ class MyMap<K : Any, V : Any> : AbstractMutableMap<K, V> {
|
||||
/* fake */ override fun putAll(from: Map<out K, V>): Unit
|
||||
|
||||
// CHECK JVM_IR:
|
||||
// Mangled name: MyMap#putIfAbsent(1:0{EnhancedNullability};1:1{EnhancedNullability}){}1:1?
|
||||
// Public signature: /MyMap.putIfAbsent|-8436525025860060266[0]
|
||||
// Public signature debug description: putIfAbsent(1:0{EnhancedNullability};1:1{EnhancedNullability}){}1:1?
|
||||
/* fake */ override fun putIfAbsent(p0: @EnhancedNullability K, p1: @EnhancedNullability V): V?
|
||||
// Mangled name: MyMap#putIfAbsent(1:0{EnhancedNullability};1:1{EnhancedNullability}){}1:1?{EnhancedNullability}
|
||||
// Public signature: /MyMap.putIfAbsent|-6480034727897367684[0]
|
||||
// Public signature debug description: putIfAbsent(1:0{EnhancedNullability};1:1{EnhancedNullability}){}1:1?{EnhancedNullability}
|
||||
/* fake */ override fun putIfAbsent(p0: @EnhancedNullability K, p1: @EnhancedNullability V): @EnhancedNullability V?
|
||||
|
||||
// CHECK JVM_IR:
|
||||
// Mangled name: MyMap#remove(1:0){}1:1?
|
||||
@@ -109,10 +109,10 @@ class MyMap<K : Any, V : Any> : AbstractMutableMap<K, V> {
|
||||
/* fake */ override fun remove(key: K): V?
|
||||
|
||||
// CHECK JVM_IR:
|
||||
// Mangled name: MyMap#replace(1:0{EnhancedNullability};1:1{EnhancedNullability}){}1:1?
|
||||
// Public signature: /MyMap.replace|5602916868878322979[0]
|
||||
// Public signature debug description: replace(1:0{EnhancedNullability};1:1{EnhancedNullability}){}1:1?
|
||||
/* fake */ override fun replace(p0: @EnhancedNullability K, p1: @EnhancedNullability V): V?
|
||||
// Mangled name: MyMap#replace(1:0{EnhancedNullability};1:1{EnhancedNullability}){}1:1?{EnhancedNullability}
|
||||
// Public signature: /MyMap.replace|2326634020395552533[0]
|
||||
// Public signature debug description: replace(1:0{EnhancedNullability};1:1{EnhancedNullability}){}1:1?{EnhancedNullability}
|
||||
/* fake */ override fun replace(p0: @EnhancedNullability K, p1: @EnhancedNullability V): @EnhancedNullability V?
|
||||
|
||||
// CHECK JVM_IR:
|
||||
// Mangled name: MyMap#replace(1:0{EnhancedNullability};1:1{EnhancedNullability};1:1{EnhancedNullability}){}kotlin.Boolean
|
||||
|
||||
@@ -51,11 +51,11 @@ FILE fqName:<root> fileName:/ArrayListOverrides.kt
|
||||
public open fun ensureCapacity (p0: kotlin.Int): kotlin.Unit declared in java.util.ArrayList
|
||||
$this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<kotlin.String>
|
||||
VALUE_PARAMETER name:p0 index:0 type:kotlin.Int
|
||||
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.String?>, p0:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
|
||||
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.String?>, p0:@[EnhancedNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
|
||||
overridden:
|
||||
public open fun equals (p0: kotlin.Any?): kotlin.Boolean declared in java.util.ArrayList
|
||||
public open fun equals (p0: @[EnhancedNullability] kotlin.Any?): kotlin.Boolean declared in java.util.ArrayList
|
||||
$this: VALUE_PARAMETER name:<this> type:java.util.AbstractList<@[FlexibleNullability] kotlin.String?>
|
||||
VALUE_PARAMETER name:p0 index:0 type:kotlin.Any?
|
||||
VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Any?
|
||||
FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:java.util.ArrayList<kotlin.String>, p0:@[FlexibleNullability] java.util.function.Consumer<in @[FlexibleNullability] kotlin.String?>?) returnType:kotlin.Unit [fake_override]
|
||||
overridden:
|
||||
public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer<in @[FlexibleNullability] E of java.util.ArrayList?>?): kotlin.Unit declared in java.util.ArrayList
|
||||
@@ -240,11 +240,11 @@ FILE fqName:<root> fileName:/ArrayListOverrides.kt
|
||||
public open fun ensureCapacity (p0: kotlin.Int): kotlin.Unit declared in java.util.ArrayList
|
||||
$this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<kotlin.String>
|
||||
VALUE_PARAMETER name:p0 index:0 type:kotlin.Int
|
||||
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.String?>, p0:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
|
||||
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.String?>, p0:@[EnhancedNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
|
||||
overridden:
|
||||
public open fun equals (p0: kotlin.Any?): kotlin.Boolean declared in java.util.ArrayList
|
||||
public open fun equals (p0: @[EnhancedNullability] kotlin.Any?): kotlin.Boolean declared in java.util.ArrayList
|
||||
$this: VALUE_PARAMETER name:<this> type:java.util.AbstractList<@[FlexibleNullability] kotlin.String?>
|
||||
VALUE_PARAMETER name:p0 index:0 type:kotlin.Any?
|
||||
VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Any?
|
||||
FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:java.util.ArrayList<kotlin.String>, p0:@[FlexibleNullability] java.util.function.Consumer<in @[FlexibleNullability] kotlin.String?>?) returnType:kotlin.Unit [fake_override]
|
||||
overridden:
|
||||
public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer<in @[FlexibleNullability] E of java.util.ArrayList?>?): kotlin.Unit declared in java.util.ArrayList
|
||||
|
||||
@@ -63,10 +63,10 @@ class A1 : ArrayList<String> {
|
||||
/* fake */ override fun ensureCapacity(p0: Int): Unit
|
||||
|
||||
// CHECK JVM_IR:
|
||||
// Mangled name: A1#equals(kotlin.Any?){}kotlin.Boolean
|
||||
// Public signature: /A1.equals|722809408929142791[0]
|
||||
// Public signature debug description: equals(kotlin.Any?){}kotlin.Boolean
|
||||
/* fake */ override operator fun equals(p0: Any?): Boolean
|
||||
// Mangled name: A1#equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean
|
||||
// Public signature: /A1.equals|4126616015386471185[0]
|
||||
// Public signature debug description: equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean
|
||||
/* fake */ override operator fun equals(p0: @EnhancedNullability Any?): Boolean
|
||||
|
||||
// CHECK:
|
||||
// Mangled name: A1#forEach(java.util.function.Consumer<in|kotlin.String?>?){}
|
||||
@@ -302,10 +302,10 @@ class A2 : ArrayList<String> {
|
||||
/* fake */ override fun ensureCapacity(p0: Int): Unit
|
||||
|
||||
// CHECK JVM_IR:
|
||||
// Mangled name: A2#equals(kotlin.Any?){}kotlin.Boolean
|
||||
// Public signature: /A2.equals|722809408929142791[0]
|
||||
// Public signature debug description: equals(kotlin.Any?){}kotlin.Boolean
|
||||
/* fake */ override operator fun equals(p0: Any?): Boolean
|
||||
// Mangled name: A2#equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean
|
||||
// Public signature: /A2.equals|4126616015386471185[0]
|
||||
// Public signature debug description: equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean
|
||||
/* fake */ override operator fun equals(p0: @EnhancedNullability Any?): Boolean
|
||||
|
||||
// CHECK:
|
||||
// Mangled name: A2#forEach(java.util.function.Consumer<in|kotlin.String?>?){}
|
||||
@@ -475,3 +475,4 @@ class A2 : ArrayList<String> {
|
||||
/* fake */ override get(): Int
|
||||
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -153,7 +153,7 @@ FILE fqName:<root> fileName:/ClashResolutionDescriptor.kt
|
||||
BLOCK type=kotlin.collections.Collection<<root>.ComponentDescriptor> origin=ELVIS
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_1 type:kotlin.collections.Collection<<root>.ComponentDescriptor>? [val]
|
||||
TYPE_OP type=kotlin.collections.Collection<<root>.ComponentDescriptor>? origin=SAFE_CAST typeOperand=kotlin.collections.Collection<<root>.ComponentDescriptor>
|
||||
CALL 'public open fun get (p0: @[EnhancedNullability] K of java.util.HashMap): V of java.util.HashMap? declared in java.util.HashMap' type=kotlin.Any? origin=GET_ARRAY_ELEMENT
|
||||
CALL 'public open fun get (p0: @[EnhancedNullability] K of java.util.HashMap): @[EnhancedNullability] V of java.util.HashMap? declared in java.util.HashMap' type=@[EnhancedNullability] kotlin.Any? origin=GET_ARRAY_ELEMENT
|
||||
$this: CALL 'private final fun <get-registrationMap> (): java.util.HashMap<java.lang.reflect.Type, kotlin.Any> declared in <root>' type=java.util.HashMap<java.lang.reflect.Type, kotlin.Any> origin=GET_PROPERTY
|
||||
p0: CALL 'public final fun <get-applicableTo> (): java.lang.Class<E of <root>.PlatformExtensionsClashResolver> declared in <root>.PlatformExtensionsClashResolver' type=java.lang.Class<out <root>.PlatformSpecificExtension<*>> origin=GET_PROPERTY
|
||||
$this: GET_VAR 'val resolver: <root>.PlatformExtensionsClashResolver<*> declared in <root>.resolveClashesIfAny' type=<root>.PlatformExtensionsClashResolver<*> origin=null
|
||||
|
||||
@@ -346,7 +346,7 @@ FILE fqName:<root> fileName:/MultiList.kt
|
||||
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
|
||||
overridden:
|
||||
public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in <root>.MyList
|
||||
public open fun equals (p0: kotlin.Any?): kotlin.Boolean declared in java.util.ArrayList
|
||||
public open fun equals (p0: @[EnhancedNullability] kotlin.Any?): kotlin.Boolean declared in java.util.ArrayList
|
||||
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
|
||||
VALUE_PARAMETER name:other index:0 type:kotlin.Any?
|
||||
FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Iterable<<root>.Some<T of <root>.SomeList>>, p0:@[FlexibleNullability] java.util.function.Consumer<in @[FlexibleNullability] <root>.Some<T of <root>.SomeList>?>?) returnType:kotlin.Unit [fake_override]
|
||||
|
||||
@@ -1,35 +0,0 @@
|
||||
FILE fqName:<root> fileName:/putIfAbsent.kt
|
||||
CLASS CLASS name:Owner modality:FINAL visibility:public superTypes:[kotlin.Any]
|
||||
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Owner
|
||||
CONSTRUCTOR visibility:public <> () returnType:<root>.Owner [primary]
|
||||
BLOCK_BODY
|
||||
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () declared in kotlin.Any'
|
||||
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Owner modality:FINAL visibility:public superTypes:[kotlin.Any]'
|
||||
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
|
||||
overridden:
|
||||
public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any
|
||||
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
|
||||
VALUE_PARAMETER name:other index:0 type:kotlin.Any?
|
||||
FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override]
|
||||
overridden:
|
||||
public open fun hashCode (): kotlin.Int declared in kotlin.Any
|
||||
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
|
||||
FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override]
|
||||
overridden:
|
||||
public open fun toString (): kotlin.String declared in kotlin.Any
|
||||
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
|
||||
FUN name:foo visibility:public modality:FINAL <T> ($this:<root>.Owner, x:T of <root>.Owner.foo, y:T of <root>.Owner.foo) returnType:kotlin.Unit
|
||||
TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false
|
||||
$this: VALUE_PARAMETER name:<this> type:<root>.Owner
|
||||
VALUE_PARAMETER name:x index:0 type:T of <root>.Owner.foo
|
||||
VALUE_PARAMETER name:y index:1 type:T of <root>.Owner.foo
|
||||
BLOCK_BODY
|
||||
VAR name:map type:kotlin.collections.MutableMap<T of <root>.Owner.foo, T of <root>.Owner.foo> [val]
|
||||
CALL 'public final fun mutableMapOf <K, V> (): kotlin.collections.MutableMap<K of kotlin.collections.mutableMapOf, V of kotlin.collections.mutableMapOf> declared in kotlin.collections' type=kotlin.collections.MutableMap<T of <root>.Owner.foo, T of <root>.Owner.foo> origin=null
|
||||
<K>: T of <root>.Owner.foo
|
||||
<V>: T of <root>.Owner.foo
|
||||
TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
|
||||
CALL 'public open fun putIfAbsent (p0: @[EnhancedNullability] K of kotlin.collections.MutableMap, p1: @[EnhancedNullability] V of kotlin.collections.MutableMap): V of kotlin.collections.MutableMap? declared in kotlin.collections.MutableMap' type=T of <root>.Owner.foo? origin=null
|
||||
$this: GET_VAR 'val map: kotlin.collections.MutableMap<T of <root>.Owner.foo, T of <root>.Owner.foo> declared in <root>.Owner.foo' type=kotlin.collections.MutableMap<T of <root>.Owner.foo, T of <root>.Owner.foo> origin=null
|
||||
p0: GET_VAR 'x: T of <root>.Owner.foo declared in <root>.Owner.foo' type=T of <root>.Owner.foo origin=null
|
||||
p1: GET_VAR 'y: T of <root>.Owner.foo declared in <root>.Owner.foo' type=T of <root>.Owner.foo origin=null
|
||||
@@ -1,13 +0,0 @@
|
||||
class Owner {
|
||||
constructor() /* primary */ {
|
||||
super/*Any*/()
|
||||
/* <init>() */
|
||||
|
||||
}
|
||||
|
||||
fun <T : Any?> foo(x: T, y: T) {
|
||||
val map: MutableMap<T, T> = mutableMapOf<T, T>()
|
||||
map.putIfAbsent(p0 = x, p1 = y) /*~> Unit */
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,3 +1,4 @@
|
||||
// FIR_IDENTICAL
|
||||
// TARGET_BACKEND: JVM
|
||||
// WITH_STDLIB
|
||||
// FULL_JDK
|
||||
|
||||
Reference in New Issue
Block a user