diff --git a/analysis/analysis-api/testData/components/scopeProvider/memberScope/java.lang.String.txt b/analysis/analysis-api/testData/components/scopeProvider/memberScope/java.lang.String.txt index eaec6a9c372..9622e4b2e7a 100644 --- a/analysis/analysis-api/testData/components/scopeProvider/memberScope/java.lang.String.txt +++ b/analysis/analysis-api/testData/components/scopeProvider/memberScope/java.lang.String.txt @@ -1086,7 +1086,7 @@ KtFunctionSymbol: returnType: KtUsualClassType: annotationsList: [] ownTypeArguments: [] - type: kotlin/Any? + type: @EnhancedNullability kotlin/Any? symbolKind: LOCAL typeParameters: [] getContainingFileSymbol: null diff --git a/compiler/fir/analysis-tests/testData/enhancement/jsr305/NonNullNever.fir.txt b/compiler/fir/analysis-tests/testData/enhancement/jsr305/NonNullNever.fir.txt index 78e5c7b697a..18eaa5dd844 100644 --- a/compiler/fir/analysis-tests/testData/enhancement/jsr305/NonNullNever.fir.txt +++ b/compiler/fir/analysis-tests/testData/enhancement/jsr305/NonNullNever.fir.txt @@ -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| diff --git a/compiler/fir/analysis-tests/testData/enhancement/jsr305/Simple.fir.txt b/compiler/fir/analysis-tests/testData/enhancement/jsr305/Simple.fir.txt index e0df603af60..1e59ab8255d 100644 --- a/compiler/fir/analysis-tests/testData/enhancement/jsr305/Simple.fir.txt +++ b/compiler/fir/analysis-tests/testData/enhancement/jsr305/Simple.fir.txt @@ -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| diff --git a/compiler/fir/analysis-tests/testData/enhancement/jsr305/Strange.fir.txt b/compiler/fir/analysis-tests/testData/enhancement/jsr305/Strange.fir.txt index d62649fb828..6953c17bc4a 100644 --- a/compiler/fir/analysis-tests/testData/enhancement/jsr305/Strange.fir.txt +++ b/compiler/fir/analysis-tests/testData/enhancement/jsr305/Strange.fir.txt @@ -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| diff --git a/compiler/fir/analysis-tests/testData/enhancement/jsr305/typeQualifierDefault/FieldsAreNullable.fir.txt b/compiler/fir/analysis-tests/testData/enhancement/jsr305/typeQualifierDefault/FieldsAreNullable.fir.txt index 6807769b95a..0e4dda01b42 100644 --- a/compiler/fir/analysis-tests/testData/enhancement/jsr305/typeQualifierDefault/FieldsAreNullable.fir.txt +++ b/compiler/fir/analysis-tests/testData/enhancement/jsr305/typeQualifierDefault/FieldsAreNullable.fir.txt @@ -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| diff --git a/compiler/fir/analysis-tests/testData/enhancement/jsr305/typeQualifierDefault/NullabilityFromOverridden.fir.txt b/compiler/fir/analysis-tests/testData/enhancement/jsr305/typeQualifierDefault/NullabilityFromOverridden.fir.txt index 345fcc1a19c..14646602f84 100644 --- a/compiler/fir/analysis-tests/testData/enhancement/jsr305/typeQualifierDefault/NullabilityFromOverridden.fir.txt +++ b/compiler/fir/analysis-tests/testData/enhancement/jsr305/typeQualifierDefault/NullabilityFromOverridden.fir.txt @@ -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!| diff --git a/compiler/fir/analysis-tests/testData/enhancement/jsr305/typeQualifierDefault/OverridingDefaultQualifier.fir.txt b/compiler/fir/analysis-tests/testData/enhancement/jsr305/typeQualifierDefault/OverridingDefaultQualifier.fir.txt index 3223b5adad3..e7624137839 100644 --- a/compiler/fir/analysis-tests/testData/enhancement/jsr305/typeQualifierDefault/OverridingDefaultQualifier.fir.txt +++ b/compiler/fir/analysis-tests/testData/enhancement/jsr305/typeQualifierDefault/OverridingDefaultQualifier.fir.txt @@ -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!| diff --git a/compiler/fir/analysis-tests/testData/enhancement/jsr305/typeQualifierDefault/ParametersAreNonnullByDefault.fir.txt b/compiler/fir/analysis-tests/testData/enhancement/jsr305/typeQualifierDefault/ParametersAreNonnullByDefault.fir.txt index f28f4a2f51c..03475c8018d 100644 --- a/compiler/fir/analysis-tests/testData/enhancement/jsr305/typeQualifierDefault/ParametersAreNonnullByDefault.fir.txt +++ b/compiler/fir/analysis-tests/testData/enhancement/jsr305/typeQualifierDefault/ParametersAreNonnullByDefault.fir.txt @@ -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| diff --git a/compiler/fir/analysis-tests/testData/enhancement/jsr305/typeQualifierDefault/ParametersAreNonnullByDefaultPackage.fir.txt b/compiler/fir/analysis-tests/testData/enhancement/jsr305/typeQualifierDefault/ParametersAreNonnullByDefaultPackage.fir.txt index ed53b80d7d4..1c879e0bff6 100644 --- a/compiler/fir/analysis-tests/testData/enhancement/jsr305/typeQualifierDefault/ParametersAreNonnullByDefaultPackage.fir.txt +++ b/compiler/fir/analysis-tests/testData/enhancement/jsr305/typeQualifierDefault/ParametersAreNonnullByDefaultPackage.fir.txt @@ -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| diff --git a/compiler/fir/analysis-tests/testData/resolve/scopes/specialFunctionInJava_2.fir.txt b/compiler/fir/analysis-tests/testData/resolve/scopes/specialFunctionInJava_2.fir.txt index 72d07288642..8c802aa2a1a 100644 --- a/compiler/fir/analysis-tests/testData/resolve/scopes/specialFunctionInJava_2.fir.txt +++ b/compiler/fir/analysis-tests/testData/resolve/scopes/specialFunctionInJava_2.fir.txt @@ -6,6 +6,6 @@ FILE: main.kt R|/map|.R|SubstitutionOverride#|(Int(1)) R|/map|.R|SubstitutionOverride|(Int(1)) R|/map|.R|SubstitutionOverride#|(String()) - R|/map|.R|SubstitutionOverride|(Int(1)) - R|/map|.R|SubstitutionOverride#|(String()) + R|/map|.R|SubstitutionOverride|(Int(1)) + R|/map|.R|SubstitutionOverride#|(String()) } diff --git a/compiler/fir/analysis-tests/testData/resolve/scopes/specialFunctionInJava_2.overrides.txt b/compiler/fir/analysis-tests/testData/resolve/scopes/specialFunctionInJava_2.overrides.txt index 393b7f4459d..70b28b06647 100644 --- a/compiler/fir/analysis-tests/testData/resolve/scopes/specialFunctionInJava_2.overrides.txt +++ b/compiler/fir/analysis-tests/testData/resolve/scopes/specialFunctionInJava_2.overrides.txt @@ -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|): R|ft| from Substitution scope for [Java enhancement scope for /MyMap] for type SomeMap [id: 4] [Enhancement]: public abstract operator fun get(key: R|ft|): R|ft| from Java enhancement scope for /MyMap [id: 5] - [Enhancement]: public abstract fun remove(key: R|ft|): R|V3?| from Java enhancement scope for /SomeMap [id: 0] + [Enhancement]: public abstract fun remove(key: R|ft|): R|@EnhancedNullability V3?| from Java enhancement scope for /SomeMap [id: 0] [SubstitutionOverride(DeclarationSite)]: public abstract override fun remove(key: R|ft|): R|V3?| from Substitution scope for [Use site scope of kotlin/collections/MutableMap] for type SomeMap [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|, value: R|ft|): R|kotlin/Boolean| from Java enhancement scope for /SomeMap [id: 0] diff --git a/compiler/fir/analysis-tests/testData/resolveWithStdlib/concurrentMapOfAliases.fir.txt b/compiler/fir/analysis-tests/testData/resolveWithStdlib/concurrentMapOfAliases.fir.txt index e3f134e7275..8d3fa46a413 100644 --- a/compiler/fir/analysis-tests/testData/resolveWithStdlib/concurrentMapOfAliases.fir.txt +++ b/compiler/fir/analysis-tests/testData/resolveWithStdlib/concurrentMapOfAliases.fir.txt @@ -9,7 +9,7 @@ FILE: concurrentMapOfAliases.kt private get(): R|java/util/concurrent/ConcurrentHashMap| private final fun bar(): R|kotlin/Unit| { - this@R|/A|.R|/A.foo|.R|SubstitutionOverride|(String(dd))?.{ (this@R|/A|, $subj$).R|/A.baz|() } + this@R|/A|.R|/A.foo|.R|SubstitutionOverride|(String(dd))?.{ (this@R|/A|, $subj$).R|/A.baz|() } } private final fun R|MyAlias|.baz(): R|kotlin/Unit| { diff --git a/compiler/fir/analysis-tests/testData/resolveWithStdlib/j+k/MapCompute.fir.txt b/compiler/fir/analysis-tests/testData/resolveWithStdlib/j+k/MapCompute.fir.txt index a13cedd9489..09f48dc3c51 100644 --- a/compiler/fir/analysis-tests/testData/resolveWithStdlib/j+k/MapCompute.fir.txt +++ b/compiler/fir/analysis-tests/testData/resolveWithStdlib/j+k/MapCompute.fir.txt @@ -1,6 +1,6 @@ FILE: MapCompute.kt public final fun R|kotlin/collections/MutableMap>|.initAndAdd(key: R|kotlin/String|, value: R|D|): R|kotlin/Unit| { - this@R|/initAndAdd|.R|SubstitutionOverride?|>|(R|/key|, = SAM(compute@fun (: R|@EnhancedNullability kotlin/String|, maybeValues: R|@EnhancedNullability kotlin/collections/MutableSet?|): R|@EnhancedNullability kotlin/collections/MutableSet?| { + this@R|/initAndAdd|.R|SubstitutionOverride?|>|(R|/key|, = SAM(compute@fun (: R|@EnhancedNullability kotlin/String|, maybeValues: R|@EnhancedNullability kotlin/collections/MutableSet?|): R|@EnhancedNullability kotlin/collections/MutableSet?| { lval setOfValues: R|kotlin/collections/MutableSet| = R|/maybeValues| ?: R|kotlin/collections/mutableSetOf|() R|/setOfValues|.R|SubstitutionOverride|(R|/value|) ^ R|/setOfValues| diff --git a/compiler/fir/analysis-tests/testData/resolveWithStdlib/j+k/MyMap.fir.txt b/compiler/fir/analysis-tests/testData/resolveWithStdlib/j+k/MyMap.fir.txt index 1f90b9dcf7b..1083d289c01 100644 --- a/compiler/fir/analysis-tests/testData/resolveWithStdlib/j+k/MyMap.fir.txt +++ b/compiler/fir/analysis-tests/testData/resolveWithStdlib/j+k/MyMap.fir.txt @@ -5,7 +5,7 @@ FILE: test.kt } ) lval otherResult: R|kotlin/String!| = R|/map|.R|SubstitutionOverride|(String(key), String(value)) - lval anotherResult: R|kotlin/String?| = R|/map|.R|SubstitutionOverride|(String(key), String(value)) + lval anotherResult: R|kotlin/String?| = R|/map|.R|SubstitutionOverride|(String(key), String(value)) R|/map|.R|SubstitutionOverride|( = SAM(forEach@fun (key: R|@EnhancedNullability kotlin/String!|, value: R|@EnhancedNullability kotlin/String!|): R|kotlin/Unit| { R|kotlin/io/println|((R|/key|, String(: ), R|/value|)) R|/key|.R|kotlin/String.length| @@ -30,7 +30,7 @@ FILE: test.kt } ) lval otherResult: R|kotlin/String| = R|/map|.R|SubstitutionOverride|(String(key), String(value)) - lval anotherResult: R|kotlin/String?| = R|/map|.R|SubstitutionOverride|(String(key), String(value)) + lval anotherResult: R|kotlin/String?| = R|/map|.R|SubstitutionOverride|(String(key), String(value)) R|/map|.R|SubstitutionOverride|( = SAM(forEach@fun (key: R|@EnhancedNullability kotlin/String|, value: R|@EnhancedNullability kotlin/String|): R|kotlin/Unit| { R|kotlin/io/println|((R|/key|, String(: ), R|/value|)) R|/key|.R|kotlin/String.length| diff --git a/compiler/fir/analysis-tests/testData/resolveWithStdlib/j+k/mapMerge.fir.txt b/compiler/fir/analysis-tests/testData/resolveWithStdlib/j+k/mapMerge.fir.txt index ff88e527239..03669af7e88 100644 --- a/compiler/fir/analysis-tests/testData/resolveWithStdlib/j+k/mapMerge.fir.txt +++ b/compiler/fir/analysis-tests/testData/resolveWithStdlib/j+k/mapMerge.fir.txt @@ -1,6 +1,6 @@ FILE: mapMerge.kt public final fun foo(x: R|kotlin/collections/MutableMap>|): R|kotlin/Unit| { - R|/x|.R|SubstitutionOverride?|>|(String(), R|kotlin/collections/listOf|(String()), = SAM(merge@fun (a: R|@EnhancedNullability kotlin/collections/List|, b: R|@EnhancedNullability kotlin/collections/List|): R|@EnhancedNullability kotlin/collections/List?| { + R|/x|.R|SubstitutionOverride?|>|(String(), R|kotlin/collections/listOf|(String()), = SAM(merge@fun (a: R|@EnhancedNullability kotlin/collections/List|, b: R|@EnhancedNullability kotlin/collections/List|): R|@EnhancedNullability kotlin/collections/List?| { ^ R|/a|.R|kotlin/collections/plus|(R|/b|) } )) diff --git a/compiler/fir/analysis-tests/testData/resolveWithStdlib/problems/EnumMapGet.fir.txt b/compiler/fir/analysis-tests/testData/resolveWithStdlib/problems/EnumMapGet.fir.txt index eff15d6dd58..983064cbcf4 100644 --- a/compiler/fir/analysis-tests/testData/resolveWithStdlib/problems/EnumMapGet.fir.txt +++ b/compiler/fir/analysis-tests/testData/resolveWithStdlib/problems/EnumMapGet.fir.txt @@ -1,5 +1,5 @@ FILE: EnumMapGet.kt public final typealias SomeEnumMap = R|java/util/EnumMap| public final fun test(map: R|SomeEnumMap|, qualifier: R|kotlin/String?|): R|kotlin/Unit| { - lval result: R|kotlin/String?| = R|/map|.R|SubstitutionOverride|(R|/qualifier|) + lval result: R|kotlin/String?| = R|/map|.R|SubstitutionOverride|(R|/qualifier|) } diff --git a/compiler/fir/analysis-tests/testData/resolveWithStdlib/problems/NamedParameterInConcurrentMap.fir.txt b/compiler/fir/analysis-tests/testData/resolveWithStdlib/problems/NamedParameterInConcurrentMap.fir.txt index c2d1dd0917d..5a8588c350c 100644 --- a/compiler/fir/analysis-tests/testData/resolveWithStdlib/problems/NamedParameterInConcurrentMap.fir.txt +++ b/compiler/fir/analysis-tests/testData/resolveWithStdlib/problems/NamedParameterInConcurrentMap.fir.txt @@ -1,5 +1,5 @@ FILE: NamedParameterInConcurrentMap.kt public final fun main(): R|kotlin/Unit| { lval map: R|java/util/concurrent/ConcurrentHashMap| = R|java/util/concurrent/ConcurrentHashMap.ConcurrentHashMap|() - R|/map|.R|SubstitutionOverride|(key = String(key), value = String(value)) + R|/map|.R|SubstitutionOverride|(key = String(key), value = String(value)) } diff --git a/compiler/fir/analysis-tests/testData/resolveWithStdlib/problems/weakHashMap.fir.txt b/compiler/fir/analysis-tests/testData/resolveWithStdlib/problems/weakHashMap.fir.txt index 95ddeae9275..6f3187fc599 100644 --- a/compiler/fir/analysis-tests/testData/resolveWithStdlib/problems/weakHashMap.fir.txt +++ b/compiler/fir/analysis-tests/testData/resolveWithStdlib/problems/weakHashMap.fir.txt @@ -2,5 +2,5 @@ FILE: weakHashMap.kt public final val someMap: R|java/util/WeakHashMap| = R|java/util/WeakHashMap.WeakHashMap|() public get(): R|java/util/WeakHashMap| public final fun foo(): R|kotlin/Unit| { - R|/someMap|.R|SubstitutionOverride|(String()) + R|/someMap|.R|SubstitutionOverride|(String()) } diff --git a/compiler/fir/analysis-tests/testData/resolveWithStdlib/removeOnAbstractMap.fir.txt b/compiler/fir/analysis-tests/testData/resolveWithStdlib/removeOnAbstractMap.fir.txt index 588fa693822..e4e6e6b6ef0 100644 --- a/compiler/fir/analysis-tests/testData/resolveWithStdlib/removeOnAbstractMap.fir.txt +++ b/compiler/fir/analysis-tests/testData/resolveWithStdlib/removeOnAbstractMap.fir.txt @@ -1,5 +1,5 @@ FILE: removeOnAbstractMap.kt public final fun test(map: R|java/util/AbstractMap|): R|kotlin/Unit| { R|/map|.R|SubstitutionOverride|(String(), Null(null)) - R|/map|.R|SubstitutionOverride|(Null(null)) + R|/map|.R|SubstitutionOverride|(Null(null)) } diff --git a/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/enhancement/javaTypeUtils.kt b/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/enhancement/javaTypeUtils.kt index 7d030a91752..a1376c6e76f 100644 --- a/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/enhancement/javaTypeUtils.kt +++ b/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/enhancement/javaTypeUtils.kt @@ -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( diff --git a/compiler/testData/codegen/bytecodeListing/nullabilityAnnotations/nullabilityAnnotationsOnDelegatedMembers.jvm_abi.txt b/compiler/testData/codegen/bytecodeListing/nullabilityAnnotations/nullabilityAnnotationsOnDelegatedMembers.jvm_abi.txt index ba5c270ad8b..9421666899f 100644 --- a/compiler/testData/codegen/bytecodeListing/nullabilityAnnotations/nullabilityAnnotationsOnDelegatedMembers.jvm_abi.txt +++ b/compiler/testData/codegen/bytecodeListing/nullabilityAnnotations/nullabilityAnnotationsOnDelegatedMembers.jvm_abi.txt @@ -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?) diff --git a/compiler/testData/diagnostics/tests/j+k/primitiveOverrides/triangleWithNullableType.overrides.txt b/compiler/testData/diagnostics/tests/j+k/primitiveOverrides/triangleWithNullableType.overrides.txt index 01d5c453e22..b9624a1bb03 100644 --- a/compiler/testData/diagnostics/tests/j+k/primitiveOverrides/triangleWithNullableType.overrides.txt +++ b/compiler/testData/diagnostics/tests/j+k/primitiveOverrides/triangleWithNullableType.overrides.txt @@ -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] diff --git a/compiler/testData/ir/irText/classes/delegatedImplementationOfJavaInterface.fir.ir.txt b/compiler/testData/ir/irText/classes/delegatedImplementationOfJavaInterface.fir.ir.txt index cd71c5ef2dc..4b2f0ed8e4b 100644 --- a/compiler/testData/ir/irText/classes/delegatedImplementationOfJavaInterface.fir.ir.txt +++ b/compiler/testData/ir/irText/classes/delegatedImplementationOfJavaInterface.fir.ir.txt @@ -29,15 +29,15 @@ FILE fqName: fileName:/delegatedImplementationOfJavaInterface.kt CALL 'public abstract fun returnNotNull (): @[EnhancedNullability] kotlin.String declared in .J' type=@[EnhancedNullability] kotlin.String origin=null $this: GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:j type:.J visibility:private [final]' type=.J origin=null receiver: GET_VAR ': .Test declared in .Test.returnNotNull' type=.Test origin=null - FUN DELEGATED_MEMBER name:returnNullable visibility:public modality:OPEN <> ($this:.Test) returnType:kotlin.String? + FUN DELEGATED_MEMBER name:returnNullable visibility:public modality:OPEN <> ($this:.Test) returnType:@[EnhancedNullability] kotlin.String? annotations: Nullable(value = ) overridden: - public abstract fun returnNullable (): kotlin.String? declared in .J + public abstract fun returnNullable (): @[EnhancedNullability] kotlin.String? declared in .J $this: VALUE_PARAMETER name: type:.Test BLOCK_BODY - RETURN type=kotlin.Nothing from='public open fun returnNullable (): kotlin.String? declared in .Test' - CALL 'public abstract fun returnNullable (): kotlin.String? declared in .J' type=kotlin.String? origin=null + RETURN type=kotlin.Nothing from='public open fun returnNullable (): @[EnhancedNullability] kotlin.String? declared in .Test' + CALL 'public abstract fun returnNullable (): @[EnhancedNullability] kotlin.String? declared in .J' type=@[EnhancedNullability] kotlin.String? origin=null $this: GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:j type:.J visibility:private [final]' type=.J origin=null receiver: GET_VAR ': .Test declared in .Test.returnNullable' type=.Test origin=null FUN DELEGATED_MEMBER name:returnsFlexible visibility:public modality:OPEN <> ($this:.Test) returnType:@[FlexibleNullability] kotlin.String? @@ -71,18 +71,18 @@ FILE fqName: fileName:/delegatedImplementationOfJavaInterface.kt $this: GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:j type:.J visibility:private [final]' type=.J origin=null receiver: GET_VAR ': .Test declared in .Test.takeNotNull' type=.Test origin=null x: GET_VAR 'x: @[EnhancedNullability] kotlin.String declared in .Test.takeNotNull' type=@[EnhancedNullability] kotlin.String origin=null - FUN DELEGATED_MEMBER name:takeNullable visibility:public modality:OPEN <> ($this:.Test, x:kotlin.String?) returnType:kotlin.Unit + FUN DELEGATED_MEMBER name:takeNullable visibility:public modality:OPEN <> ($this:.Test, x:@[EnhancedNullability] kotlin.String?) returnType:kotlin.Unit overridden: - public abstract fun takeNullable (x: kotlin.String?): kotlin.Unit declared in .J + public abstract fun takeNullable (x: @[EnhancedNullability] kotlin.String?): kotlin.Unit declared in .J $this: VALUE_PARAMETER name: type:.Test - VALUE_PARAMETER name:x index:0 type:kotlin.String? + VALUE_PARAMETER name:x index:0 type:@[EnhancedNullability] kotlin.String? annotations: Nullable(value = ) BLOCK_BODY - CALL 'public abstract fun takeNullable (x: kotlin.String?): kotlin.Unit declared in .J' type=kotlin.Unit origin=null + CALL 'public abstract fun takeNullable (x: @[EnhancedNullability] kotlin.String?): kotlin.Unit declared in .J' type=kotlin.Unit origin=null $this: GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:j type:.J visibility:private [final]' type=.J origin=null receiver: GET_VAR ': .Test declared in .Test.takeNullable' type=.Test origin=null - x: GET_VAR 'x: kotlin.String? declared in .Test.takeNullable' type=kotlin.String? origin=null + x: GET_VAR 'x: @[EnhancedNullability] kotlin.String? declared in .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 .J diff --git a/compiler/testData/ir/irText/classes/delegatedImplementationOfJavaInterface.fir.kt.txt b/compiler/testData/ir/irText/classes/delegatedImplementationOfJavaInterface.fir.kt.txt index 2ca91cf5d97..ca612526423 100644 --- a/compiler/testData/ir/irText/classes/delegatedImplementationOfJavaInterface.fir.kt.txt +++ b/compiler/testData/ir/irText/classes/delegatedImplementationOfJavaInterface.fir.kt.txt @@ -15,7 +15,7 @@ class Test : J { } @Nullable - override fun returnNullable(): String? { + override fun returnNullable(): @EnhancedNullability String? { return .#j.returnNullable() } @@ -31,7 +31,7 @@ class Test : J { .#j.takeNotNull(x = x) } - override fun takeNullable(@Nullable x: String?) { + override fun takeNullable(@Nullable x: @EnhancedNullability String?) { .#j.takeNullable(x = x) } diff --git a/compiler/testData/ir/irText/classes/delegatedImplementationOfJavaInterface.fir.sig.kt.txt b/compiler/testData/ir/irText/classes/delegatedImplementationOfJavaInterface.fir.sig.kt.txt index 77ebe81ece8..60a87bf3ce0 100644 --- a/compiler/testData/ir/irText/classes/delegatedImplementationOfJavaInterface.fir.sig.kt.txt +++ b/compiler/testData/ir/irText/classes/delegatedImplementationOfJavaInterface.fir.sig.kt.txt @@ -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 } + diff --git a/compiler/testData/ir/irText/declarations/kt65432.fir.ir.txt b/compiler/testData/ir/irText/declarations/kt65432.fir.ir.txt index 17df437c3df..0660b6247aa 100644 --- a/compiler/testData/ir/irText/declarations/kt65432.fir.ir.txt +++ b/compiler/testData/ir/irText/declarations/kt65432.fir.ir.txt @@ -50,11 +50,11 @@ FILE fqName: fileName:/1.kt public open fun ensureCapacity (p0: kotlin.Int): kotlin.Unit declared in .Java1 $this: VALUE_PARAMETER name: type:java.util.ArrayList 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 .Java1 + public open fun equals (p0: @[EnhancedNullability] kotlin.Any?): kotlin.Boolean declared in .Java1 $this: VALUE_PARAMETER name: 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, p0:kotlin.Int) returnType:@[EnhancedNullability] kotlin.Int [fake_override,operator] overridden: public open fun get (p0: kotlin.Int): @[EnhancedNullability] kotlin.Int declared in .Java1 @@ -207,11 +207,11 @@ FILE fqName: fileName:/1.kt public open fun ensureCapacity (p0: kotlin.Int): kotlin.Unit declared in java.util.ArrayList $this: VALUE_PARAMETER name: type:java.util.ArrayList 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: 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, 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 diff --git a/compiler/testData/ir/irText/declarations/kt65432.fir.sig.kt.txt b/compiler/testData/ir/irText/declarations/kt65432.fir.sig.kt.txt index 0f554b33744..1819f4a773a 100644 --- a/compiler/testData/ir/irText/declarations/kt65432.fir.sig.kt.txt +++ b/compiler/testData/ir/irText/declarations/kt65432.fir.sig.kt.txt @@ -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 { /* 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 { /* fake */ override get(): Int } + diff --git a/compiler/testData/ir/irText/expressions/exclExclOnPlatformType.fir.ir.txt b/compiler/testData/ir/irText/expressions/exclExclOnPlatformType.fir.ir.txt index 8ead21bf727..545c33e2fbe 100644 --- a/compiler/testData/ir/irText/expressions/exclExclOnPlatformType.fir.ir.txt +++ b/compiler/testData/ir/irText/expressions/exclExclOnPlatformType.fir.ir.txt @@ -3,8 +3,8 @@ FILE fqName: fileName:/exclExclOnPlatformType.kt BLOCK_BODY CALL 'public final fun use (a: kotlin.Any): kotlin.Unit declared in ' type=kotlin.Unit origin=null a: CALL 'public final fun CHECK_NOT_NULL (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 - : 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 + : @[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 (p0: @[FlexibleNullability] T of java.lang.ref.WeakReference?) declared in java.lang.ref.WeakReference' type=java.lang.ref.WeakReference<@[FlexibleNullability] kotlin.String?> origin=null : @[FlexibleNullability] kotlin.String? p0: CONST String type=kotlin.String value="" diff --git a/compiler/testData/ir/irText/expressions/exclExclOnPlatformType.fir.kt.txt b/compiler/testData/ir/irText/expressions/exclExclOnPlatformType.fir.kt.txt index 9a53b777bf7..c6a37d8bfc2 100644 --- a/compiler/testData/ir/irText/expressions/exclExclOnPlatformType.fir.kt.txt +++ b/compiler/testData/ir/irText/expressions/exclExclOnPlatformType.fir.kt.txt @@ -1,5 +1,5 @@ fun test() { - use(a = CHECK_NOT_NULL(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"))) } diff --git a/compiler/testData/ir/irText/fakeOverrides/annotatedTypeParameter.fir.ir.txt b/compiler/testData/ir/irText/fakeOverrides/annotatedTypeParameter.fir.ir.txt index 00e9b89a5dd..746d1d7919e 100644 --- a/compiler/testData/ir/irText/fakeOverrides/annotatedTypeParameter.fir.ir.txt +++ b/compiler/testData/ir/irText/fakeOverrides/annotatedTypeParameter.fir.ir.txt @@ -39,24 +39,24 @@ FILE fqName: fileName:/B.kt overridden: public abstract fun comparator (): @[FlexibleNullability] java.util.Comparator? declared in java.util.SortedMap $this: VALUE_PARAMETER name: type:java.util.SortedMap - 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) 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) returnType:@[EnhancedNullability] kotlin.Boolean? [fake_override] overridden: - public open fun compute (p0: @[FlexibleNullability] K of java.util.SortedMap?, p1: @[EnhancedNullability] java.util.function.BiFunction): 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): @[EnhancedNullability] V of java.util.SortedMap? declared in java.util.SortedMap $this: VALUE_PARAMETER name: 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 + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.BiFunction 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) returnType:@[FlexibleNullability] kotlin.Boolean? [fake_override] overridden: public open fun computeIfAbsent (p0: @[FlexibleNullability] K of java.util.SortedMap?, p1: @[EnhancedNullability] java.util.function.Function): @[FlexibleNullability] V of java.util.SortedMap? declared in java.util.SortedMap $this: VALUE_PARAMETER name: 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 - 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) 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) returnType:@[EnhancedNullability] kotlin.Boolean? [fake_override] overridden: - public open fun computeIfPresent (p0: @[FlexibleNullability] K of java.util.SortedMap?, p1: @[EnhancedNullability] java.util.function.BiFunction): 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): @[EnhancedNullability] V of java.util.SortedMap? declared in java.util.SortedMap $this: VALUE_PARAMETER name: 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 + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.BiFunction 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: fileName:/B.kt overridden: public abstract fun lastKey (): @[FlexibleNullability] K of java.util.SortedMap? declared in java.util.SortedMap $this: VALUE_PARAMETER name: type:java.util.SortedMap - 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) 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) 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): 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): @[EnhancedNullability] V of java.util.SortedMap? declared in java.util.SortedMap $this: VALUE_PARAMETER name: 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 + VALUE_PARAMETER name:p2 index:2 type:@[EnhancedNullability] java.util.function.BiFunction 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: fileName:/B.kt public abstract fun putAll (from: kotlin.collections.Map): kotlin.Unit declared in java.util.SortedMap $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?> VALUE_PARAMETER name:from index:0 type:kotlin.collections.Map - 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: 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: fileName:/B.kt $this: VALUE_PARAMETER name: 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: 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? diff --git a/compiler/testData/ir/irText/fakeOverrides/annotatedTypeParameter.fir.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/annotatedTypeParameter.fir.sig.kt.txt index e05d57246bf..1988af189e4 100644 --- a/compiler/testData/ir/irText/fakeOverrides/annotatedTypeParameter.fir.sig.kt.txt +++ b/compiler/testData/ir/irText/fakeOverrides/annotatedTypeParameter.fir.sig.kt.txt @@ -43,10 +43,10 @@ abstract class B : SortedMap { abstract /* fake */ override fun comparator(): Comparator? // CHECK JVM_IR: - // Mangled name: B#compute(kotlin.Boolean?;java.util.function.BiFunction{EnhancedNullability}){}kotlin.Boolean? - // Public signature: /B.compute|-5346835552938952377[0] - // Public signature debug description: compute(kotlin.Boolean?;java.util.function.BiFunction{EnhancedNullability}){}kotlin.Boolean? - /* fake */ override fun compute(p0: Boolean?, p1: @EnhancedNullability BiFunction): Boolean? + // Mangled name: B#compute(kotlin.Boolean?;java.util.function.BiFunction{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /B.compute|2218133050283840120[0] + // Public signature debug description: compute(kotlin.Boolean?;java.util.function.BiFunction{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + /* fake */ override fun compute(p0: Boolean?, p1: @EnhancedNullability BiFunction): @EnhancedNullability Boolean? // CHECK JVM_IR: // Mangled name: B#computeIfAbsent(kotlin.Boolean?;java.util.function.Function{EnhancedNullability}){}kotlin.Boolean? @@ -55,10 +55,10 @@ abstract class B : SortedMap { /* fake */ override fun computeIfAbsent(p0: Boolean?, p1: @EnhancedNullability Function): Boolean? // CHECK JVM_IR: - // Mangled name: B#computeIfPresent(kotlin.Boolean?;java.util.function.BiFunction{EnhancedNullability}){}kotlin.Boolean? - // Public signature: /B.computeIfPresent|8024417987206532564[0] - // Public signature debug description: computeIfPresent(kotlin.Boolean?;java.util.function.BiFunction{EnhancedNullability}){}kotlin.Boolean? - /* fake */ override fun computeIfPresent(p0: Boolean?, p1: @EnhancedNullability BiFunction): Boolean? + // Mangled name: B#computeIfPresent(kotlin.Boolean?;java.util.function.BiFunction{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /B.computeIfPresent|5468592095136244989[0] + // Public signature debug description: computeIfPresent(kotlin.Boolean?;java.util.function.BiFunction{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + /* fake */ override fun computeIfPresent(p0: Boolean?, p1: @EnhancedNullability BiFunction): @EnhancedNullability Boolean? // CHECK JVM_IR: // Mangled name: B#containsKey(kotlin.Boolean?){}kotlin.Boolean @@ -109,10 +109,10 @@ abstract class B : SortedMap { abstract /* fake */ override fun lastKey(): Boolean? // CHECK JVM_IR: - // Mangled name: B#merge(kotlin.Boolean?;kotlin.Boolean{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Boolean? - // Public signature: /B.merge|6281824337626947033[0] - // Public signature debug description: merge(kotlin.Boolean?;kotlin.Boolean{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Boolean? - /* fake */ override fun merge(p0: Boolean?, p1: @EnhancedNullability Boolean, p2: @EnhancedNullability BiFunction): Boolean? + // Mangled name: B#merge(kotlin.Boolean?;kotlin.Boolean{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /B.merge|-6153965291014224365[0] + // Public signature debug description: merge(kotlin.Boolean?;kotlin.Boolean{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + /* fake */ override fun merge(p0: Boolean?, p1: @EnhancedNullability Boolean, p2: @EnhancedNullability BiFunction): @EnhancedNullability Boolean? // CHECK JVM_IR: // Mangled name: B#put(kotlin.Boolean?;kotlin.Boolean?){}kotlin.Boolean? @@ -127,10 +127,10 @@ abstract class B : SortedMap { abstract /* fake */ override fun putAll(from: Map): 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 { 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 { abstract /* fake */ override get(): MutableCollection? } + diff --git a/compiler/testData/ir/irText/fakeOverrides/fakeOverrideOfRawJavaCollection.fir.ir.txt b/compiler/testData/ir/irText/fakeOverrides/fakeOverrideOfRawJavaCollection.fir.ir.txt index a0990c7561c..bce0e452e1e 100644 --- a/compiler/testData/ir/irText/fakeOverrides/fakeOverrideOfRawJavaCollection.fir.ir.txt +++ b/compiler/testData/ir/irText/fakeOverrides/fakeOverrideOfRawJavaCollection.fir.ir.txt @@ -50,11 +50,11 @@ FILE fqName: fileName:/1.kt public open fun ensureCapacity (p0: kotlin.Int): kotlin.Unit declared in .Java1 $this: VALUE_PARAMETER name: 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 .Java1 + public open fun equals (p0: @[EnhancedNullability] kotlin.Any?): kotlin.Boolean declared in .Java1 $this: VALUE_PARAMETER name: 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 .Java1 diff --git a/compiler/testData/ir/irText/fakeOverrides/fakeOverrideOfRawJavaCollection.fir.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/fakeOverrideOfRawJavaCollection.fir.sig.kt.txt index 2309349638d..b8fc8deb35c 100644 --- a/compiler/testData/ir/irText/fakeOverrides/fakeOverrideOfRawJavaCollection.fir.sig.kt.txt +++ b/compiler/testData/ir/irText/fakeOverrides/fakeOverrideOfRawJavaCollection.fir.sig.kt.txt @@ -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 } + diff --git a/compiler/testData/ir/irText/fakeOverrides/intersectionWithMappedSignature.fir.ir.txt b/compiler/testData/ir/irText/fakeOverrides/intersectionWithMappedSignature.fir.ir.txt index 7c8602be7d3..38db8987644 100644 --- a/compiler/testData/ir/irText/fakeOverrides/intersectionWithMappedSignature.fir.ir.txt +++ b/compiler/testData/ir/irText/fakeOverrides/intersectionWithMappedSignature.fir.ir.txt @@ -51,12 +51,12 @@ FILE fqName: fileName:/1.kt public open fun ensureCapacity (p0: kotlin.Int): kotlin.Unit declared in java.util.ArrayList $this: VALUE_PARAMETER name: type:java.util.ArrayList 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 .Java1 $this: VALUE_PARAMETER name: 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, p0:@[FlexibleNullability] java.util.function.Consumer?) returnType:kotlin.Unit [fake_override] overridden: public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in java.util.ArrayList @@ -99,9 +99,9 @@ FILE fqName: 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: type:java.util.ArrayList VALUE_PARAMETER name:p0 index:0 type:kotlin.Int - FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection) returnType:@[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] kotlin.Int?> [fake_override] + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection) 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: type:kotlin.collections.Collection FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:java.util.ArrayList, p0:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Boolean [fake_override] overridden: @@ -155,9 +155,9 @@ FILE fqName: 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: type:java.util.ArrayList - FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection) returnType:@[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] kotlin.Int?> [fake_override] + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection) 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: type:kotlin.collections.Collection FUN FAKE_OVERRIDE name:subList visibility:public modality:OPEN <> ($this:java.util.ArrayList, p0:kotlin.Int, p1:kotlin.Int) returnType:@[EnhancedNullability] kotlin.collections.MutableList<@[EnhancedNullability] kotlin.Int> [fake_override] overridden: diff --git a/compiler/testData/ir/irText/fakeOverrides/intersectionWithMappedSignature.fir.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/intersectionWithMappedSignature.fir.sig.kt.txt index bea8b7fbad5..0381c5b5193 100644 --- a/compiler/testData/ir/irText/fakeOverrides/intersectionWithMappedSignature.fir.sig.kt.txt +++ b/compiler/testData/ir/irText/fakeOverrides/intersectionWithMappedSignature.fir.sig.kt.txt @@ -63,10 +63,10 @@ abstract class B : ArrayList, 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?){} @@ -123,10 +123,12 @@ abstract class B : ArrayList, Java1 { /* fake */ override fun listIterator(p0: Int): @EnhancedNullability MutableListIterator<@EnhancedNullability Int> // CHECK JVM_IR: - // Mangled name: B#parallelStream(){}java.util.stream.Stream{EnhancedNullability} - // Public signature: /B.parallelStream|-4126444245712748289[0] - // Public signature debug description: parallelStream(){}java.util.stream.Stream{EnhancedNullability} - /* fake */ override fun parallelStream(): @EnhancedNullability Stream + // Mangled name: B#parallelStream(){}java.util.stream.Stream{EnhancedNullability} + // Mangled name for the signature by IR: parallelStream(){}java.util.stream.Stream{EnhancedNullability} + // Mangled name for the signature by Frontend: parallelStream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /B.parallelStream|-8395108522211591010[0] + // Public signature debug description: parallelStream(){}java.util.stream.Stream{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, Java1 { /* fake */ override fun spliterator(): @EnhancedNullability Spliterator // CHECK JVM_IR: - // Mangled name: B#stream(){}java.util.stream.Stream{EnhancedNullability} - // Public signature: /B.stream|2853909100718896833[0] - // Public signature debug description: stream(){}java.util.stream.Stream{EnhancedNullability} - /* fake */ override fun stream(): @EnhancedNullability Stream + // Mangled name: B#stream(){}java.util.stream.Stream{EnhancedNullability} + // Mangled name for the signature by IR: stream(){}java.util.stream.Stream{EnhancedNullability} + // Mangled name for the signature by Frontend: stream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /B.stream|1565529915260485250[0] + // Public signature debug description: stream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun stream(): @EnhancedNullability Stream<@EnhancedNullability Int?> // CHECK JVM_IR: // Mangled name: B#subList(kotlin.Int;kotlin.Int){}kotlin.collections.MutableList{EnhancedNullability} @@ -236,3 +240,4 @@ abstract class B : ArrayList, Java1 { /* fake */ override get(): Int } + diff --git a/compiler/testData/ir/irText/firProblems/AbstractMutableMap.fir.ir.txt b/compiler/testData/ir/irText/firProblems/AbstractMutableMap.fir.ir.txt index 08e95bc781d..b9c871f29fb 100644 --- a/compiler/testData/ir/irText/firProblems/AbstractMutableMap.fir.ir.txt +++ b/compiler/testData/ir/irText/firProblems/AbstractMutableMap.fir.ir.txt @@ -17,24 +17,24 @@ FILE fqName: fileName:/AbstractMutableMap.kt overridden: protected/*protected and package*/ open fun clone (): @[FlexibleNullability] kotlin.Any? declared in kotlin.collections.AbstractMutableMap $this: VALUE_PARAMETER name: type:java.util.AbstractMap.MyMap, V of .MyMap> - FUN FAKE_OVERRIDE name:compute visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap.MyMap, V of .MyMap>, p0:@[EnhancedNullability] K of .MyMap, p1:@[EnhancedNullability] java.util.function.BiFunction.MyMap, in V of .MyMap?, out V of .MyMap?>) returnType:V of .MyMap? [fake_override] + FUN FAKE_OVERRIDE name:compute visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap.MyMap, V of .MyMap>, p0:@[EnhancedNullability] K of .MyMap, p1:@[EnhancedNullability] java.util.function.BiFunction.MyMap, in @[EnhancedNullability] V of .MyMap?, out @[EnhancedNullability] V of .MyMap?>) returnType:@[EnhancedNullability] V of .MyMap? [fake_override] overridden: - public open fun compute (p0: @[EnhancedNullability] K of kotlin.collections.AbstractMutableMap, p1: @[EnhancedNullability] java.util.function.BiFunction): 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): @[EnhancedNullability] V of kotlin.collections.AbstractMutableMap? declared in kotlin.collections.AbstractMutableMap $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap.MyMap, V of .MyMap> VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] K of .MyMap - VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.BiFunction.MyMap, in V of .MyMap?, out V of .MyMap?> + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.BiFunction.MyMap, in @[EnhancedNullability] V of .MyMap?, out @[EnhancedNullability] V of .MyMap?> FUN FAKE_OVERRIDE name:computeIfAbsent visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap.MyMap, V of .MyMap>, p0:@[EnhancedNullability] K of .MyMap, p1:@[EnhancedNullability] java.util.function.Function.MyMap, out @[EnhancedNullability] V of .MyMap>) returnType:@[EnhancedNullability] V of .MyMap [fake_override] overridden: public open fun computeIfAbsent (p0: @[EnhancedNullability] K of kotlin.collections.AbstractMutableMap, p1: @[EnhancedNullability] java.util.function.Function): @[EnhancedNullability] V of kotlin.collections.AbstractMutableMap declared in kotlin.collections.AbstractMutableMap $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap.MyMap, V of .MyMap> VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] K of .MyMap VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.Function.MyMap, out @[EnhancedNullability] V of .MyMap> - FUN FAKE_OVERRIDE name:computeIfPresent visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap.MyMap, V of .MyMap>, p0:@[EnhancedNullability] K of .MyMap, p1:@[EnhancedNullability] java.util.function.BiFunction.MyMap, in V of .MyMap, out V of .MyMap?>) returnType:V of .MyMap? [fake_override] + FUN FAKE_OVERRIDE name:computeIfPresent visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap.MyMap, V of .MyMap>, p0:@[EnhancedNullability] K of .MyMap, p1:@[EnhancedNullability] java.util.function.BiFunction.MyMap, in V of .MyMap, out @[EnhancedNullability] V of .MyMap?>) returnType:@[EnhancedNullability] V of .MyMap? [fake_override] overridden: - public open fun computeIfPresent (p0: @[EnhancedNullability] K of kotlin.collections.AbstractMutableMap, p1: @[EnhancedNullability] java.util.function.BiFunction): 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): @[EnhancedNullability] V of kotlin.collections.AbstractMutableMap? declared in kotlin.collections.AbstractMutableMap $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap.MyMap, V of .MyMap> VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] K of .MyMap - VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.BiFunction.MyMap, in V of .MyMap, out V of .MyMap?> + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.BiFunction.MyMap, in V of .MyMap, out @[EnhancedNullability] V of .MyMap?> FUN FAKE_OVERRIDE name:containsKey visibility:public modality:OPEN <> ($this:kotlin.collections.Map.MyMap, V of .MyMap>, key:K of .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: fileName:/AbstractMutableMap.kt overridden: public open fun isEmpty (): kotlin.Boolean declared in kotlin.collections.AbstractMutableMap $this: VALUE_PARAMETER name: type:kotlin.collections.Map.MyMap, V of .MyMap> - FUN FAKE_OVERRIDE name:merge visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap.MyMap, V of .MyMap>, p0:@[EnhancedNullability] K of .MyMap, p1:@[EnhancedNullability] {V of .MyMap & Any}, p2:@[EnhancedNullability] java.util.function.BiFunction.MyMap, in V of .MyMap, out V of .MyMap?>) returnType:V of .MyMap? [fake_override] + FUN FAKE_OVERRIDE name:merge visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap.MyMap, V of .MyMap>, p0:@[EnhancedNullability] K of .MyMap, p1:@[EnhancedNullability] {V of .MyMap & Any}, p2:@[EnhancedNullability] java.util.function.BiFunction.MyMap, in V of .MyMap, out @[EnhancedNullability] V of .MyMap?>) returnType:@[EnhancedNullability] V of .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): 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): @[EnhancedNullability] V of kotlin.collections.AbstractMutableMap? declared in kotlin.collections.AbstractMutableMap $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap.MyMap, V of .MyMap> VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] K of .MyMap VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] {V of .MyMap & Any} - VALUE_PARAMETER name:p2 index:2 type:@[EnhancedNullability] java.util.function.BiFunction.MyMap, in V of .MyMap, out V of .MyMap?> + VALUE_PARAMETER name:p2 index:2 type:@[EnhancedNullability] java.util.function.BiFunction.MyMap, in V of .MyMap, out @[EnhancedNullability] V of .MyMap?> FUN FAKE_OVERRIDE name:putAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap.MyMap, V of .MyMap>, from:kotlin.collections.Map.MyMap, V of .MyMap>) returnType:kotlin.Unit [fake_override] overridden: public open fun putAll (from: kotlin.collections.Map): kotlin.Unit declared in kotlin.collections.AbstractMutableMap $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap.MyMap, V of .MyMap> VALUE_PARAMETER name:from index:0 type:kotlin.collections.Map.MyMap, V of .MyMap> - FUN FAKE_OVERRIDE name:putIfAbsent visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap.MyMap, V of .MyMap>, p0:@[EnhancedNullability] K of .MyMap, p1:@[EnhancedNullability] V of .MyMap) returnType:V of .MyMap? [fake_override] + FUN FAKE_OVERRIDE name:putIfAbsent visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap.MyMap, V of .MyMap>, p0:@[EnhancedNullability] K of .MyMap, p1:@[EnhancedNullability] V of .MyMap) returnType:@[EnhancedNullability] V of .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: type:kotlin.collections.MutableMap.MyMap, V of .MyMap> VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] K of .MyMap VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] V of .MyMap @@ -109,9 +109,9 @@ FILE fqName: fileName:/AbstractMutableMap.kt $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap.MyMap, V of .MyMap> VALUE_PARAMETER name:key index:0 type:K of .MyMap VALUE_PARAMETER name:value index:1 type:V of .MyMap - FUN FAKE_OVERRIDE name:replace visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap.MyMap, V of .MyMap>, p0:@[EnhancedNullability] K of .MyMap, p1:@[EnhancedNullability] V of .MyMap) returnType:V of .MyMap? [fake_override] + FUN FAKE_OVERRIDE name:replace visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap.MyMap, V of .MyMap>, p0:@[EnhancedNullability] K of .MyMap, p1:@[EnhancedNullability] V of .MyMap) returnType:@[EnhancedNullability] V of .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: type:kotlin.collections.MutableMap.MyMap, V of .MyMap> VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] K of .MyMap VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] V of .MyMap diff --git a/compiler/testData/ir/irText/firProblems/AbstractMutableMap.fir.sig.kt.txt b/compiler/testData/ir/irText/firProblems/AbstractMutableMap.fir.sig.kt.txt index bc899f45a0a..4bd85f52614 100644 --- a/compiler/testData/ir/irText/firProblems/AbstractMutableMap.fir.sig.kt.txt +++ b/compiler/testData/ir/irText/firProblems/AbstractMutableMap.fir.sig.kt.txt @@ -21,10 +21,10 @@ class MyMap : AbstractMutableMap { protected_and_package /* fake */ override fun clone(): Any? // CHECK JVM_IR: - // Mangled name: MyMap#compute(1:0{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}1:1? - // Public signature: /MyMap.compute|8707373617613354757[0] - // Public signature debug description: compute(1:0{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}1:1? - /* fake */ override fun compute(p0: @EnhancedNullability K, p1: @EnhancedNullability BiFunction): V? + // Mangled name: MyMap#compute(1:0{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}1:1?{EnhancedNullability} + // Public signature: /MyMap.compute|4714573429337571093[0] + // Public signature debug description: compute(1:0{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}1:1?{EnhancedNullability} + /* fake */ override fun compute(p0: @EnhancedNullability K, p1: @EnhancedNullability BiFunction): @EnhancedNullability V? // CHECK JVM_IR: // Mangled name: MyMap#computeIfAbsent(1:0{EnhancedNullability};java.util.function.Function{EnhancedNullability}){}1:1{EnhancedNullability} @@ -33,12 +33,12 @@ class MyMap : AbstractMutableMap { /* fake */ override fun computeIfAbsent(p0: @EnhancedNullability K, p1: @EnhancedNullability Function): @EnhancedNullability V // CHECK JVM_IR: - // Mangled name: MyMap#computeIfPresent(1:0{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}1:1? - // Mangled name for the signature by IR: computeIfPresent(1:0{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}1:1? - // Mangled name for the signature by Frontend: computeIfPresent(1:0{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}1:1? - // Public signature: /MyMap.computeIfPresent|-2673672788318360066[0] - // Public signature debug description: computeIfPresent(1:0{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}1:1? - /* fake */ override fun computeIfPresent(p0: @EnhancedNullability K, p1: @EnhancedNullability BiFunction): V? + // Mangled name: MyMap#computeIfPresent(1:0{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}1:1?{EnhancedNullability} + // Mangled name for the signature by IR: computeIfPresent(1:0{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}1:1?{EnhancedNullability} + // Mangled name for the signature by Frontend: computeIfPresent(1:0{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}1:1?{EnhancedNullability} + // Public signature: /MyMap.computeIfPresent|-1851789104614376895[0] + // Public signature debug description: computeIfPresent(1:0{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}1:1?{EnhancedNullability} + /* fake */ override fun computeIfPresent(p0: @EnhancedNullability K, p1: @EnhancedNullability BiFunction): @EnhancedNullability V? // CHECK JVM_IR: // Mangled name: MyMap#containsKey(1:0){}kotlin.Boolean @@ -83,12 +83,12 @@ class MyMap : AbstractMutableMap { /* fake */ override fun isEmpty(): Boolean // CHECK JVM_IR: - // Mangled name: MyMap#merge(1:0{EnhancedNullability};1:1{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}1:1? - // Mangled name for the signature by IR: merge(1:0{EnhancedNullability};1:1{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}1:1? - // Mangled name for the signature by Frontend: merge(1:0{EnhancedNullability};1:1{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}1:1? - // Public signature: /MyMap.merge|5136195963180492586[0] - // Public signature debug description: merge(1:0{EnhancedNullability};1:1{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}1:1? - /* fake */ override fun merge(p0: @EnhancedNullability K, p1: @EnhancedNullability (V & Any), p2: @EnhancedNullability BiFunction): V? + // Mangled name: MyMap#merge(1:0{EnhancedNullability};1:1{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}1:1?{EnhancedNullability} + // Mangled name for the signature by IR: merge(1:0{EnhancedNullability};1:1{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}1:1?{EnhancedNullability} + // Mangled name for the signature by Frontend: merge(1:0{EnhancedNullability};1:1{EnhancedNullability};java.util.function.BiFunction{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{EnhancedNullability}){}1:1?{EnhancedNullability} + /* fake */ override fun merge(p0: @EnhancedNullability K, p1: @EnhancedNullability (V & Any), p2: @EnhancedNullability BiFunction): @EnhancedNullability V? // CHECK: // Mangled name: MyMap#putAll(kotlin.collections.Map){} @@ -97,10 +97,10 @@ class MyMap : AbstractMutableMap { /* fake */ override fun putAll(from: Map): 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 : AbstractMutableMap { /* 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 diff --git a/compiler/testData/ir/irText/firProblems/ArrayListOverrides.fir.ir.txt b/compiler/testData/ir/irText/firProblems/ArrayListOverrides.fir.ir.txt index 075dee4d7e1..db8a29ca86b 100644 --- a/compiler/testData/ir/irText/firProblems/ArrayListOverrides.fir.ir.txt +++ b/compiler/testData/ir/irText/firProblems/ArrayListOverrides.fir.ir.txt @@ -51,11 +51,11 @@ FILE fqName: fileName:/ArrayListOverrides.kt public open fun ensureCapacity (p0: kotlin.Int): kotlin.Unit declared in java.util.ArrayList $this: VALUE_PARAMETER name: type:java.util.ArrayList 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: 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, p0:@[FlexibleNullability] java.util.function.Consumer?) returnType:kotlin.Unit [fake_override] overridden: public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in java.util.ArrayList @@ -240,11 +240,11 @@ FILE fqName: fileName:/ArrayListOverrides.kt public open fun ensureCapacity (p0: kotlin.Int): kotlin.Unit declared in java.util.ArrayList $this: VALUE_PARAMETER name: type:java.util.ArrayList 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: 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, p0:@[FlexibleNullability] java.util.function.Consumer?) returnType:kotlin.Unit [fake_override] overridden: public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in java.util.ArrayList diff --git a/compiler/testData/ir/irText/firProblems/ArrayListOverrides.fir.sig.kt.txt b/compiler/testData/ir/irText/firProblems/ArrayListOverrides.fir.sig.kt.txt index 783355910d9..ab759eadb2f 100644 --- a/compiler/testData/ir/irText/firProblems/ArrayListOverrides.fir.sig.kt.txt +++ b/compiler/testData/ir/irText/firProblems/ArrayListOverrides.fir.sig.kt.txt @@ -63,10 +63,10 @@ class A1 : ArrayList { /* 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?){} @@ -302,10 +302,10 @@ class A2 : ArrayList { /* 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?){} @@ -475,3 +475,4 @@ class A2 : ArrayList { /* fake */ override get(): Int } + diff --git a/compiler/testData/ir/irText/firProblems/ClashResolutionDescriptor.fir.ir.txt b/compiler/testData/ir/irText/firProblems/ClashResolutionDescriptor.fir.ir.txt index 4a3a03e2d9f..289771e6175 100644 --- a/compiler/testData/ir/irText/firProblems/ClashResolutionDescriptor.fir.ir.txt +++ b/compiler/testData/ir/irText/firProblems/ClashResolutionDescriptor.fir.ir.txt @@ -153,7 +153,7 @@ FILE fqName: fileName:/ClashResolutionDescriptor.kt BLOCK type=kotlin.collections.Collection<.ComponentDescriptor> origin=ELVIS VAR IR_TEMPORARY_VARIABLE name:tmp_1 type:kotlin.collections.Collection<.ComponentDescriptor>? [val] TYPE_OP type=kotlin.collections.Collection<.ComponentDescriptor>? origin=SAFE_CAST typeOperand=kotlin.collections.Collection<.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 (): java.util.HashMap declared in ' type=java.util.HashMap origin=GET_PROPERTY p0: CALL 'public final fun (): java.lang.Class.PlatformExtensionsClashResolver> declared in .PlatformExtensionsClashResolver' type=java.lang.Class.PlatformSpecificExtension<*>> origin=GET_PROPERTY $this: GET_VAR 'val resolver: .PlatformExtensionsClashResolver<*> declared in .resolveClashesIfAny' type=.PlatformExtensionsClashResolver<*> origin=null diff --git a/compiler/testData/ir/irText/firProblems/MultiList.fir.ir.txt b/compiler/testData/ir/irText/firProblems/MultiList.fir.ir.txt index c1899a5bdfd..ed637a912fb 100644 --- a/compiler/testData/ir/irText/firProblems/MultiList.fir.ir.txt +++ b/compiler/testData/ir/irText/firProblems/MultiList.fir.ir.txt @@ -346,7 +346,7 @@ FILE fqName: 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 .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: 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<.Some.SomeList>>, p0:@[FlexibleNullability] java.util.function.Consumer.Some.SomeList>?>?) returnType:kotlin.Unit [fake_override] diff --git a/compiler/testData/ir/irText/firProblems/putIfAbsent.fir.ir.txt b/compiler/testData/ir/irText/firProblems/putIfAbsent.fir.ir.txt deleted file mode 100644 index 5b58d2bd212..00000000000 --- a/compiler/testData/ir/irText/firProblems/putIfAbsent.fir.ir.txt +++ /dev/null @@ -1,35 +0,0 @@ -FILE fqName: fileName:/putIfAbsent.kt - CLASS CLASS name:Owner modality:FINAL visibility:public superTypes:[kotlin.Any] - $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Owner - CONSTRUCTOR visibility:public <> () returnType:.Owner [primary] - BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'public constructor () 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: 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: 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: type:kotlin.Any - FUN name:foo visibility:public modality:FINAL ($this:.Owner, x:T of .Owner.foo, y:T of .Owner.foo) returnType:kotlin.Unit - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false - $this: VALUE_PARAMETER name: type:.Owner - VALUE_PARAMETER name:x index:0 type:T of .Owner.foo - VALUE_PARAMETER name:y index:1 type:T of .Owner.foo - BLOCK_BODY - VAR name:map type:kotlin.collections.MutableMap.Owner.foo, T of .Owner.foo> [val] - CALL 'public final fun mutableMapOf (): kotlin.collections.MutableMap declared in kotlin.collections' type=kotlin.collections.MutableMap.Owner.foo, T of .Owner.foo> origin=null - : T of .Owner.foo - : T of .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 .Owner.foo? origin=null - $this: GET_VAR 'val map: kotlin.collections.MutableMap.Owner.foo, T of .Owner.foo> declared in .Owner.foo' type=kotlin.collections.MutableMap.Owner.foo, T of .Owner.foo> origin=null - p0: GET_VAR 'x: T of .Owner.foo declared in .Owner.foo' type=T of .Owner.foo origin=null - p1: GET_VAR 'y: T of .Owner.foo declared in .Owner.foo' type=T of .Owner.foo origin=null diff --git a/compiler/testData/ir/irText/firProblems/putIfAbsent.fir.kt.txt b/compiler/testData/ir/irText/firProblems/putIfAbsent.fir.kt.txt deleted file mode 100644 index 5e4cdba83e1..00000000000 --- a/compiler/testData/ir/irText/firProblems/putIfAbsent.fir.kt.txt +++ /dev/null @@ -1,13 +0,0 @@ -class Owner { - constructor() /* primary */ { - super/*Any*/() - /* () */ - - } - - fun foo(x: T, y: T) { - val map: MutableMap = mutableMapOf() - map.putIfAbsent(p0 = x, p1 = y) /*~> Unit */ - } - -} diff --git a/compiler/testData/ir/irText/firProblems/putIfAbsent.kt b/compiler/testData/ir/irText/firProblems/putIfAbsent.kt index 430cfc89724..130192cdbec 100644 --- a/compiler/testData/ir/irText/firProblems/putIfAbsent.kt +++ b/compiler/testData/ir/irText/firProblems/putIfAbsent.kt @@ -1,3 +1,4 @@ +// FIR_IDENTICAL // TARGET_BACKEND: JVM // WITH_STDLIB // FULL_JDK diff --git a/compiler/testData/ir/irText/stubs/builtinMap.fir.ir.txt b/compiler/testData/ir/irText/stubs/builtinMap.fir.ir.txt index 4a3f956f861..3cbb1eb8dd6 100644 --- a/compiler/testData/ir/irText/stubs/builtinMap.fir.ir.txt +++ b/compiler/testData/ir/irText/stubs/builtinMap.fir.ir.txt @@ -27,7 +27,7 @@ FILE fqName: fileName:/builtinMap.kt $receiver: VALUE_PARAMETER name:$this$apply type:java.util.LinkedHashMap<@[FlexibleNullability] K1 of .plus?, @[FlexibleNullability] V1 of .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 .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 .plus? origin=null $this: GET_VAR '$this$apply: java.util.LinkedHashMap<@[FlexibleNullability] K1 of .plus?, @[FlexibleNullability] V1 of .plus?> declared in .plus.' type=java.util.LinkedHashMap<@[FlexibleNullability] K1 of .plus?, @[FlexibleNullability] V1 of .plus?> origin=null p0: CALL 'public final fun (): A of kotlin.Pair declared in kotlin.Pair' type=K1 of .plus origin=GET_PROPERTY $this: GET_VAR 'pair: kotlin.Pair.plus, V1 of .plus> declared in .plus' type=kotlin.Pair.plus, V1 of .plus> origin=null