From 4c9fc8f214726ab25f8de46807fbbd1a91687581 Mon Sep 17 00:00:00 2001 From: Dmitriy Novozhilov Date: Fri, 16 Feb 2024 15:23:56 +0200 Subject: [PATCH] [FIR2IR] Add @EnhancedNullability and @FlexibleNullability independently Previously @EnhancedNullability for IR type was added if only there wasn't an @FlexibleNullability annotation, which is inconsistent with K1 behavior ^KT-65302 Fixed --- .../kotlin/fir/backend/Fir2IrTypeConverter.kt | 16 ++--- .../annotatedTypeParameter.fir.ir.txt | 68 +++++++++--------- .../annotatedTypeParameter.fir.sig.kt.txt | 72 +++++++++---------- .../firProblems/ArrayListOverrides.fir.ir.txt | 16 ++--- .../ArrayListOverrides.fir.sig.kt.txt | 40 ++++++----- 5 files changed, 109 insertions(+), 103 deletions(-) diff --git a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrTypeConverter.kt b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrTypeConverter.kt index 9ad8d889bc6..85649e74962 100644 --- a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrTypeConverter.kt +++ b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrTypeConverter.kt @@ -114,16 +114,14 @@ class Fir2IrTypeConverter( ?: (lookupTag as? ConeClassLikeLookupTag)?.let(classifiersGenerator::createIrClassForNotFoundClass)?.symbol ?: return createErrorType() - when { - hasFlexibleNullability -> { - builtIns.flexibleNullabilityAnnotationConstructorCall()?.let { - typeAnnotations += it - } + if (hasEnhancedNullability) { + builtIns.enhancedNullabilityAnnotationConstructorCall()?.let { + typeAnnotations += it } - hasEnhancedNullability -> { - builtIns.enhancedNullabilityAnnotationConstructorCall()?.let { - typeAnnotations += it - } + } + if (hasFlexibleNullability) { + builtIns.flexibleNullabilityAnnotationConstructorCall()?.let { + typeAnnotations += it } } if (hasFlexibleMutability) { diff --git a/compiler/testData/ir/irText/fakeOverrides/annotatedTypeParameter.fir.ir.txt b/compiler/testData/ir/irText/fakeOverrides/annotatedTypeParameter.fir.ir.txt index 746d1d7919e..d6e4e4f7ad7 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:@[EnhancedNullability] 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] @[EnhancedNullability] 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): @[EnhancedNullability] V of java.util.SortedMap? declared in java.util.SortedMap + public open fun compute (p0: @[EnhancedNullability] @[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 - 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] + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean? + 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] @[EnhancedNullability] kotlin.Boolean?, p1:@[EnhancedNullability] java.util.function.Function) returnType:@[FlexibleNullability] @[EnhancedNullability] 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 + public open fun computeIfAbsent (p0: @[EnhancedNullability] @[FlexibleNullability] K of java.util.SortedMap?, p1: @[EnhancedNullability] java.util.function.Function): @[EnhancedNullability] @[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:@[EnhancedNullability] kotlin.Boolean? [fake_override] + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] 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] @[EnhancedNullability] 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): @[EnhancedNullability] V of java.util.SortedMap? declared in java.util.SortedMap + public open fun computeIfPresent (p0: @[EnhancedNullability] @[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:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean? + 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 @@ -76,11 +76,11 @@ FILE fqName: fileName:/B.kt overridden: public abstract fun firstKey (): @[FlexibleNullability] K of java.util.SortedMap? declared in java.util.SortedMap $this: VALUE_PARAMETER name: type:java.util.SortedMap - FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>, p0:@[EnhancedNullability] java.util.function.BiConsumer) returnType:kotlin.Unit [fake_override] + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>, p0:@[EnhancedNullability] java.util.function.BiConsumer) returnType:kotlin.Unit [fake_override] overridden: - public open fun forEach (p0: @[EnhancedNullability] java.util.function.BiConsumer): kotlin.Unit declared in java.util.SortedMap + public open fun forEach (p0: @[EnhancedNullability] java.util.function.BiConsumer): kotlin.Unit declared in java.util.SortedMap $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?> - VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.BiConsumer + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.BiConsumer FUN FAKE_OVERRIDE name:get visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Map<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>, key:@[FlexibleNullability] kotlin.Boolean?) returnType:kotlin.Boolean? [fake_override,operator] overridden: public abstract fun get (key: @[FlexibleNullability] K of java.util.SortedMap?): V of java.util.SortedMap? declared in java.util.SortedMap @@ -112,11 +112,11 @@ 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:@[EnhancedNullability] 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] @[EnhancedNullability] 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): @[EnhancedNullability] V of java.util.SortedMap? declared in java.util.SortedMap + public open fun merge (p0: @[EnhancedNullability] @[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:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean? VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] kotlin.Boolean 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] @@ -130,12 +130,12 @@ 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:@[EnhancedNullability] 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] @[EnhancedNullability] kotlin.Boolean?, p1:@[FlexibleNullability] @[EnhancedNullability] 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?): @[EnhancedNullability] V of java.util.SortedMap? declared in java.util.SortedMap + public open fun putIfAbsent (p0: @[EnhancedNullability] @[FlexibleNullability] K of java.util.SortedMap?, p1: @[EnhancedNullability] @[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? + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean? FUN FAKE_OVERRIDE name:remove visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>, key:@[FlexibleNullability] kotlin.Boolean?) returnType:kotlin.Boolean? [fake_override] overridden: public abstract fun remove (key: @[FlexibleNullability] K of java.util.SortedMap?): V of java.util.SortedMap? declared in java.util.SortedMap @@ -150,24 +150,24 @@ 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:@[EnhancedNullability] 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] @[EnhancedNullability] kotlin.Boolean?, p1:@[FlexibleNullability] @[EnhancedNullability] 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?): @[EnhancedNullability] V of java.util.SortedMap? declared in java.util.SortedMap + public open fun replace (p0: @[EnhancedNullability] @[FlexibleNullability] K of java.util.SortedMap?, p1: @[EnhancedNullability] @[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? - 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?, p2:@[FlexibleNullability] kotlin.Boolean?) returnType:kotlin.Boolean [fake_override] + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean? + FUN FAKE_OVERRIDE name:replace visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>, p0:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean?, p1:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean?, p2:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean?) returnType:kotlin.Boolean [fake_override] overridden: - public open fun replace (p0: @[FlexibleNullability] K of java.util.SortedMap?, p1: @[FlexibleNullability] V of java.util.SortedMap?, p2: @[FlexibleNullability] V of java.util.SortedMap?): kotlin.Boolean declared in java.util.SortedMap + public open fun replace (p0: @[EnhancedNullability] @[FlexibleNullability] K of java.util.SortedMap?, p1: @[EnhancedNullability] @[FlexibleNullability] V of java.util.SortedMap?, p2: @[EnhancedNullability] @[FlexibleNullability] V of java.util.SortedMap?): kotlin.Boolean 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? - VALUE_PARAMETER name:p2 index:2 type:@[FlexibleNullability] kotlin.Boolean? - FUN FAKE_OVERRIDE name:replaceAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>, p0:@[EnhancedNullability] java.util.function.BiFunction) returnType:kotlin.Unit [fake_override] + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean? + VALUE_PARAMETER name:p2 index:2 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean? + FUN FAKE_OVERRIDE name:replaceAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>, p0:@[EnhancedNullability] java.util.function.BiFunction) returnType:kotlin.Unit [fake_override] overridden: - public open fun replaceAll (p0: @[EnhancedNullability] java.util.function.BiFunction): kotlin.Unit declared in java.util.SortedMap + public open fun replaceAll (p0: @[EnhancedNullability] java.util.function.BiFunction): kotlin.Unit 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:@[EnhancedNullability] java.util.function.BiFunction + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.BiFunction FUN FAKE_OVERRIDE name:subMap visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap, p0:@[FlexibleNullability] kotlin.Boolean?, p1:@[FlexibleNullability] kotlin.Boolean?) returnType:@[FlexibleNullability] java.util.SortedMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>? [fake_override] overridden: public abstract fun subMap (p0: @[FlexibleNullability] K of java.util.SortedMap?, p1: @[FlexibleNullability] K of java.util.SortedMap?): @[FlexibleNullability] java.util.SortedMap<@[FlexibleNullability] K of java.util.SortedMap?, @[FlexibleNullability] V of java.util.SortedMap?>? declared in java.util.SortedMap 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 1988af189e4..c3c614fbbf4 100644 --- a/compiler/testData/ir/irText/fakeOverrides/annotatedTypeParameter.fir.sig.kt.txt +++ b/compiler/testData/ir/irText/fakeOverrides/annotatedTypeParameter.fir.sig.kt.txt @@ -43,22 +43,22 @@ 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?{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? + // Mangled name: B#compute(kotlin.Boolean?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /B.compute|4175412046172705961[0] + // Public signature debug description: compute(kotlin.Boolean?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + /* fake */ override fun compute(p0: @EnhancedNullability Boolean?, p1: @EnhancedNullability BiFunction): @EnhancedNullability Boolean? // CHECK JVM_IR: - // Mangled name: B#computeIfAbsent(kotlin.Boolean?;java.util.function.Function{EnhancedNullability}){}kotlin.Boolean? - // Public signature: /B.computeIfAbsent|1096700037497579597[0] - // Public signature debug description: computeIfAbsent(kotlin.Boolean?;java.util.function.Function{EnhancedNullability}){}kotlin.Boolean? - /* fake */ override fun computeIfAbsent(p0: Boolean?, p1: @EnhancedNullability Function): Boolean? + // Mangled name: B#computeIfAbsent(kotlin.Boolean?{EnhancedNullability};java.util.function.Function{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /B.computeIfAbsent|2318086775890399186[0] + // Public signature debug description: computeIfAbsent(kotlin.Boolean?{EnhancedNullability};java.util.function.Function{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + /* fake */ override fun computeIfAbsent(p0: @EnhancedNullability Boolean?, p1: @EnhancedNullability Function): @EnhancedNullability Boolean? // CHECK JVM_IR: - // 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? + // Mangled name: B#computeIfPresent(kotlin.Boolean?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /B.computeIfPresent|-4444435589895688498[0] + // Public signature debug description: computeIfPresent(kotlin.Boolean?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + /* fake */ override fun computeIfPresent(p0: @EnhancedNullability Boolean?, p1: @EnhancedNullability BiFunction): @EnhancedNullability Boolean? // CHECK JVM_IR: // Mangled name: B#containsKey(kotlin.Boolean?){}kotlin.Boolean @@ -79,10 +79,10 @@ abstract class B : SortedMap { abstract /* fake */ override fun firstKey(): Boolean? // CHECK: - // Mangled name: B#forEach(java.util.function.BiConsumer{EnhancedNullability}){} - // Public signature: /B.forEach|4979529160577645000[0] - // Public signature debug description: forEach(java.util.function.BiConsumer{EnhancedNullability}){} - /* fake */ override fun forEach(p0: @EnhancedNullability BiConsumer): Unit + // Mangled name: B#forEach(java.util.function.BiConsumer{EnhancedNullability}){} + // Public signature: /B.forEach|3878961874603336765[0] + // Public signature debug description: forEach(java.util.function.BiConsumer{EnhancedNullability}){} + /* fake */ override fun forEach(p0: @EnhancedNullability BiConsumer): Unit // CHECK JVM_IR: // Mangled name: B#get(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?{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? + // Mangled name: B#merge(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /B.merge|-2570739162911161248[0] + // Public signature debug description: merge(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + /* fake */ override fun merge(p0: @EnhancedNullability 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?{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? + // Mangled name: B#putIfAbsent(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /B.putIfAbsent|6516214788860106211[0] + // Public signature debug description: putIfAbsent(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + /* fake */ override fun putIfAbsent(p0: @EnhancedNullability Boolean?, p1: @EnhancedNullability Boolean?): @EnhancedNullability Boolean? // CHECK JVM_IR: // Mangled name: B#remove(kotlin.Boolean?){}kotlin.Boolean? @@ -139,22 +139,22 @@ 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?{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? + // Mangled name: B#replace(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /B.replace|5218516597732619705[0] + // Public signature debug description: replace(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + /* fake */ override fun replace(p0: @EnhancedNullability Boolean?, p1: @EnhancedNullability Boolean?): @EnhancedNullability Boolean? // CHECK JVM_IR: - // Mangled name: B#replace(kotlin.Boolean?;kotlin.Boolean?;kotlin.Boolean?){}kotlin.Boolean - // Public signature: /B.replace|-9069568666863893509[0] - // Public signature debug description: replace(kotlin.Boolean?;kotlin.Boolean?;kotlin.Boolean?){}kotlin.Boolean - /* fake */ override fun replace(p0: Boolean?, p1: Boolean?, p2: Boolean?): Boolean + // Mangled name: B#replace(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.replace|4813966440904142311[0] + // Public signature debug description: replace(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun replace(p0: @EnhancedNullability Boolean?, p1: @EnhancedNullability Boolean?, p2: @EnhancedNullability Boolean?): Boolean // CHECK: - // Mangled name: B#replaceAll(java.util.function.BiFunction{EnhancedNullability}){} - // Public signature: /B.replaceAll|-5276862550272752760[0] - // Public signature debug description: replaceAll(java.util.function.BiFunction{EnhancedNullability}){} - /* fake */ override fun replaceAll(p0: @EnhancedNullability BiFunction): Unit + // Mangled name: B#replaceAll(java.util.function.BiFunction{EnhancedNullability}){} + // Public signature: /B.replaceAll|5359563359504799908[0] + // Public signature debug description: replaceAll(java.util.function.BiFunction{EnhancedNullability}){} + /* fake */ override fun replaceAll(p0: @EnhancedNullability BiFunction): Unit // CHECK JVM_IR: // Mangled name: B#subMap(kotlin.Boolean?;kotlin.Boolean?){}java.util.SortedMap? diff --git a/compiler/testData/ir/irText/firProblems/ArrayListOverrides.fir.ir.txt b/compiler/testData/ir/irText/firProblems/ArrayListOverrides.fir.ir.txt index db8a29ca86b..72100d6837c 100644 --- a/compiler/testData/ir/irText/firProblems/ArrayListOverrides.fir.ir.txt +++ b/compiler/testData/ir/irText/firProblems/ArrayListOverrides.fir.ir.txt @@ -97,9 +97,9 @@ FILE fqName: fileName:/ArrayListOverrides.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.String?> [fake_override] + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.String?> [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.String) returnType:kotlin.Boolean [fake_override] overridden: @@ -152,9 +152,9 @@ FILE fqName: fileName:/ArrayListOverrides.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.String?> [fake_override] + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.String?> [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.String> [fake_override] overridden: @@ -286,9 +286,9 @@ FILE fqName: fileName:/ArrayListOverrides.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.String?> [fake_override] + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.String?> [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:removeAll visibility:public modality:OPEN <> ($this:java.util.ArrayList, p0:kotlin.collections.Collection<@[EnhancedNullability] kotlin.String>) returnType:kotlin.Boolean [fake_override] overridden: @@ -336,9 +336,9 @@ FILE fqName: fileName:/ArrayListOverrides.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.String?> [fake_override] + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.String?> [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.String> [fake_override] overridden: 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 ab759eadb2f..b482fae8089 100644 --- a/compiler/testData/ir/irText/firProblems/ArrayListOverrides.fir.sig.kt.txt +++ b/compiler/testData/ir/irText/firProblems/ArrayListOverrides.fir.sig.kt.txt @@ -123,10 +123,12 @@ class A1 : ArrayList { /* fake */ override fun listIterator(p0: Int): @EnhancedNullability MutableListIterator<@EnhancedNullability String> // CHECK JVM_IR: - // Mangled name: A1#parallelStream(){}java.util.stream.Stream{EnhancedNullability} - // Public signature: /A1.parallelStream|-4896737022635116901[0] - // Public signature debug description: parallelStream(){}java.util.stream.Stream{EnhancedNullability} - /* fake */ override fun parallelStream(): @EnhancedNullability Stream + // Mangled name: A1#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: /A1.parallelStream|3092772522219636263[0] + // Public signature debug description: parallelStream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun parallelStream(): @EnhancedNullability Stream<@EnhancedNullability String?> // CHECK JVM_IR: // Mangled name: A1#remove(kotlin.String{EnhancedNullability}){}kotlin.Boolean @@ -189,10 +191,12 @@ class A1 : ArrayList { /* fake */ override fun spliterator(): @EnhancedNullability Spliterator // CHECK JVM_IR: - // Mangled name: A1#stream(){}java.util.stream.Stream{EnhancedNullability} - // Public signature: /A1.stream|-795993718377355146[0] - // Public signature debug description: stream(){}java.util.stream.Stream{EnhancedNullability} - /* fake */ override fun stream(): @EnhancedNullability Stream + // Mangled name: A1#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: /A1.stream|6909137692784416467[0] + // Public signature debug description: stream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun stream(): @EnhancedNullability Stream<@EnhancedNullability String?> // CHECK JVM_IR: // Mangled name: A1#subList(kotlin.Int;kotlin.Int){}kotlin.collections.MutableList{EnhancedNullability} @@ -362,10 +366,12 @@ class A2 : ArrayList { /* fake */ override fun listIterator(p0: Int): @EnhancedNullability MutableListIterator<@EnhancedNullability String> // CHECK JVM_IR: - // Mangled name: A2#parallelStream(){}java.util.stream.Stream{EnhancedNullability} - // Public signature: /A2.parallelStream|-4896737022635116901[0] - // Public signature debug description: parallelStream(){}java.util.stream.Stream{EnhancedNullability} - /* fake */ override fun parallelStream(): @EnhancedNullability Stream + // Mangled name: A2#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: /A2.parallelStream|3092772522219636263[0] + // Public signature debug description: parallelStream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun parallelStream(): @EnhancedNullability Stream<@EnhancedNullability String?> // CHECK JVM_IR: // Mangled name: A2#removeAll(kotlin.collections.Collection){}kotlin.Boolean @@ -422,10 +428,12 @@ class A2 : ArrayList { /* fake */ override fun spliterator(): @EnhancedNullability Spliterator // CHECK JVM_IR: - // Mangled name: A2#stream(){}java.util.stream.Stream{EnhancedNullability} - // Public signature: /A2.stream|-795993718377355146[0] - // Public signature debug description: stream(){}java.util.stream.Stream{EnhancedNullability} - /* fake */ override fun stream(): @EnhancedNullability Stream + // Mangled name: A2#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: /A2.stream|6909137692784416467[0] + // Public signature debug description: stream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun stream(): @EnhancedNullability Stream<@EnhancedNullability String?> // CHECK JVM_IR: // Mangled name: A2#subList(kotlin.Int;kotlin.Int){}kotlin.collections.MutableList{EnhancedNullability}