[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:
Dmitriy Novozhilov
2024-02-16 15:24:02 +02:00
committed by Space Team
parent da567e54b9
commit bd66b96f8a
45 changed files with 208 additions and 235 deletions
@@ -1086,7 +1086,7 @@ KtFunctionSymbol:
returnType: KtUsualClassType:
annotationsList: []
ownTypeArguments: []
type: kotlin/Any?
type: @EnhancedNullability kotlin/Any?
symbolKind: LOCAL
typeParameters: []
getContainingFileSymbol: null
@@ -3,9 +3,9 @@
}
public open class NonNullNever : R|kotlin/Any| {
@R|javax/annotation/Nonnull|(when = R|javax/annotation/meta/When.NEVER|) public open field field: R|kotlin/String?|
@R|javax/annotation/Nonnull|(when = R|javax/annotation/meta/When.NEVER|) public open field field: R|@EnhancedNullability kotlin/String?|
@R|MyNullable|() public open fun foo(@R|javax/annotation/Nonnull|(when = R|javax/annotation/meta/When.NEVER|) x: R|kotlin/String?|, @R|MyNullable|() y: R|Enhanced for warning(kotlin/CharSequence?) kotlin/CharSequence!|): R|Enhanced for warning(kotlin/String?) kotlin/String!|
@R|MyNullable|() public open fun foo(@R|javax/annotation/Nonnull|(when = R|javax/annotation/meta/When.NEVER|) x: R|@EnhancedNullability kotlin/String?|, @R|MyNullable|() y: R|Enhanced for warning(kotlin/CharSequence?) kotlin/CharSequence!|): R|Enhanced for warning(kotlin/String?) kotlin/String!|
public constructor(): R|NonNullNever|
@@ -1,7 +1,7 @@
public open class Simple : R|kotlin/Any| {
@R|javax/annotation/Nullable|() public open field field: R|kotlin/String?|
@R|javax/annotation/Nullable|() public open field field: R|@EnhancedNullability kotlin/String?|
@R|javax/annotation/Nullable|() public open fun foo(@R|javax/annotation/Nonnull|() x: R|@EnhancedNullability kotlin/String|, @R|javax/annotation/CheckForNull|() y: R|kotlin/CharSequence?|): R|kotlin/String?|
@R|javax/annotation/Nullable|() public open fun foo(@R|javax/annotation/Nonnull|() x: R|@EnhancedNullability kotlin/String|, @R|javax/annotation/CheckForNull|() y: R|@EnhancedNullability kotlin/CharSequence?|): R|@EnhancedNullability kotlin/String?|
@R|javax/annotation/Nonnull|() public open fun bar(): R|@EnhancedNullability kotlin/String|
@@ -1,7 +1,7 @@
public open class Strange : R|kotlin/Any| {
@R|javax/annotation/Nonnull|(when = R|javax/annotation/meta/When.UNKNOWN|) public open field field: R|kotlin/String!|
@R|javax/annotation/Nonnull|(when = R|javax/annotation/meta/When.MAYBE|) public open fun foo(@R|javax/annotation/Nonnull|(when = R|javax/annotation/meta/When.ALWAYS|) x: R|@EnhancedNullability kotlin/String|, @R|javax/annotation/Nonnull|(when = R|javax/annotation/meta/When.NEVER|) y: R|kotlin/CharSequence?|): R|kotlin/String?|
@R|javax/annotation/Nonnull|(when = R|javax/annotation/meta/When.MAYBE|) public open fun foo(@R|javax/annotation/Nonnull|(when = R|javax/annotation/meta/When.ALWAYS|) x: R|@EnhancedNullability kotlin/String|, @R|javax/annotation/Nonnull|(when = R|javax/annotation/meta/When.NEVER|) y: R|@EnhancedNullability kotlin/CharSequence?|): R|@EnhancedNullability kotlin/String?|
@R|javax/annotation/Nonnull|() public open fun bar(): R|@EnhancedNullability kotlin/String|
@@ -3,7 +3,7 @@
@R|javax/annotation/Nonnull|() public open field nonNullField: R|@EnhancedNullability kotlin/String|
public open fun foo(q: R|kotlin/String!|, @R|javax/annotation/Nonnull|() x: R|@EnhancedNullability kotlin/String|, @R|javax/annotation/CheckForNull|() y: R|kotlin/CharSequence?|): R|kotlin/String!|
public open fun foo(q: R|kotlin/String!|, @R|javax/annotation/Nonnull|() x: R|@EnhancedNullability kotlin/String|, @R|javax/annotation/CheckForNull|() y: R|@EnhancedNullability kotlin/CharSequence?|): R|kotlin/String!|
@R|javax/annotation/Nonnull|() public open fun bar(): R|@EnhancedNullability kotlin/String|
@@ -5,9 +5,9 @@
public open fun foo3(x: R|Enhanced for warning(@EnhancedNullability kotlin/String) kotlin/String!|): R|Enhanced for warning(@EnhancedNullability kotlin/String) kotlin/String!|
@R|javax/annotation/Nullable|() public open fun bar1(@R|javax/annotation/Nullable|() x: R|kotlin/String?|): R|kotlin/String?|
@R|javax/annotation/Nullable|() public open fun bar1(@R|javax/annotation/Nullable|() x: R|@EnhancedNullability kotlin/String?|): R|@EnhancedNullability kotlin/String?|
@R|javax/annotation/Nullable|() public open fun bar2(@R|javax/annotation/Nullable|() x: R|kotlin/String?|): R|kotlin/String?|
@R|javax/annotation/Nullable|() public open fun bar2(@R|javax/annotation/Nullable|() x: R|@EnhancedNullability kotlin/String?|): R|@EnhancedNullability kotlin/String?|
public open fun baz(@R|javax/annotation/Nonnull|() x: R|@EnhancedNullability kotlin/String|): R|Enhanced for warning(@EnhancedNullability kotlin/String) kotlin/String!|
@@ -21,9 +21,9 @@
public abstract fun foo3(x: R|Enhanced for warning(@EnhancedNullability kotlin/String) kotlin/String!|): R|Enhanced for warning(@EnhancedNullability kotlin/CharSequence) kotlin/CharSequence!|
@R|javax/annotation/Nullable|() public abstract fun bar1(@R|javax/annotation/Nullable|() x: R|kotlin/String?|): R|kotlin/CharSequence?|
@R|javax/annotation/Nullable|() public abstract fun bar1(@R|javax/annotation/Nullable|() x: R|@EnhancedNullability kotlin/String?|): R|@EnhancedNullability kotlin/CharSequence?|
@R|javax/annotation/Nullable|() public abstract fun bar2(@R|javax/annotation/Nullable|() x: R|kotlin/String?|): R|kotlin/CharSequence?|
@R|javax/annotation/Nullable|() public abstract fun bar2(@R|javax/annotation/Nullable|() x: R|@EnhancedNullability kotlin/String?|): R|@EnhancedNullability kotlin/CharSequence?|
public abstract fun baz(@R|javax/annotation/Nonnull|() x: R|@EnhancedNullability kotlin/String|): R|Enhanced for warning(@EnhancedNullability kotlin/CharSequence) kotlin/CharSequence!|
@@ -33,7 +33,7 @@
@R|javax/annotation/Nonnull|() public open fun foo2(@R|javax/annotation/Nonnull|() x: R|@EnhancedNullability kotlin/String|): R|@EnhancedNullability kotlin/String|
public open fun bar1(x: R|kotlin/String?|): R|kotlin/String?|
public open fun bar1(x: R|@EnhancedNullability kotlin/String?|): R|@EnhancedNullability kotlin/String?|
public open fun baz(x: R|@EnhancedNullability kotlin/String|): R|Enhanced for warning(kotlin/String?) kotlin/String!|
@@ -45,9 +45,9 @@
public open fun foo2(@R|javax/annotation/Nonnull|() x: R|@EnhancedNullability kotlin/String|): R|Enhanced for warning(@EnhancedNullability kotlin/String) kotlin/String!|
public open fun bar1(x: R|kotlin/String?|): R|kotlin/String?|
public open fun bar1(x: R|@EnhancedNullability kotlin/String?|): R|@EnhancedNullability kotlin/String?|
@R|javax/annotation/Nullable|() public open fun bar2(@R|javax/annotation/Nullable|() x: R|kotlin/String?|): R|kotlin/String?|
@R|javax/annotation/Nullable|() public open fun bar2(@R|javax/annotation/Nullable|() x: R|@EnhancedNullability kotlin/String?|): R|@EnhancedNullability kotlin/String?|
public open fun baz(x: R|@EnhancedNullability kotlin/String|): R|Enhanced for warning(@EnhancedNullability kotlin/String) kotlin/String!|
@@ -1,7 +1,7 @@
@R|NonNullApi|() public open class A : R|kotlin/Any| {
public open field field: R|Enhanced for warning(@EnhancedNullability kotlin/String) kotlin/String!|
public open fun foo(x: R|Enhanced for warning(@EnhancedNullability kotlin/String) kotlin/String!|, @R|javax/annotation/CheckForNull|() y: R|kotlin/CharSequence?|): R|Enhanced for warning(@EnhancedNullability kotlin/String) kotlin/String!|
public open fun foo(x: R|Enhanced for warning(@EnhancedNullability kotlin/String) kotlin/String!|, @R|javax/annotation/CheckForNull|() y: R|@EnhancedNullability kotlin/CharSequence?|): R|Enhanced for warning(@EnhancedNullability kotlin/String) kotlin/String!|
@R|NullableApi|() public open fun foobar(x: R|Enhanced for warning(kotlin/String?) kotlin/String!|, @R|NonNullApi|() y: R|Enhanced for warning(@EnhancedNullability kotlin/CharSequence) kotlin/CharSequence!|): R|Enhanced for warning(kotlin/String?) kotlin/String!|
@@ -28,9 +28,9 @@
@R|FieldsAreNullable|() public open inner class C : R|kotlin/Any| {
public open field field: R|Enhanced for warning(kotlin/String?) kotlin/String!|
public open fun foo(x: R|Enhanced for warning(@EnhancedNullability kotlin/String) kotlin/String!|, @R|javax/annotation/Nullable|() y: R|kotlin/CharSequence?|): R|Enhanced for warning(@EnhancedNullability kotlin/String) kotlin/String!|
public open fun foo(x: R|Enhanced for warning(@EnhancedNullability kotlin/String) kotlin/String!|, @R|javax/annotation/Nullable|() y: R|@EnhancedNullability kotlin/CharSequence?|): R|Enhanced for warning(@EnhancedNullability kotlin/String) kotlin/String!|
@R|NullableApi|() public open fun foobar(x: R|Enhanced for warning(kotlin/String?) kotlin/String!|, @R|javax/annotation/Nullable|() y: R|kotlin/CharSequence?|): R|Enhanced for warning(kotlin/String?) kotlin/String!|
@R|NullableApi|() public open fun foobar(x: R|Enhanced for warning(kotlin/String?) kotlin/String!|, @R|javax/annotation/Nullable|() y: R|@EnhancedNullability kotlin/CharSequence?|): R|Enhanced for warning(kotlin/String?) kotlin/String!|
public open fun bar(): R|Enhanced for warning(@EnhancedNullability kotlin/String) kotlin/String!|
@@ -1,7 +1,7 @@
@R|javax/annotation/ParametersAreNonnullByDefault|() public open class A : R|kotlin/Any| {
@R|javax/annotation/Nullable|() public open field field: R|kotlin/String?|
@R|javax/annotation/Nullable|() public open field field: R|@EnhancedNullability kotlin/String?|
public open fun foo(q: R|Enhanced for warning(@EnhancedNullability kotlin/String) kotlin/String!|, @R|javax/annotation/Nonnull|() x: R|@EnhancedNullability kotlin/String|, @R|javax/annotation/CheckForNull|() y: R|kotlin/CharSequence?|): R|kotlin/String!|
public open fun foo(q: R|Enhanced for warning(@EnhancedNullability kotlin/String) kotlin/String!|, @R|javax/annotation/Nonnull|() x: R|@EnhancedNullability kotlin/String|, @R|javax/annotation/CheckForNull|() y: R|@EnhancedNullability kotlin/CharSequence?|): R|kotlin/String!|
@R|javax/annotation/Nonnull|() public open fun bar(): R|@EnhancedNullability kotlin/String|
@@ -1,7 +1,7 @@
public open class A : R|kotlin/Any| {
@R|javax/annotation/Nullable|() public open field field: R|kotlin/String?|
@R|javax/annotation/Nullable|() public open field field: R|@EnhancedNullability kotlin/String?|
public open fun foo(q: R|Enhanced for warning(@EnhancedNullability kotlin/String) kotlin/String!|, @R|javax/annotation/Nonnull|() x: R|@EnhancedNullability kotlin/String|, @R|javax/annotation/CheckForNull|() y: R|kotlin/CharSequence?|): R|kotlin/String!|
public open fun foo(q: R|Enhanced for warning(@EnhancedNullability kotlin/String) kotlin/String!|, @R|javax/annotation/Nonnull|() x: R|@EnhancedNullability kotlin/String|, @R|javax/annotation/CheckForNull|() y: R|@EnhancedNullability kotlin/CharSequence?|): R|kotlin/String!|
@R|javax/annotation/Nonnull|() public open fun bar(): R|@EnhancedNullability kotlin/String|
@@ -9,9 +9,9 @@ public open class A : R|kotlin/Any| {
}
public open class A2 : R|kotlin/Any| {
@R|javax/annotation/Nullable|() public open field field: R|kotlin/String?|
@R|javax/annotation/Nullable|() public open field field: R|@EnhancedNullability kotlin/String?|
public open fun foo(q: R|kotlin/String!|, @R|javax/annotation/Nonnull|() x: R|@EnhancedNullability kotlin/String|, @R|javax/annotation/CheckForNull|() y: R|kotlin/CharSequence?|): R|kotlin/String!|
public open fun foo(q: R|kotlin/String!|, @R|javax/annotation/Nonnull|() x: R|@EnhancedNullability kotlin/String|, @R|javax/annotation/CheckForNull|() y: R|@EnhancedNullability kotlin/CharSequence?|): R|kotlin/String!|
@R|javax/annotation/Nonnull|() public open fun bar(): R|@EnhancedNullability kotlin/String|
@@ -6,6 +6,6 @@ FILE: main.kt
R|<local>/map|.R|SubstitutionOverride</SomeMap.containsValue: R|kotlin/Boolean|><Inapplicable(INAPPLICABLE): /SomeMap.containsValue>#|(Int(1))
R|<local>/map|.R|SubstitutionOverride</SomeMap.get: R|kotlin/String?|>|(Int(1))
R|<local>/map|.R|SubstitutionOverride</SomeMap.get: R|kotlin/String?|><Inapplicable(INAPPLICABLE): /SomeMap.get>#|(String())
R|<local>/map|.R|SubstitutionOverride</SomeMap.remove: R|kotlin/String?|>|(Int(1))
R|<local>/map|.R|SubstitutionOverride</SomeMap.remove: R|kotlin/String?|><Inapplicable(INAPPLICABLE): /SomeMap.remove>#|(String())
R|<local>/map|.R|SubstitutionOverride</SomeMap.remove: R|@EnhancedNullability kotlin/String?|>|(Int(1))
R|<local>/map|.R|SubstitutionOverride</SomeMap.remove: R|@EnhancedNullability kotlin/String?|><Inapplicable(INAPPLICABLE): /SomeMap.remove>#|(String())
}
@@ -22,7 +22,7 @@ SomeMap:
[Library]: public abstract operator fun get(key: R|K|): R|V?| from Use site scope of kotlin/collections/Map [id: 3]
[SubstitutionOverride(DeclarationSite)]: public abstract override operator fun get(key: R|ft<K3 & Any, K3?>|): R|ft<V3 & Any, V3?>| from Substitution scope for [Java enhancement scope for /MyMap] for type SomeMap<K3, V3> [id: 4]
[Enhancement]: public abstract operator fun get(key: R|ft<K2 & Any, K2?>|): R|ft<V2 & Any, V2?>| from Java enhancement scope for /MyMap [id: 5]
[Enhancement]: public abstract fun remove(key: R|ft<K3 & Any, K3?>|): R|V3?| from Java enhancement scope for /SomeMap [id: 0]
[Enhancement]: public abstract fun remove(key: R|ft<K3 & Any, K3?>|): R|@EnhancedNullability V3?| from Java enhancement scope for /SomeMap [id: 0]
[SubstitutionOverride(DeclarationSite)]: public abstract override fun remove(key: R|ft<K3 & Any, K3?>|): R|V3?| from Substitution scope for [Use site scope of kotlin/collections/MutableMap] for type SomeMap<K3, V3> [id: 1]
[Library]: public abstract fun remove(key: R|K|): R|V?| from Use site scope of kotlin/collections/MutableMap [id: 2]
[SubstitutionOverride(DeclarationSite)]: public open override fun remove(key: R|ft<K3 & Any, K3?>|, value: R|ft<V3 & Any, V3?>|): R|kotlin/Boolean| from Java enhancement scope for /SomeMap [id: 0]
@@ -9,7 +9,7 @@ FILE: concurrentMapOfAliases.kt
private get(): R|java/util/concurrent/ConcurrentHashMap<kotlin/String, kotlin/CharSequence>|
private final fun bar(): R|kotlin/Unit| {
this@R|/A|.R|/A.foo|.R|SubstitutionOverride<java/util/concurrent/ConcurrentHashMap.get: R|kotlin/CharSequence?|>|(String(dd))?.{ (this@R|/A|, $subj$).R|/A.baz|() }
this@R|/A|.R|/A.foo|.R|SubstitutionOverride<java/util/concurrent/ConcurrentHashMap.get: R|@EnhancedNullability kotlin/CharSequence?|>|(String(dd))?.{ (this@R|/A|, $subj$).R|/A.baz|() }
}
private final fun R|MyAlias|.baz(): R|kotlin/Unit| {
@@ -1,6 +1,6 @@
FILE: MapCompute.kt
public final fun <D> R|kotlin/collections/MutableMap<kotlin/String, kotlin/collections/MutableSet<D>>|.initAndAdd(key: R|kotlin/String|, value: R|D|): R|kotlin/Unit| {
this@R|/initAndAdd|.R|SubstitutionOverride<kotlin/collections/MutableMap.compute: R|kotlin/collections/MutableSet<D>?|>|(R|<local>/key|, <L> = SAM(compute@fun <anonymous>(<unused var>: R|@EnhancedNullability kotlin/String|, maybeValues: R|@EnhancedNullability kotlin/collections/MutableSet<D>?|): R|@EnhancedNullability kotlin/collections/MutableSet<D>?| <inline=NoInline> {
this@R|/initAndAdd|.R|SubstitutionOverride<kotlin/collections/MutableMap.compute: R|@EnhancedNullability kotlin/collections/MutableSet<D>?|>|(R|<local>/key|, <L> = SAM(compute@fun <anonymous>(<unused var>: R|@EnhancedNullability kotlin/String|, maybeValues: R|@EnhancedNullability kotlin/collections/MutableSet<D>?|): R|@EnhancedNullability kotlin/collections/MutableSet<D>?| <inline=NoInline> {
lval setOfValues: R|kotlin/collections/MutableSet<D>| = R|<local>/maybeValues| ?: R|kotlin/collections/mutableSetOf|<R|D|>()
R|<local>/setOfValues|.R|SubstitutionOverride<kotlin/collections/MutableSet.add: R|kotlin/Boolean|>|(R|<local>/value|)
^ R|<local>/setOfValues|
@@ -5,7 +5,7 @@ FILE: test.kt
}
)
lval otherResult: R|kotlin/String!| = R|<local>/map|.R|SubstitutionOverride</MyMap.getOrDefault: R|kotlin/String!|>|(String(key), String(value))
lval anotherResult: R|kotlin/String?| = R|<local>/map|.R|SubstitutionOverride</MyMap.replace: R|kotlin/String?|>|(String(key), String(value))
lval anotherResult: R|kotlin/String?| = R|<local>/map|.R|SubstitutionOverride</MyMap.replace: R|@EnhancedNullability kotlin/String?|>|(String(key), String(value))
R|<local>/map|.R|SubstitutionOverride</MyMap.forEach: R|kotlin/Unit|>|(<L> = SAM(forEach@fun <anonymous>(key: R|@EnhancedNullability kotlin/String!|, value: R|@EnhancedNullability kotlin/String!|): R|kotlin/Unit| <inline=NoInline> {
R|kotlin/io/println|(<strcat>(R|<local>/key|, String(: ), R|<local>/value|))
R|<local>/key|.R|kotlin/String.length|
@@ -30,7 +30,7 @@ FILE: test.kt
}
)
lval otherResult: R|kotlin/String| = R|<local>/map|.R|SubstitutionOverride<kotlin/collections/MutableMap.getOrDefault: R|kotlin/String|>|(String(key), String(value))
lval anotherResult: R|kotlin/String?| = R|<local>/map|.R|SubstitutionOverride<kotlin/collections/MutableMap.replace: R|kotlin/String?|>|(String(key), String(value))
lval anotherResult: R|kotlin/String?| = R|<local>/map|.R|SubstitutionOverride<kotlin/collections/MutableMap.replace: R|@EnhancedNullability kotlin/String?|>|(String(key), String(value))
R|<local>/map|.R|SubstitutionOverride<kotlin/collections/MutableMap.forEach: R|kotlin/Unit|>|(<L> = SAM(forEach@fun <anonymous>(key: R|@EnhancedNullability kotlin/String|, value: R|@EnhancedNullability kotlin/String|): R|kotlin/Unit| <inline=NoInline> {
R|kotlin/io/println|(<strcat>(R|<local>/key|, String(: ), R|<local>/value|))
R|<local>/key|.R|kotlin/String.length|
@@ -1,6 +1,6 @@
FILE: mapMerge.kt
public final fun foo(x: R|kotlin/collections/MutableMap<kotlin/String, kotlin/collections/List<kotlin/String>>|): R|kotlin/Unit| {
R|<local>/x|.R|SubstitutionOverride<kotlin/collections/MutableMap.merge: R|kotlin/collections/List<kotlin/String>?|>|(String(), R|kotlin/collections/listOf|<R|kotlin/String|>(String()), <L> = SAM(merge@fun <anonymous>(a: R|@EnhancedNullability kotlin/collections/List<kotlin/String>|, b: R|@EnhancedNullability kotlin/collections/List<kotlin/String>|): R|@EnhancedNullability kotlin/collections/List<kotlin/String>?| <inline=NoInline> {
R|<local>/x|.R|SubstitutionOverride<kotlin/collections/MutableMap.merge: R|@EnhancedNullability kotlin/collections/List<kotlin/String>?|>|(String(), R|kotlin/collections/listOf|<R|kotlin/String|>(String()), <L> = SAM(merge@fun <anonymous>(a: R|@EnhancedNullability kotlin/collections/List<kotlin/String>|, b: R|@EnhancedNullability kotlin/collections/List<kotlin/String>|): R|@EnhancedNullability kotlin/collections/List<kotlin/String>?| <inline=NoInline> {
^ R|<local>/a|.R|kotlin/collections/plus|<R|kotlin/String|>(R|<local>/b|)
}
))
@@ -1,5 +1,5 @@
FILE: EnumMapGet.kt
public final typealias SomeEnumMap = R|java/util/EnumMap<kotlin/String, kotlin/String?>|
public final fun test(map: R|SomeEnumMap|, qualifier: R|kotlin/String?|): R|kotlin/Unit| {
lval result: R|kotlin/String?| = R|<local>/map|.R|SubstitutionOverride<java/util/EnumMap.get: R|kotlin/String?|>|(R|<local>/qualifier|)
lval result: R|kotlin/String?| = R|<local>/map|.R|SubstitutionOverride<java/util/EnumMap.get: R|@EnhancedNullability kotlin/String?|>|(R|<local>/qualifier|)
}
@@ -1,5 +1,5 @@
FILE: NamedParameterInConcurrentMap.kt
public final fun main(): R|kotlin/Unit| {
lval map: R|java/util/concurrent/ConcurrentHashMap<kotlin/String, kotlin/String>| = R|java/util/concurrent/ConcurrentHashMap.ConcurrentHashMap|<R|kotlin/String|, R|kotlin/String|>()
R|<local>/map|.R|SubstitutionOverride<java/util/concurrent/ConcurrentHashMap.put: R|kotlin/String?|>|(key = String(key), value = String(value))
R|<local>/map|.R|SubstitutionOverride<java/util/concurrent/ConcurrentHashMap.put: R|@EnhancedNullability kotlin/String?|>|(key = String(key), value = String(value))
}
@@ -2,5 +2,5 @@ FILE: weakHashMap.kt
public final val someMap: R|java/util/WeakHashMap<kotlin/Any?, kotlin/Any?>| = R|java/util/WeakHashMap.WeakHashMap|<R|kotlin/Any?|, R|kotlin/Any?|>()
public get(): R|java/util/WeakHashMap<kotlin/Any?, kotlin/Any?>|
public final fun foo(): R|kotlin/Unit| {
R|/someMap|.R|SubstitutionOverride<java/util/WeakHashMap.get: R|kotlin/Any?|>|(String())
R|/someMap|.R|SubstitutionOverride<java/util/WeakHashMap.get: R|@EnhancedNullability kotlin/Any?|>|(String())
}
@@ -1,5 +1,5 @@
FILE: removeOnAbstractMap.kt
public final fun test(map: R|java/util/AbstractMap<kotlin/String, kotlin/Int>|): R|kotlin/Unit| {
R|<local>/map|.R|SubstitutionOverride<java/util/AbstractMap.remove: R|kotlin/Boolean|>|(String(), Null(null))
R|<local>/map|.R|SubstitutionOverride<java/util/AbstractMap.remove: R|kotlin/Int?|>|(Null(null))
R|<local>/map|.R|SubstitutionOverride<java/util/AbstractMap.remove: R|@EnhancedNullability kotlin/Int?|>|(Null(null))
}
@@ -60,7 +60,11 @@ private fun ConeKotlinType.enhanceConeKotlinType(
when {
lowerResult == null && upperResult == null -> null
this is ConeRawType -> ConeRawType.create(lowerResult ?: lowerBound, upperResult ?: upperBound)
else -> coneFlexibleOrSimpleType(session.typeContext, lowerResult ?: lowerBound, upperResult ?: upperBound)
else -> coneFlexibleOrSimpleType(session.typeContext, lowerResult ?: lowerBound, upperResult ?: upperBound).let {
it.applyIf(it !is ConeFlexibleType) {
it.withAttributes(it.attributes + CompilerConeAttributes.EnhancedNullability)
}
}
}
}
is ConeSimpleKotlinType -> enhanceInflexibleType(
@@ -7,3 +7,9 @@ MODULE main
(x: kotlin/String)
K2
(x: @kotlin/jvm/internal/EnhancedNullability kotlin/String)
FUNCTION takeNullable(Ljava/lang/String;)V
Property: class.metadata.function.valueParameters
K1
(x: kotlin/String?)
K2
(x: @kotlin/jvm/internal/EnhancedNullability kotlin/String?)
@@ -1,6 +1,6 @@
C:
[Enhancement]: public open fun foo(x: R|kotlin/Int?|): R|kotlin/Unit| from Use site scope of /C [id: 0]
[Enhancement]: public open fun foo(x: R|kotlin/Int?|): R|kotlin/Unit| from Java enhancement scope for /A [id: 0]
[Enhancement]: public open fun foo(x: R|@EnhancedNullability kotlin/Int?|): R|kotlin/Unit| from Use site scope of /C [id: 0]
[Enhancement]: public open fun foo(x: R|@EnhancedNullability kotlin/Int?|): R|kotlin/Unit| from Java enhancement scope for /A [id: 0]
[Source]: public open fun foo(x: R|kotlin/Int|): R|kotlin/Unit| from Use site scope of /C [id: 0]
[Source]: public open fun foo(x: R|kotlin/Int|): R|kotlin/Unit| from Use site scope of /B [id: 0]
@@ -29,15 +29,15 @@ FILE fqName:<root> fileName:/delegatedImplementationOfJavaInterface.kt
CALL 'public abstract fun returnNotNull (): @[EnhancedNullability] kotlin.String declared in <root>.J' type=@[EnhancedNullability] kotlin.String origin=null
$this: GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:j type:<root>.J visibility:private [final]' type=<root>.J origin=null
receiver: GET_VAR '<this>: <root>.Test declared in <root>.Test.returnNotNull' type=<root>.Test origin=null
FUN DELEGATED_MEMBER name:returnNullable visibility:public modality:OPEN <> ($this:<root>.Test) returnType:kotlin.String?
FUN DELEGATED_MEMBER name:returnNullable visibility:public modality:OPEN <> ($this:<root>.Test) returnType:@[EnhancedNullability] kotlin.String?
annotations:
Nullable(value = <null>)
overridden:
public abstract fun returnNullable (): kotlin.String? declared in <root>.J
public abstract fun returnNullable (): @[EnhancedNullability] kotlin.String? declared in <root>.J
$this: VALUE_PARAMETER name:<this> type:<root>.Test
BLOCK_BODY
RETURN type=kotlin.Nothing from='public open fun returnNullable (): kotlin.String? declared in <root>.Test'
CALL 'public abstract fun returnNullable (): kotlin.String? declared in <root>.J' type=kotlin.String? origin=null
RETURN type=kotlin.Nothing from='public open fun returnNullable (): @[EnhancedNullability] kotlin.String? declared in <root>.Test'
CALL 'public abstract fun returnNullable (): @[EnhancedNullability] kotlin.String? declared in <root>.J' type=@[EnhancedNullability] kotlin.String? origin=null
$this: GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:j type:<root>.J visibility:private [final]' type=<root>.J origin=null
receiver: GET_VAR '<this>: <root>.Test declared in <root>.Test.returnNullable' type=<root>.Test origin=null
FUN DELEGATED_MEMBER name:returnsFlexible visibility:public modality:OPEN <> ($this:<root>.Test) returnType:@[FlexibleNullability] kotlin.String?
@@ -71,18 +71,18 @@ FILE fqName:<root> fileName:/delegatedImplementationOfJavaInterface.kt
$this: GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:j type:<root>.J visibility:private [final]' type=<root>.J origin=null
receiver: GET_VAR '<this>: <root>.Test declared in <root>.Test.takeNotNull' type=<root>.Test origin=null
x: GET_VAR 'x: @[EnhancedNullability] kotlin.String declared in <root>.Test.takeNotNull' type=@[EnhancedNullability] kotlin.String origin=null
FUN DELEGATED_MEMBER name:takeNullable visibility:public modality:OPEN <> ($this:<root>.Test, x:kotlin.String?) returnType:kotlin.Unit
FUN DELEGATED_MEMBER name:takeNullable visibility:public modality:OPEN <> ($this:<root>.Test, x:@[EnhancedNullability] kotlin.String?) returnType:kotlin.Unit
overridden:
public abstract fun takeNullable (x: kotlin.String?): kotlin.Unit declared in <root>.J
public abstract fun takeNullable (x: @[EnhancedNullability] kotlin.String?): kotlin.Unit declared in <root>.J
$this: VALUE_PARAMETER name:<this> type:<root>.Test
VALUE_PARAMETER name:x index:0 type:kotlin.String?
VALUE_PARAMETER name:x index:0 type:@[EnhancedNullability] kotlin.String?
annotations:
Nullable(value = <null>)
BLOCK_BODY
CALL 'public abstract fun takeNullable (x: kotlin.String?): kotlin.Unit declared in <root>.J' type=kotlin.Unit origin=null
CALL 'public abstract fun takeNullable (x: @[EnhancedNullability] kotlin.String?): kotlin.Unit declared in <root>.J' type=kotlin.Unit origin=null
$this: GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:j type:<root>.J visibility:private [final]' type=<root>.J origin=null
receiver: GET_VAR '<this>: <root>.Test declared in <root>.Test.takeNullable' type=<root>.Test origin=null
x: GET_VAR 'x: kotlin.String? declared in <root>.Test.takeNullable' type=kotlin.String? origin=null
x: GET_VAR 'x: @[EnhancedNullability] kotlin.String? declared in <root>.Test.takeNullable' type=@[EnhancedNullability] kotlin.String? origin=null
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>.J
@@ -15,7 +15,7 @@ class Test : J {
}
@Nullable
override fun returnNullable(): String? {
override fun returnNullable(): @EnhancedNullability String? {
return <this>.#j.returnNullable()
}
@@ -31,7 +31,7 @@ class Test : J {
<this>.#j.takeNotNull(x = x)
}
override fun takeNullable(@Nullable x: String?) {
override fun takeNullable(@Nullable x: @EnhancedNullability String?) {
<this>.#j.takeNullable(x = x)
}
@@ -26,10 +26,10 @@ class Test : J {
override fun returnNotNull(): @EnhancedNullability String
// CHECK JVM_IR:
// Mangled name: Test#returnNullable(){}kotlin.String?
// Public signature: /Test.returnNullable|-8543835017469041188[0]
// Public signature debug description: returnNullable(){}kotlin.String?
override fun returnNullable(): String?
// Mangled name: Test#returnNullable(){}kotlin.String?{EnhancedNullability}
// Public signature: /Test.returnNullable|-404622903433277680[0]
// Public signature debug description: returnNullable(){}kotlin.String?{EnhancedNullability}
override fun returnNullable(): @EnhancedNullability String?
// CHECK JVM_IR:
// Mangled name: Test#returnsFlexible(){}kotlin.String?
@@ -50,9 +50,10 @@ class Test : J {
override fun takeNotNull(x: @EnhancedNullability String): Unit
// CHECK:
// Mangled name: Test#takeNullable(kotlin.String?){}
// Public signature: /Test.takeNullable|5724815424219841897[0]
// Public signature debug description: takeNullable(kotlin.String?){}
override fun takeNullable(x: String?): Unit
// Mangled name: Test#takeNullable(kotlin.String?{EnhancedNullability}){}
// Public signature: /Test.takeNullable|-558980523272297075[0]
// Public signature debug description: takeNullable(kotlin.String?{EnhancedNullability}){}
override fun takeNullable(x: @EnhancedNullability String?): Unit
}
@@ -50,11 +50,11 @@ FILE fqName:<root> fileName:/1.kt
public open fun ensureCapacity (p0: kotlin.Int): kotlin.Unit declared in <root>.Java1
$this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<kotlin.Int>
VALUE_PARAMETER name:p0 index:0 type:kotlin.Int
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>, p0:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>, p0:@[EnhancedNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
overridden:
public open fun equals (p0: kotlin.Any?): kotlin.Boolean declared in <root>.Java1
public open fun equals (p0: @[EnhancedNullability] kotlin.Any?): kotlin.Boolean declared in <root>.Java1
$this: VALUE_PARAMETER name:<this> type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>
VALUE_PARAMETER name:p0 index:0 type:kotlin.Any?
VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Any?
FUN FAKE_OVERRIDE name:get visibility:public modality:OPEN <> ($this:java.util.ArrayList<kotlin.Int>, p0:kotlin.Int) returnType:@[EnhancedNullability] kotlin.Int [fake_override,operator]
overridden:
public open fun get (p0: kotlin.Int): @[EnhancedNullability] kotlin.Int declared in <root>.Java1
@@ -207,11 +207,11 @@ FILE fqName:<root> fileName:/1.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.Int>
VALUE_PARAMETER name:p0 index:0 type:kotlin.Int
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>, p0:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>, 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.Int?>
VALUE_PARAMETER name:p0 index:0 type:kotlin.Any?
VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Any?
FUN FAKE_OVERRIDE name:get visibility:public modality:OPEN <> ($this:java.util.ArrayList<kotlin.Int>, p0:kotlin.Int) returnType:@[EnhancedNullability] kotlin.Int [fake_override,operator]
overridden:
public open fun get (p0: kotlin.Int): @[EnhancedNullability] E of java.util.ArrayList declared in java.util.ArrayList
@@ -63,10 +63,10 @@ class A : Java1 {
/* fake */ override fun ensureCapacity(p0: Int): Unit
// CHECK JVM_IR:
// Mangled name: A#equals(kotlin.Any?){}kotlin.Boolean
// Public signature: /A.equals|722809408929142791[0]
// Public signature debug description: equals(kotlin.Any?){}kotlin.Boolean
/* fake */ override operator fun equals(p0: Any?): Boolean
// Mangled name: A#equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean
// Public signature: /A.equals|4126616015386471185[0]
// Public signature debug description: equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean
/* fake */ override operator fun equals(p0: @EnhancedNullability Any?): Boolean
// CHECK JVM_IR:
// Mangled name: A#get(kotlin.Int){}kotlin.Int{EnhancedNullability}
@@ -260,10 +260,10 @@ open class KotlinClass : ArrayList<Int> {
/* fake */ override fun ensureCapacity(p0: Int): Unit
// CHECK JVM_IR:
// Mangled name: KotlinClass#equals(kotlin.Any?){}kotlin.Boolean
// Public signature: /KotlinClass.equals|722809408929142791[0]
// Public signature debug description: equals(kotlin.Any?){}kotlin.Boolean
/* fake */ override operator fun equals(p0: Any?): Boolean
// Mangled name: KotlinClass#equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean
// Public signature: /KotlinClass.equals|4126616015386471185[0]
// Public signature debug description: equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean
/* fake */ override operator fun equals(p0: @EnhancedNullability Any?): Boolean
// CHECK JVM_IR:
// Mangled name: KotlinClass#get(kotlin.Int){}kotlin.Int{EnhancedNullability}
@@ -391,3 +391,4 @@ open class KotlinClass : ArrayList<Int> {
/* fake */ override get(): Int
}
@@ -3,8 +3,8 @@ FILE fqName:<root> fileName:/exclExclOnPlatformType.kt
BLOCK_BODY
CALL 'public final fun use (a: kotlin.Any): kotlin.Unit declared in <root>' type=kotlin.Unit origin=null
a: CALL 'public final fun CHECK_NOT_NULL <T0> (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.String origin=EXCLEXCL
<T0>: kotlin.String
arg0: CALL 'public open fun get (): T of java.lang.ref.WeakReference? declared in java.lang.ref.WeakReference' type=kotlin.String? origin=null
<T0>: @[EnhancedNullability] kotlin.String
arg0: CALL 'public open fun get (): @[EnhancedNullability] T of java.lang.ref.WeakReference? declared in java.lang.ref.WeakReference' type=@[EnhancedNullability] kotlin.String? origin=null
$this: CONSTRUCTOR_CALL 'public constructor <init> (p0: @[FlexibleNullability] T of java.lang.ref.WeakReference?) declared in java.lang.ref.WeakReference' type=java.lang.ref.WeakReference<@[FlexibleNullability] kotlin.String?> origin=null
<class: T>: @[FlexibleNullability] kotlin.String?
p0: CONST String type=kotlin.String value=""
@@ -1,5 +1,5 @@
fun test() {
use(a = CHECK_NOT_NULL<String>(arg0 = WeakReference<@FlexibleNullability String?>(p0 = "").get()))
use(a = CHECK_NOT_NULL<@EnhancedNullability String>(arg0 = WeakReference<@FlexibleNullability String?>(p0 = "").get()))
use(a = CHECK_NOT_NULL<@FlexibleNullability String>(arg0 = getProperty(p0 = "abc")))
}
@@ -39,24 +39,24 @@ FILE fqName:<root> fileName:/B.kt
overridden:
public abstract fun comparator (): @[FlexibleNullability] java.util.Comparator<in @[FlexibleNullability] K of java.util.SortedMap?>? declared in java.util.SortedMap
$this: VALUE_PARAMETER name:<this> type:java.util.SortedMap<kotlin.Boolean, kotlin.Boolean>
FUN FAKE_OVERRIDE name:compute visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>, p0:@[FlexibleNullability] kotlin.Boolean?, p1:@[EnhancedNullability] java.util.function.BiFunction<in @[FlexibleNullability] kotlin.Boolean?, in kotlin.Boolean?, out kotlin.Boolean?>) returnType:kotlin.Boolean? [fake_override]
FUN FAKE_OVERRIDE name:compute visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>, p0:@[FlexibleNullability] kotlin.Boolean?, p1:@[EnhancedNullability] java.util.function.BiFunction<in @[FlexibleNullability] kotlin.Boolean?, in @[EnhancedNullability] kotlin.Boolean?, out @[EnhancedNullability] kotlin.Boolean?>) returnType:@[EnhancedNullability] kotlin.Boolean? [fake_override]
overridden:
public open fun compute (p0: @[FlexibleNullability] K of java.util.SortedMap?, p1: @[EnhancedNullability] java.util.function.BiFunction<in @[FlexibleNullability] K of java.util.SortedMap?, in V of java.util.SortedMap?, out V of java.util.SortedMap?>): V of java.util.SortedMap? declared in java.util.SortedMap
public open fun compute (p0: @[FlexibleNullability] K of java.util.SortedMap?, p1: @[EnhancedNullability] java.util.function.BiFunction<in @[FlexibleNullability] K of java.util.SortedMap?, in @[EnhancedNullability] V of java.util.SortedMap?, out @[EnhancedNullability] V of java.util.SortedMap?>): @[EnhancedNullability] V of java.util.SortedMap? declared in java.util.SortedMap
$this: VALUE_PARAMETER name:<this> type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>
VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Boolean?
VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.BiFunction<in @[FlexibleNullability] kotlin.Boolean?, in kotlin.Boolean?, out kotlin.Boolean?>
VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.BiFunction<in @[FlexibleNullability] kotlin.Boolean?, in @[EnhancedNullability] kotlin.Boolean?, out @[EnhancedNullability] kotlin.Boolean?>
FUN FAKE_OVERRIDE name:computeIfAbsent visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>, p0:@[FlexibleNullability] kotlin.Boolean?, p1:@[EnhancedNullability] java.util.function.Function<in @[FlexibleNullability] kotlin.Boolean?, out @[FlexibleNullability] kotlin.Boolean?>) returnType:@[FlexibleNullability] kotlin.Boolean? [fake_override]
overridden:
public open fun computeIfAbsent (p0: @[FlexibleNullability] K of java.util.SortedMap?, p1: @[EnhancedNullability] java.util.function.Function<in @[FlexibleNullability] K of java.util.SortedMap?, out @[FlexibleNullability] V of java.util.SortedMap?>): @[FlexibleNullability] V of java.util.SortedMap? declared in java.util.SortedMap
$this: VALUE_PARAMETER name:<this> type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>
VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Boolean?
VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.Function<in @[FlexibleNullability] kotlin.Boolean?, out @[FlexibleNullability] kotlin.Boolean?>
FUN FAKE_OVERRIDE name:computeIfPresent visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>, p0:@[FlexibleNullability] kotlin.Boolean?, p1:@[EnhancedNullability] java.util.function.BiFunction<in @[FlexibleNullability] kotlin.Boolean?, in @[EnhancedNullability] kotlin.Boolean, out kotlin.Boolean?>) returnType:kotlin.Boolean? [fake_override]
FUN FAKE_OVERRIDE name:computeIfPresent visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>, p0:@[FlexibleNullability] kotlin.Boolean?, p1:@[EnhancedNullability] java.util.function.BiFunction<in @[FlexibleNullability] kotlin.Boolean?, in @[EnhancedNullability] kotlin.Boolean, out @[EnhancedNullability] kotlin.Boolean?>) returnType:@[EnhancedNullability] kotlin.Boolean? [fake_override]
overridden:
public open fun computeIfPresent (p0: @[FlexibleNullability] K of java.util.SortedMap?, p1: @[EnhancedNullability] java.util.function.BiFunction<in @[FlexibleNullability] K of java.util.SortedMap?, in @[EnhancedNullability] {V of java.util.SortedMap & Any}, out V of java.util.SortedMap?>): V of java.util.SortedMap? declared in java.util.SortedMap
public open fun computeIfPresent (p0: @[FlexibleNullability] K of java.util.SortedMap?, p1: @[EnhancedNullability] java.util.function.BiFunction<in @[FlexibleNullability] K of java.util.SortedMap?, in @[EnhancedNullability] {V of java.util.SortedMap & Any}, out @[EnhancedNullability] V of java.util.SortedMap?>): @[EnhancedNullability] V of java.util.SortedMap? declared in java.util.SortedMap
$this: VALUE_PARAMETER name:<this> type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>
VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Boolean?
VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.BiFunction<in @[FlexibleNullability] kotlin.Boolean?, in @[EnhancedNullability] kotlin.Boolean, out kotlin.Boolean?>
VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.BiFunction<in @[FlexibleNullability] kotlin.Boolean?, in @[EnhancedNullability] kotlin.Boolean, out @[EnhancedNullability] kotlin.Boolean?>
FUN FAKE_OVERRIDE name:containsKey visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Map<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>, key:@[FlexibleNullability] kotlin.Boolean?) returnType:kotlin.Boolean [fake_override]
overridden:
public abstract fun containsKey (key: @[FlexibleNullability] K of java.util.SortedMap?): kotlin.Boolean declared in java.util.SortedMap
@@ -112,13 +112,13 @@ FILE fqName:<root> fileName:/B.kt
overridden:
public abstract fun lastKey (): @[FlexibleNullability] K of java.util.SortedMap? declared in java.util.SortedMap
$this: VALUE_PARAMETER name:<this> type:java.util.SortedMap<kotlin.Boolean, kotlin.Boolean>
FUN FAKE_OVERRIDE name:merge visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>, p0:@[FlexibleNullability] kotlin.Boolean?, p1:@[EnhancedNullability] kotlin.Boolean, p2:@[EnhancedNullability] java.util.function.BiFunction<in @[EnhancedNullability] kotlin.Boolean, in @[EnhancedNullability] kotlin.Boolean, out kotlin.Boolean?>) returnType:kotlin.Boolean? [fake_override]
FUN FAKE_OVERRIDE name:merge visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>, p0:@[FlexibleNullability] kotlin.Boolean?, p1:@[EnhancedNullability] kotlin.Boolean, p2:@[EnhancedNullability] java.util.function.BiFunction<in @[EnhancedNullability] kotlin.Boolean, in @[EnhancedNullability] kotlin.Boolean, out @[EnhancedNullability] kotlin.Boolean?>) returnType:@[EnhancedNullability] kotlin.Boolean? [fake_override]
overridden:
public open fun merge (p0: @[FlexibleNullability] K of java.util.SortedMap?, p1: @[EnhancedNullability] {V of java.util.SortedMap & Any}, p2: @[EnhancedNullability] java.util.function.BiFunction<in @[EnhancedNullability] {V of java.util.SortedMap & Any}, in @[EnhancedNullability] {V of java.util.SortedMap & Any}, out V of java.util.SortedMap?>): V of java.util.SortedMap? declared in java.util.SortedMap
public open fun merge (p0: @[FlexibleNullability] K of java.util.SortedMap?, p1: @[EnhancedNullability] {V of java.util.SortedMap & Any}, p2: @[EnhancedNullability] java.util.function.BiFunction<in @[EnhancedNullability] {V of java.util.SortedMap & Any}, in @[EnhancedNullability] {V of java.util.SortedMap & Any}, out @[EnhancedNullability] V of java.util.SortedMap?>): @[EnhancedNullability] V of java.util.SortedMap? declared in java.util.SortedMap
$this: VALUE_PARAMETER name:<this> type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>
VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Boolean?
VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] kotlin.Boolean
VALUE_PARAMETER name:p2 index:2 type:@[EnhancedNullability] java.util.function.BiFunction<in @[EnhancedNullability] kotlin.Boolean, in @[EnhancedNullability] kotlin.Boolean, out kotlin.Boolean?>
VALUE_PARAMETER name:p2 index:2 type:@[EnhancedNullability] java.util.function.BiFunction<in @[EnhancedNullability] kotlin.Boolean, in @[EnhancedNullability] kotlin.Boolean, out @[EnhancedNullability] kotlin.Boolean?>
FUN FAKE_OVERRIDE name:put visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>, key:@[FlexibleNullability] kotlin.Boolean?, value:@[FlexibleNullability] kotlin.Boolean?) returnType:kotlin.Boolean? [fake_override]
overridden:
public abstract fun put (key: @[FlexibleNullability] K of java.util.SortedMap?, value: @[FlexibleNullability] V of java.util.SortedMap?): V of java.util.SortedMap? declared in java.util.SortedMap
@@ -130,9 +130,9 @@ FILE fqName:<root> fileName:/B.kt
public abstract fun putAll (from: kotlin.collections.Map<out @[FlexibleNullability] K of java.util.SortedMap?, @[FlexibleNullability] V of java.util.SortedMap?>): kotlin.Unit declared in java.util.SortedMap
$this: VALUE_PARAMETER name:<this> type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>
VALUE_PARAMETER name:from index:0 type:kotlin.collections.Map<out @[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>
FUN FAKE_OVERRIDE name:putIfAbsent visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>, p0:@[FlexibleNullability] kotlin.Boolean?, p1:@[FlexibleNullability] kotlin.Boolean?) returnType:kotlin.Boolean? [fake_override]
FUN FAKE_OVERRIDE name:putIfAbsent visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>, p0:@[FlexibleNullability] kotlin.Boolean?, p1:@[FlexibleNullability] kotlin.Boolean?) returnType:@[EnhancedNullability] kotlin.Boolean? [fake_override]
overridden:
public open fun putIfAbsent (p0: @[FlexibleNullability] K of java.util.SortedMap?, p1: @[FlexibleNullability] V of java.util.SortedMap?): V of java.util.SortedMap? declared in java.util.SortedMap
public open fun putIfAbsent (p0: @[FlexibleNullability] K of java.util.SortedMap?, p1: @[FlexibleNullability] V of java.util.SortedMap?): @[EnhancedNullability] V of java.util.SortedMap? declared in java.util.SortedMap
$this: VALUE_PARAMETER name:<this> type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>
VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Boolean?
VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] kotlin.Boolean?
@@ -150,9 +150,9 @@ FILE fqName:<root> fileName:/B.kt
$this: VALUE_PARAMETER name:<this> type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>
VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] kotlin.Boolean?
VALUE_PARAMETER name:value index:1 type:@[FlexibleNullability] kotlin.Boolean?
FUN FAKE_OVERRIDE name:replace visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>, p0:@[FlexibleNullability] kotlin.Boolean?, p1:@[FlexibleNullability] kotlin.Boolean?) returnType:kotlin.Boolean? [fake_override]
FUN FAKE_OVERRIDE name:replace visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>, p0:@[FlexibleNullability] kotlin.Boolean?, p1:@[FlexibleNullability] kotlin.Boolean?) returnType:@[EnhancedNullability] kotlin.Boolean? [fake_override]
overridden:
public open fun replace (p0: @[FlexibleNullability] K of java.util.SortedMap?, p1: @[FlexibleNullability] V of java.util.SortedMap?): V of java.util.SortedMap? declared in java.util.SortedMap
public open fun replace (p0: @[FlexibleNullability] K of java.util.SortedMap?, p1: @[FlexibleNullability] V of java.util.SortedMap?): @[EnhancedNullability] V of java.util.SortedMap? declared in java.util.SortedMap
$this: VALUE_PARAMETER name:<this> type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>
VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Boolean?
VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] kotlin.Boolean?
@@ -43,10 +43,10 @@ abstract class B : SortedMap<Boolean, Boolean> {
abstract /* fake */ override fun comparator(): Comparator<in Boolean?>?
// CHECK JVM_IR:
// Mangled name: B#compute(kotlin.Boolean?;java.util.function.BiFunction<in|kotlin.Boolean?,in|kotlin.Boolean?,out|kotlin.Boolean?>{EnhancedNullability}){}kotlin.Boolean?
// Public signature: /B.compute|-5346835552938952377[0]
// Public signature debug description: compute(kotlin.Boolean?;java.util.function.BiFunction<in|kotlin.Boolean?,in|kotlin.Boolean?,out|kotlin.Boolean?>{EnhancedNullability}){}kotlin.Boolean?
/* fake */ override fun compute(p0: Boolean?, p1: @EnhancedNullability BiFunction<in Boolean?, in Boolean?, out Boolean?>): Boolean?
// Mangled name: B#compute(kotlin.Boolean?;java.util.function.BiFunction<in|kotlin.Boolean?,in|kotlin.Boolean?{EnhancedNullability},out|kotlin.Boolean?{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability}
// Public signature: /B.compute|2218133050283840120[0]
// Public signature debug description: compute(kotlin.Boolean?;java.util.function.BiFunction<in|kotlin.Boolean?,in|kotlin.Boolean?{EnhancedNullability},out|kotlin.Boolean?{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability}
/* fake */ override fun compute(p0: Boolean?, p1: @EnhancedNullability BiFunction<in Boolean?, in @EnhancedNullability Boolean?, out @EnhancedNullability Boolean?>): @EnhancedNullability Boolean?
// CHECK JVM_IR:
// Mangled name: B#computeIfAbsent(kotlin.Boolean?;java.util.function.Function<in|kotlin.Boolean?,out|kotlin.Boolean?>{EnhancedNullability}){}kotlin.Boolean?
@@ -55,10 +55,10 @@ abstract class B : SortedMap<Boolean, Boolean> {
/* fake */ override fun computeIfAbsent(p0: Boolean?, p1: @EnhancedNullability Function<in Boolean?, out Boolean?>): Boolean?
// CHECK JVM_IR:
// Mangled name: B#computeIfPresent(kotlin.Boolean?;java.util.function.BiFunction<in|kotlin.Boolean?,in|kotlin.Boolean{EnhancedNullability},out|kotlin.Boolean?>{EnhancedNullability}){}kotlin.Boolean?
// Public signature: /B.computeIfPresent|8024417987206532564[0]
// Public signature debug description: computeIfPresent(kotlin.Boolean?;java.util.function.BiFunction<in|kotlin.Boolean?,in|kotlin.Boolean{EnhancedNullability},out|kotlin.Boolean?>{EnhancedNullability}){}kotlin.Boolean?
/* fake */ override fun computeIfPresent(p0: Boolean?, p1: @EnhancedNullability BiFunction<in Boolean?, in @EnhancedNullability Boolean, out Boolean?>): Boolean?
// Mangled name: B#computeIfPresent(kotlin.Boolean?;java.util.function.BiFunction<in|kotlin.Boolean?,in|kotlin.Boolean{EnhancedNullability},out|kotlin.Boolean?{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability}
// Public signature: /B.computeIfPresent|5468592095136244989[0]
// Public signature debug description: computeIfPresent(kotlin.Boolean?;java.util.function.BiFunction<in|kotlin.Boolean?,in|kotlin.Boolean{EnhancedNullability},out|kotlin.Boolean?{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability}
/* fake */ override fun computeIfPresent(p0: Boolean?, p1: @EnhancedNullability BiFunction<in Boolean?, in @EnhancedNullability Boolean, out @EnhancedNullability Boolean?>): @EnhancedNullability Boolean?
// CHECK JVM_IR:
// Mangled name: B#containsKey(kotlin.Boolean?){}kotlin.Boolean
@@ -109,10 +109,10 @@ abstract class B : SortedMap<Boolean, Boolean> {
abstract /* fake */ override fun lastKey(): Boolean?
// CHECK JVM_IR:
// Mangled name: B#merge(kotlin.Boolean?;kotlin.Boolean{EnhancedNullability};java.util.function.BiFunction<in|kotlin.Boolean{EnhancedNullability},in|kotlin.Boolean{EnhancedNullability},out|kotlin.Boolean?>{EnhancedNullability}){}kotlin.Boolean?
// Public signature: /B.merge|6281824337626947033[0]
// Public signature debug description: merge(kotlin.Boolean?;kotlin.Boolean{EnhancedNullability};java.util.function.BiFunction<in|kotlin.Boolean{EnhancedNullability},in|kotlin.Boolean{EnhancedNullability},out|kotlin.Boolean?>{EnhancedNullability}){}kotlin.Boolean?
/* fake */ override fun merge(p0: Boolean?, p1: @EnhancedNullability Boolean, p2: @EnhancedNullability BiFunction<in @EnhancedNullability Boolean, in @EnhancedNullability Boolean, out Boolean?>): Boolean?
// Mangled name: B#merge(kotlin.Boolean?;kotlin.Boolean{EnhancedNullability};java.util.function.BiFunction<in|kotlin.Boolean{EnhancedNullability},in|kotlin.Boolean{EnhancedNullability},out|kotlin.Boolean?{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability}
// Public signature: /B.merge|-6153965291014224365[0]
// Public signature debug description: merge(kotlin.Boolean?;kotlin.Boolean{EnhancedNullability};java.util.function.BiFunction<in|kotlin.Boolean{EnhancedNullability},in|kotlin.Boolean{EnhancedNullability},out|kotlin.Boolean?{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability}
/* fake */ override fun merge(p0: Boolean?, p1: @EnhancedNullability Boolean, p2: @EnhancedNullability BiFunction<in @EnhancedNullability Boolean, in @EnhancedNullability Boolean, out @EnhancedNullability Boolean?>): @EnhancedNullability Boolean?
// CHECK JVM_IR:
// Mangled name: B#put(kotlin.Boolean?;kotlin.Boolean?){}kotlin.Boolean?
@@ -127,10 +127,10 @@ abstract class B : SortedMap<Boolean, Boolean> {
abstract /* fake */ override fun putAll(from: Map<out Boolean?, Boolean?>): Unit
// CHECK JVM_IR:
// Mangled name: B#putIfAbsent(kotlin.Boolean?;kotlin.Boolean?){}kotlin.Boolean?
// Public signature: /B.putIfAbsent|-3686672600933586245[0]
// Public signature debug description: putIfAbsent(kotlin.Boolean?;kotlin.Boolean?){}kotlin.Boolean?
/* fake */ override fun putIfAbsent(p0: Boolean?, p1: Boolean?): Boolean?
// Mangled name: B#putIfAbsent(kotlin.Boolean?;kotlin.Boolean?){}kotlin.Boolean?{EnhancedNullability}
// Public signature: /B.putIfAbsent|-3466996926966008971[0]
// Public signature debug description: putIfAbsent(kotlin.Boolean?;kotlin.Boolean?){}kotlin.Boolean?{EnhancedNullability}
/* fake */ override fun putIfAbsent(p0: Boolean?, p1: Boolean?): @EnhancedNullability Boolean?
// CHECK JVM_IR:
// Mangled name: B#remove(kotlin.Boolean?){}kotlin.Boolean?
@@ -139,10 +139,10 @@ abstract class B : SortedMap<Boolean, Boolean> {
abstract /* fake */ override fun remove(key: Boolean?): Boolean?
// CHECK JVM_IR:
// Mangled name: B#replace(kotlin.Boolean?;kotlin.Boolean?){}kotlin.Boolean?
// Public signature: /B.replace|-3733200617381009142[0]
// Public signature debug description: replace(kotlin.Boolean?;kotlin.Boolean?){}kotlin.Boolean?
/* fake */ override fun replace(p0: Boolean?, p1: Boolean?): Boolean?
// Mangled name: B#replace(kotlin.Boolean?;kotlin.Boolean?){}kotlin.Boolean?{EnhancedNullability}
// Public signature: /B.replace|-6766009233704324903[0]
// Public signature debug description: replace(kotlin.Boolean?;kotlin.Boolean?){}kotlin.Boolean?{EnhancedNullability}
/* fake */ override fun replace(p0: Boolean?, p1: Boolean?): @EnhancedNullability Boolean?
// CHECK JVM_IR:
// Mangled name: B#replace(kotlin.Boolean?;kotlin.Boolean?;kotlin.Boolean?){}kotlin.Boolean
@@ -213,3 +213,4 @@ abstract class B : SortedMap<Boolean, Boolean> {
abstract /* fake */ override get(): MutableCollection<Boolean?>?
}
@@ -50,11 +50,11 @@ FILE fqName:<root> fileName:/1.kt
public open fun ensureCapacity (p0: kotlin.Int): kotlin.Unit declared in <root>.Java1
$this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<@[FlexibleNullability] kotlin.Any?>
VALUE_PARAMETER name:p0 index:0 type:kotlin.Int
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Any?>, p0:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Any?>, p0:@[EnhancedNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
overridden:
public open fun equals (p0: kotlin.Any?): kotlin.Boolean declared in <root>.Java1
public open fun equals (p0: @[EnhancedNullability] kotlin.Any?): kotlin.Boolean declared in <root>.Java1
$this: VALUE_PARAMETER name:<this> type:java.util.AbstractList<@[FlexibleNullability] kotlin.Any?>
VALUE_PARAMETER name:p0 index:0 type:kotlin.Any?
VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Any?
FUN FAKE_OVERRIDE name:get visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Any?>, p0:kotlin.Int) returnType:@[FlexibleNullability] kotlin.Any? [fake_override,operator]
overridden:
public open fun get (p0: kotlin.Int): @[FlexibleNullability] kotlin.Any? declared in <root>.Java1
@@ -67,10 +67,10 @@ abstract class E : Java1 {
/* fake */ override fun ensureCapacity(p0: Int): Unit
// CHECK JVM_IR:
// Mangled name: E#equals(kotlin.Any?){}kotlin.Boolean
// Public signature: /E.equals|722809408929142791[0]
// Public signature debug description: equals(kotlin.Any?){}kotlin.Boolean
/* fake */ override operator fun equals(p0: Any?): Boolean
// Mangled name: E#equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean
// Public signature: /E.equals|4126616015386471185[0]
// Public signature debug description: equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean
/* fake */ override operator fun equals(p0: @EnhancedNullability Any?): Boolean
// CHECK JVM_IR:
// Mangled name: E#get(kotlin.Int){}kotlin.Any?
@@ -206,3 +206,4 @@ abstract class E : Java1 {
/* fake */ override get(): Int
}
@@ -51,12 +51,12 @@ FILE fqName:<root> fileName:/1.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.Int>
VALUE_PARAMETER name:p0 index:0 type:kotlin.Int
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>, p0:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>, 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
public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in <root>.Java1
$this: VALUE_PARAMETER name:<this> type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>
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.Int>, p0:@[FlexibleNullability] java.util.function.Consumer<in @[FlexibleNullability] kotlin.Int?>?) 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
@@ -99,9 +99,9 @@ FILE fqName:<root> fileName:/1.kt
public open fun listIterator (p0: kotlin.Int): @[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] E of java.util.ArrayList> declared in java.util.ArrayList
$this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<kotlin.Int>
VALUE_PARAMETER name:p0 index:0 type:kotlin.Int
FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<kotlin.Int>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] kotlin.Int?> [fake_override]
FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<kotlin.Int>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> [fake_override]
overridden:
public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] E of java.util.ArrayList?> declared in java.util.ArrayList
public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] E of java.util.ArrayList?> declared in java.util.ArrayList
$this: VALUE_PARAMETER name:<this> type:kotlin.collections.Collection<kotlin.Int>
FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:java.util.ArrayList<kotlin.Int>, p0:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Boolean [fake_override]
overridden:
@@ -155,9 +155,9 @@ FILE fqName:<root> fileName:/1.kt
overridden:
public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] E of java.util.ArrayList?> declared in java.util.ArrayList
$this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<kotlin.Int>
FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<kotlin.Int>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] kotlin.Int?> [fake_override]
FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<kotlin.Int>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> [fake_override]
overridden:
public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] E of java.util.ArrayList?> declared in java.util.ArrayList
public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] E of java.util.ArrayList?> declared in java.util.ArrayList
$this: VALUE_PARAMETER name:<this> type:kotlin.collections.Collection<kotlin.Int>
FUN FAKE_OVERRIDE name:subList visibility:public modality:OPEN <> ($this:java.util.ArrayList<kotlin.Int>, p0:kotlin.Int, p1:kotlin.Int) returnType:@[EnhancedNullability] kotlin.collections.MutableList<@[EnhancedNullability] kotlin.Int> [fake_override]
overridden:
@@ -63,10 +63,10 @@ abstract class B : ArrayList<Int>, Java1 {
/* fake */ override fun ensureCapacity(p0: Int): Unit
// CHECK JVM_IR:
// Mangled name: B#equals(kotlin.Any?){}kotlin.Boolean
// Public signature: /B.equals|722809408929142791[0]
// Public signature debug description: equals(kotlin.Any?){}kotlin.Boolean
/* fake */ override operator fun equals(p0: Any?): Boolean
// Mangled name: B#equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean
// Public signature: /B.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: B#forEach(java.util.function.Consumer<in|kotlin.Int?>?){}
@@ -123,10 +123,12 @@ abstract class B : ArrayList<Int>, Java1 {
/* fake */ override fun listIterator(p0: Int): @EnhancedNullability MutableListIterator<@EnhancedNullability Int>
// CHECK JVM_IR:
// Mangled name: B#parallelStream(){}java.util.stream.Stream<kotlin.Int?>{EnhancedNullability}
// Public signature: /B.parallelStream|-4126444245712748289[0]
// Public signature debug description: parallelStream(){}java.util.stream.Stream<kotlin.Int?>{EnhancedNullability}
/* fake */ override fun parallelStream(): @EnhancedNullability Stream<Int?>
// Mangled name: B#parallelStream(){}java.util.stream.Stream<kotlin.Int?{EnhancedNullability}>{EnhancedNullability}
// Mangled name for the signature by IR: parallelStream(){}java.util.stream.Stream<kotlin.Int?{EnhancedNullability}>{EnhancedNullability}
// Mangled name for the signature by Frontend: parallelStream(){}java.util.stream.Stream<kotlin.Int?>{EnhancedNullability}
// Public signature: /B.parallelStream|-8395108522211591010[0]
// Public signature debug description: parallelStream(){}java.util.stream.Stream<kotlin.Int?{EnhancedNullability}>{EnhancedNullability}
/* fake */ override fun parallelStream(): @EnhancedNullability Stream<@EnhancedNullability Int?>
// CHECK JVM_IR:
// Mangled name: B#remove(kotlin.Int{EnhancedNullability}){}kotlin.Boolean
@@ -189,10 +191,12 @@ abstract class B : ArrayList<Int>, Java1 {
/* fake */ override fun spliterator(): @EnhancedNullability Spliterator<Int?>
// CHECK JVM_IR:
// Mangled name: B#stream(){}java.util.stream.Stream<kotlin.Int?>{EnhancedNullability}
// Public signature: /B.stream|2853909100718896833[0]
// Public signature debug description: stream(){}java.util.stream.Stream<kotlin.Int?>{EnhancedNullability}
/* fake */ override fun stream(): @EnhancedNullability Stream<Int?>
// Mangled name: B#stream(){}java.util.stream.Stream<kotlin.Int?{EnhancedNullability}>{EnhancedNullability}
// Mangled name for the signature by IR: stream(){}java.util.stream.Stream<kotlin.Int?{EnhancedNullability}>{EnhancedNullability}
// Mangled name for the signature by Frontend: stream(){}java.util.stream.Stream<kotlin.Int?>{EnhancedNullability}
// Public signature: /B.stream|1565529915260485250[0]
// Public signature debug description: stream(){}java.util.stream.Stream<kotlin.Int?{EnhancedNullability}>{EnhancedNullability}
/* fake */ override fun stream(): @EnhancedNullability Stream<@EnhancedNullability Int?>
// CHECK JVM_IR:
// Mangled name: B#subList(kotlin.Int;kotlin.Int){}kotlin.collections.MutableList<kotlin.Int{EnhancedNullability}>{EnhancedNullability}
@@ -236,3 +240,4 @@ abstract class B : ArrayList<Int>, Java1 {
/* fake */ override get(): Int
}
@@ -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
@@ -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
}
@@ -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
+1 -1
View File
@@ -27,7 +27,7 @@ FILE fqName:<root> fileName:/builtinMap.kt
$receiver: VALUE_PARAMETER name:$this$apply type:java.util.LinkedHashMap<@[FlexibleNullability] K1 of <root>.plus?, @[FlexibleNullability] V1 of <root>.plus?>
BLOCK_BODY
TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
CALL 'public open fun put (p0: @[EnhancedNullability] K of java.util.LinkedHashMap, p1: @[EnhancedNullability] V of java.util.LinkedHashMap): V of java.util.LinkedHashMap? declared in java.util.LinkedHashMap' type=V1 of <root>.plus? origin=null
CALL 'public open fun put (p0: @[EnhancedNullability] K of java.util.LinkedHashMap, p1: @[EnhancedNullability] V of java.util.LinkedHashMap): @[EnhancedNullability] V of java.util.LinkedHashMap? declared in java.util.LinkedHashMap' type=@[EnhancedNullability] V1 of <root>.plus? origin=null
$this: GET_VAR '$this$apply: java.util.LinkedHashMap<@[FlexibleNullability] K1 of <root>.plus?, @[FlexibleNullability] V1 of <root>.plus?> declared in <root>.plus.<anonymous>' type=java.util.LinkedHashMap<@[FlexibleNullability] K1 of <root>.plus?, @[FlexibleNullability] V1 of <root>.plus?> origin=null
p0: CALL 'public final fun <get-first> (): A of kotlin.Pair declared in kotlin.Pair' type=K1 of <root>.plus origin=GET_PROPERTY
$this: GET_VAR 'pair: kotlin.Pair<K1 of <root>.plus, V1 of <root>.plus> declared in <root>.plus' type=kotlin.Pair<K1 of <root>.plus, V1 of <root>.plus> origin=null