diff --git a/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/ir/FirLightTreeJvmIrTextTestGenerated.java b/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/ir/FirLightTreeJvmIrTextTestGenerated.java index 6383e13816d..e480cb432ae 100644 --- a/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/ir/FirLightTreeJvmIrTextTestGenerated.java +++ b/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/ir/FirLightTreeJvmIrTextTestGenerated.java @@ -2692,6 +2692,12 @@ public class FirLightTreeJvmIrTextTestGenerated extends AbstractFirLightTreeJvmI KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); } + @Test + @TestMetadata("annotatedTypeParameter.kt") + public void testAnnotatedTypeParameter() { + runTest("compiler/testData/ir/irText/fakeOverrides/annotatedTypeParameter.kt"); + } + @Test @TestMetadata("fakeOverrideOfRaw.kt") public void testFakeOverrideOfRaw() { diff --git a/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/ir/FirPsiJvmIrTextTestGenerated.java b/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/ir/FirPsiJvmIrTextTestGenerated.java index 6e5eecf37f4..49500dbb45f 100644 --- a/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/ir/FirPsiJvmIrTextTestGenerated.java +++ b/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/ir/FirPsiJvmIrTextTestGenerated.java @@ -2692,6 +2692,12 @@ public class FirPsiJvmIrTextTestGenerated extends AbstractFirPsiJvmIrTextTest { KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); } + @Test + @TestMetadata("annotatedTypeParameter.kt") + public void testAnnotatedTypeParameter() { + runTest("compiler/testData/ir/irText/fakeOverrides/annotatedTypeParameter.kt"); + } + @Test @TestMetadata("fakeOverrideOfRaw.kt") public void testFakeOverrideOfRaw() { diff --git a/compiler/testData/ir/irText/fakeOverrides/annotatedTypeParameter.fir.ir.txt b/compiler/testData/ir/irText/fakeOverrides/annotatedTypeParameter.fir.ir.txt new file mode 100644 index 00000000000..00e9b89a5dd --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/annotatedTypeParameter.fir.ir.txt @@ -0,0 +1,217 @@ +FILE fqName: fileName:/A.kt + CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Base] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Base' + : kotlin.Int + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Base]' + 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 .Base + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:OPEN <> ($this:.Base, s:@[EnhancedNullability] kotlin.Int) returnType:@[EnhancedNullability] kotlin.Int [fake_override] + overridden: + public open fun foo (s: @[EnhancedNullability] T of .Base): @[EnhancedNullability] T of .Base declared in .Base + $this: VALUE_PARAMETER name: type:.Base + VALUE_PARAMETER name:s index:0 type:@[EnhancedNullability] kotlin.Int + 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 .Base + $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 .Base + $this: VALUE_PARAMETER name: type:kotlin.Any +FILE fqName: fileName:/B.kt + CLASS CLASS name:B modality:ABSTRACT visibility:public superTypes:[java.util.SortedMap] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + CONSTRUCTOR visibility:public <> () returnType:.B [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:ABSTRACT visibility:public superTypes:[java.util.SortedMap]' + FUN FAKE_OVERRIDE name:clear visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun clear (): kotlin.Unit declared in java.util.SortedMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?> + FUN FAKE_OVERRIDE name:comparator visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap) returnType:@[FlexibleNullability] java.util.Comparator? [fake_override] + 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] + 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 + $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] + 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] + 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 + $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: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 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] kotlin.Boolean? + FUN FAKE_OVERRIDE name:containsValue visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Map<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>, value:@[FlexibleNullability] kotlin.Boolean?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsValue (value: @[FlexibleNullability] V of java.util.SortedMap?): kotlin.Boolean declared in java.util.SortedMap + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?> + VALUE_PARAMETER name:value index:0 type:@[FlexibleNullability] kotlin.Boolean? + 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 java.util.SortedMap + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:firstKey visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap) returnType:@[FlexibleNullability] kotlin.Boolean? [fake_override] + 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] + overridden: + 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 + 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 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] kotlin.Boolean? + FUN FAKE_OVERRIDE name:getOrDefault visibility:public modality:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>, key:@[FlexibleNullability] kotlin.Boolean?, defaultValue:@[FlexibleNullability] kotlin.Boolean?) returnType:@[FlexibleNullability] kotlin.Boolean? [fake_override] + annotations: + SinceKotlin(version = "1.1") + PlatformDependent + overridden: + public open fun getOrDefault (key: @[FlexibleNullability] K of java.util.SortedMap?, defaultValue: @[FlexibleNullability] V of java.util.SortedMap?): @[FlexibleNullability] V of java.util.SortedMap? declared in java.util.SortedMap + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] kotlin.Boolean? + VALUE_PARAMETER name:defaultValue index:1 type:@[FlexibleNullability] kotlin.Boolean? + 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 java.util.SortedMap + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:headMap visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap, p0:@[FlexibleNullability] kotlin.Boolean?) returnType:@[FlexibleNullability] java.util.SortedMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>? [fake_override] + overridden: + public abstract fun headMap (p0: @[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 + $this: VALUE_PARAMETER name: type:java.util.SortedMap + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Boolean? + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Map<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun isEmpty (): kotlin.Boolean declared in java.util.SortedMap + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?> + FUN FAKE_OVERRIDE name:lastKey visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap) returnType:@[FlexibleNullability] kotlin.Boolean? [fake_override] + 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] + 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 + $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 + 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 + $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:putAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>, from:kotlin.collections.Map) returnType:kotlin.Unit [fake_override] + overridden: + 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] + 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 + $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: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 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] kotlin.Boolean? + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>, key:@[FlexibleNullability] kotlin.Boolean?, value:@[FlexibleNullability] kotlin.Boolean?) returnType:kotlin.Boolean [fake_override] + annotations: + SinceKotlin(version = "1.1") + PlatformDependent + overridden: + public open fun remove (key: @[FlexibleNullability] K of java.util.SortedMap?, value: @[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: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] + 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 + $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] + 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 + $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] + overridden: + 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 + 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 + $this: VALUE_PARAMETER name: type:java.util.SortedMap + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Boolean? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] kotlin.Boolean? + FUN FAKE_OVERRIDE name:tailMap visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap, p0:@[FlexibleNullability] kotlin.Boolean?) returnType:@[FlexibleNullability] java.util.SortedMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>? [fake_override] + overridden: + public abstract fun tailMap (p0: @[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 + $this: VALUE_PARAMETER name: type:java.util.SortedMap + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Boolean? + 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 java.util.SortedMap + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:entries visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract entries: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] K of java.util.SortedMap?, @[FlexibleNullability] V of java.util.SortedMap?>?>? + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>?>? [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:entries visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract fun (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] K of java.util.SortedMap?, @[FlexibleNullability] V of java.util.SortedMap?>?>? declared in java.util.SortedMap + $this: VALUE_PARAMETER name: type:java.util.SortedMap + PROPERTY FAKE_OVERRIDE name:keys visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract keys: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] K of java.util.SortedMap?>? + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Boolean?>? [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:keys visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract fun (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] K of java.util.SortedMap?>? declared in java.util.SortedMap + $this: VALUE_PARAMETER name: type:java.util.SortedMap + PROPERTY FAKE_OVERRIDE name:size visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract size: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:size visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract fun (): kotlin.Int declared in java.util.SortedMap + $this: VALUE_PARAMETER name: type:java.util.SortedMap + PROPERTY FAKE_OVERRIDE name:values visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract values: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableCollection<@[FlexibleNullability] V of java.util.SortedMap?>? + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Boolean?>? [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:values visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract fun (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableCollection<@[FlexibleNullability] V of java.util.SortedMap?>? declared in java.util.SortedMap + $this: VALUE_PARAMETER name: type:java.util.SortedMap diff --git a/compiler/testData/ir/irText/fakeOverrides/annotatedTypeParameter.fir.kt.txt b/compiler/testData/ir/irText/fakeOverrides/annotatedTypeParameter.fir.kt.txt new file mode 100644 index 00000000000..5213eec7803 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/annotatedTypeParameter.fir.kt.txt @@ -0,0 +1,21 @@ +// FILE: A.kt + +class A : Base { + constructor() /* primary */ { + super/*Base*/() + /* () */ + + } + +} + +// FILE: B.kt + +abstract class B : SortedMap { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + +} diff --git a/compiler/testData/ir/irText/fakeOverrides/annotatedTypeParameter.fir.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/annotatedTypeParameter.fir.sig.kt.txt new file mode 100644 index 00000000000..e05d57246bf --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/annotatedTypeParameter.fir.sig.kt.txt @@ -0,0 +1,215 @@ +// FILE: A.kt + +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +class A : Base { + // CHECK: + // Mangled name: A#(){} + // Public signature: /A.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: A#foo(kotlin.Int{EnhancedNullability}){}kotlin.Int{EnhancedNullability} + // Public signature: /A.foo|-4507688816392864704[0] + // Public signature debug description: foo(kotlin.Int{EnhancedNullability}){}kotlin.Int{EnhancedNullability} + /* fake */ override fun foo(s: @EnhancedNullability Int): @EnhancedNullability Int + +} + +// FILE: B.kt + +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +abstract class B : SortedMap { + // CHECK: + // Mangled name: B#(){} + // Public signature: /B.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: B#clear(){} + // Public signature: /B.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + abstract /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: B#comparator(){}java.util.Comparator? + // Public signature: /B.comparator|5589924097229555022[0] + // Public signature debug description: comparator(){}java.util.Comparator? + 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? + + // 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? + + // 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? + + // CHECK JVM_IR: + // Mangled name: B#containsKey(kotlin.Boolean?){}kotlin.Boolean + // Public signature: /B.containsKey|-8235831514988883911[0] + // Public signature debug description: containsKey(kotlin.Boolean?){}kotlin.Boolean + abstract /* fake */ override fun containsKey(key: Boolean?): Boolean + + // CHECK JVM_IR: + // Mangled name: B#containsValue(kotlin.Boolean?){}kotlin.Boolean + // Public signature: /B.containsValue|-1908976232534565921[0] + // Public signature debug description: containsValue(kotlin.Boolean?){}kotlin.Boolean + abstract /* fake */ override fun containsValue(value: Boolean?): Boolean + + // CHECK JVM_IR: + // Mangled name: B#firstKey(){}kotlin.Boolean? + // Public signature: /B.firstKey|2260152268809084632[0] + // Public signature debug description: firstKey(){}kotlin.Boolean? + 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 + + // CHECK JVM_IR: + // Mangled name: B#get(kotlin.Boolean?){}kotlin.Boolean? + // Public signature: /B.get|-7784602833684913808[0] + // Public signature debug description: get(kotlin.Boolean?){}kotlin.Boolean? + abstract /* fake */ override operator fun get(key: Boolean?): Boolean? + + // CHECK JVM_IR: + // Mangled name: B#headMap(kotlin.Boolean?){}java.util.SortedMap? + // Public signature: /B.headMap|3429232571675833436[0] + // Public signature debug description: headMap(kotlin.Boolean?){}java.util.SortedMap? + abstract /* fake */ override fun headMap(p0: Boolean?): SortedMap? + + // CHECK JVM_IR: + // Mangled name: B#isEmpty(){}kotlin.Boolean + // Public signature: /B.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + abstract /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: B#lastKey(){}kotlin.Boolean? + // Public signature: /B.lastKey|-5878782178389103210[0] + // Public signature debug description: lastKey(){}kotlin.Boolean? + 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? + + // CHECK JVM_IR: + // Mangled name: B#put(kotlin.Boolean?;kotlin.Boolean?){}kotlin.Boolean? + // Public signature: /B.put|-5368624398980599224[0] + // Public signature debug description: put(kotlin.Boolean?;kotlin.Boolean?){}kotlin.Boolean? + abstract /* fake */ override fun put(key: Boolean?, value: Boolean?): Boolean? + + // CHECK: + // Mangled name: B#putAll(kotlin.collections.Map){} + // Public signature: /B.putAll|-226841264386034617[0] + // Public signature debug description: putAll(kotlin.collections.Map){} + 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? + + // CHECK JVM_IR: + // Mangled name: B#remove(kotlin.Boolean?){}kotlin.Boolean? + // Public signature: /B.remove|-5821443140623761137[0] + // Public signature debug description: remove(kotlin.Boolean?){}kotlin.Boolean? + abstract /* fake */ override fun remove(key: Boolean?): Boolean? + + // CHECK JVM_IR: + // Mangled name: B#replace(kotlin.Boolean?;kotlin.Boolean?){}kotlin.Boolean? + // Public signature: /B.replace|-3733200617381009142[0] + // Public signature debug description: replace(kotlin.Boolean?;kotlin.Boolean?){}kotlin.Boolean? + /* fake */ override fun replace(p0: Boolean?, p1: Boolean?): Boolean? + + // 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 + + // 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 + + // CHECK JVM_IR: + // Mangled name: B#subMap(kotlin.Boolean?;kotlin.Boolean?){}java.util.SortedMap? + // Public signature: /B.subMap|-1324986874260553961[0] + // Public signature debug description: subMap(kotlin.Boolean?;kotlin.Boolean?){}java.util.SortedMap? + abstract /* fake */ override fun subMap(p0: Boolean?, p1: Boolean?): SortedMap? + + // CHECK JVM_IR: + // Mangled name: B#tailMap(kotlin.Boolean?){}java.util.SortedMap? + // Public signature: /B.tailMap|-6557184974773795520[0] + // Public signature debug description: tailMap(kotlin.Boolean?){}java.util.SortedMap? + abstract /* fake */ override fun tailMap(p0: Boolean?): SortedMap? + + // CHECK: + // Mangled name: B{}entries + // Public signature: /B.entries|-586096469347622282[0] + // Public signature debug description: {}entries + abstract /* fake */ override val entries: MutableSet?>? + // CHECK JVM_IR: + // Mangled name: B#(){}kotlin.collections.MutableSet?>? + // Public signature: /B.entries.|7599268606377074279[0] + // Public signature debug description: (){}kotlin.collections.MutableSet?>? + abstract /* fake */ override get(): MutableSet?>? + + // CHECK: + // Mangled name: B{}keys + // Public signature: /B.keys|-1539062068328255324[0] + // Public signature debug description: {}keys + abstract /* fake */ override val keys: MutableSet? + // CHECK JVM_IR: + // Mangled name: B#(){}kotlin.collections.MutableSet? + // Public signature: /B.keys.|483538289598228229[0] + // Public signature debug description: (){}kotlin.collections.MutableSet? + abstract /* fake */ override get(): MutableSet? + + // CHECK: + // Mangled name: B{}size + // Public signature: /B.size|-6253659984320132064[0] + // Public signature debug description: {}size + abstract /* fake */ override val size: Int + // CHECK JVM_IR: + // Mangled name: B#(){}kotlin.Int + // Public signature: /B.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + abstract /* fake */ override get(): Int + + // CHECK: + // Mangled name: B{}values + // Public signature: /B.values|-764749005844117249[0] + // Public signature debug description: {}values + abstract /* fake */ override val values: MutableCollection? + // CHECK JVM_IR: + // Mangled name: B#(){}kotlin.collections.MutableCollection? + // Public signature: /B.values.|-410492473446277716[0] + // Public signature debug description: (){}kotlin.collections.MutableCollection? + abstract /* fake */ override get(): MutableCollection? + +} diff --git a/compiler/testData/ir/irText/fakeOverrides/annotatedTypeParameter.ir.txt b/compiler/testData/ir/irText/fakeOverrides/annotatedTypeParameter.ir.txt new file mode 100644 index 00000000000..64c8dfb87f0 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/annotatedTypeParameter.ir.txt @@ -0,0 +1,217 @@ +FILE fqName: fileName:/A.kt + CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Base] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Base' + : kotlin.Int + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Base]' + 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 .Base + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:OPEN <> ($this:.Base, s:@[EnhancedNullability] kotlin.Int) returnType:@[EnhancedNullability] kotlin.Int [fake_override] + overridden: + public open fun foo (s: @[EnhancedNullability] T of .Base): @[EnhancedNullability] T of .Base declared in .Base + $this: VALUE_PARAMETER name: type:.Base + VALUE_PARAMETER name:s index:0 type:@[EnhancedNullability] kotlin.Int + 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 .Base + $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 .Base + $this: VALUE_PARAMETER name: type:kotlin.Any +FILE fqName: fileName:/B.kt + CLASS CLASS name:B modality:ABSTRACT visibility:public superTypes:[java.util.SortedMap] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + CONSTRUCTOR visibility:public <> () returnType:.B [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:ABSTRACT visibility:public superTypes:[java.util.SortedMap]' + FUN FAKE_OVERRIDE name:clear visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun clear (): kotlin.Unit declared in java.util.SortedMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?> + FUN FAKE_OVERRIDE name:comparator visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap) returnType:@[FlexibleNullability] java.util.Comparator? [fake_override] + 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:@[EnhancedNullability] @[FlexibleNullability] kotlin.Boolean?, p1:@[EnhancedNullability] java.util.function.BiFunction) returnType:@[EnhancedNullability] kotlin.Boolean? [fake_override] + overridden: + 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:@[EnhancedNullability] @[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:@[EnhancedNullability] @[FlexibleNullability] kotlin.Boolean?, p1:@[EnhancedNullability] java.util.function.Function) returnType:@[EnhancedNullability] @[FlexibleNullability] kotlin.Boolean? [fake_override] + overridden: + 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:@[EnhancedNullability] @[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:@[EnhancedNullability] @[FlexibleNullability] kotlin.Boolean?, p1:@[EnhancedNullability] java.util.function.BiFunction) returnType:@[EnhancedNullability] kotlin.Boolean? [fake_override] + overridden: + 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:@[EnhancedNullability] @[FlexibleNullability] 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 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] kotlin.Boolean? + FUN FAKE_OVERRIDE name:containsValue visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Map<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>, value:@[FlexibleNullability] kotlin.Boolean?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsValue (value: @[FlexibleNullability] V of java.util.SortedMap?): kotlin.Boolean declared in java.util.SortedMap + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?> + VALUE_PARAMETER name:value index:0 type:@[FlexibleNullability] kotlin.Boolean? + 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 java.util.SortedMap + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:firstKey visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap) returnType:@[FlexibleNullability] kotlin.Boolean? [fake_override] + 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] + overridden: + 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 + 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 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] kotlin.Boolean? + FUN FAKE_OVERRIDE name:getOrDefault visibility:public modality:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>, key:@[FlexibleNullability] kotlin.Boolean?, defaultValue:@[FlexibleNullability] kotlin.Boolean?) returnType:@[FlexibleNullability] kotlin.Boolean? [fake_override] + annotations: + SinceKotlin(version = "1.1") + PlatformDependent + overridden: + public open fun getOrDefault (key: @[FlexibleNullability] K of java.util.SortedMap?, defaultValue: @[FlexibleNullability] V of java.util.SortedMap?): @[FlexibleNullability] V of java.util.SortedMap? declared in java.util.SortedMap + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] kotlin.Boolean? + VALUE_PARAMETER name:defaultValue index:1 type:@[FlexibleNullability] kotlin.Boolean? + 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 java.util.SortedMap + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:headMap visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap, p0:@[FlexibleNullability] kotlin.Boolean?) returnType:@[FlexibleNullability] java.util.SortedMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>? [fake_override] + overridden: + public abstract fun headMap (p0: @[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 + $this: VALUE_PARAMETER name: type:java.util.SortedMap + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Boolean? + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Map<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun isEmpty (): kotlin.Boolean declared in java.util.SortedMap + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?> + FUN FAKE_OVERRIDE name:lastKey visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap) returnType:@[FlexibleNullability] kotlin.Boolean? [fake_override] + 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:@[EnhancedNullability] @[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: @[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:@[EnhancedNullability] @[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 + 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 + $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:putAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>, from:kotlin.collections.Map) returnType:kotlin.Unit [fake_override] + overridden: + 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:@[EnhancedNullability] @[FlexibleNullability] kotlin.Boolean?, p1:@[EnhancedNullability] @[FlexibleNullability] kotlin.Boolean?) returnType:@[EnhancedNullability] kotlin.Boolean? [fake_override] + overridden: + 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:@[EnhancedNullability] @[FlexibleNullability] kotlin.Boolean? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] @[FlexibleNullability] 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 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] kotlin.Boolean? + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>, key:@[FlexibleNullability] kotlin.Boolean?, value:@[FlexibleNullability] kotlin.Boolean?) returnType:kotlin.Boolean [fake_override] + annotations: + SinceKotlin(version = "1.1") + PlatformDependent + overridden: + public open fun remove (key: @[FlexibleNullability] K of java.util.SortedMap?, value: @[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: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:@[EnhancedNullability] @[FlexibleNullability] kotlin.Boolean?, p1:@[EnhancedNullability] @[FlexibleNullability] kotlin.Boolean?) returnType:@[EnhancedNullability] kotlin.Boolean? [fake_override] + overridden: + 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:@[EnhancedNullability] @[FlexibleNullability] kotlin.Boolean? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Boolean? + FUN FAKE_OVERRIDE name:replace visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>, p0:@[EnhancedNullability] @[FlexibleNullability] kotlin.Boolean?, p1:@[EnhancedNullability] @[FlexibleNullability] kotlin.Boolean?, p2:@[EnhancedNullability] @[FlexibleNullability] kotlin.Boolean?) returnType:kotlin.Boolean [fake_override] + overridden: + 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:@[EnhancedNullability] @[FlexibleNullability] kotlin.Boolean? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Boolean? + VALUE_PARAMETER name:p2 index:2 type:@[EnhancedNullability] @[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] + overridden: + 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 + 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 + $this: VALUE_PARAMETER name: type:java.util.SortedMap + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Boolean? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] kotlin.Boolean? + FUN FAKE_OVERRIDE name:tailMap visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap, p0:@[FlexibleNullability] kotlin.Boolean?) returnType:@[FlexibleNullability] java.util.SortedMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>? [fake_override] + overridden: + public abstract fun tailMap (p0: @[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 + $this: VALUE_PARAMETER name: type:java.util.SortedMap + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Boolean? + 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 java.util.SortedMap + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:entries visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract entries: @[EnhancedNullability] kotlin.collections.MutableSet<@[EnhancedNullability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] K of java.util.SortedMap?, @[FlexibleNullability] V of java.util.SortedMap?>> + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap) returnType:@[EnhancedNullability] kotlin.collections.MutableSet<@[EnhancedNullability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>> [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:entries visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract fun (): @[EnhancedNullability] kotlin.collections.MutableSet<@[EnhancedNullability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] K of java.util.SortedMap?, @[FlexibleNullability] V of java.util.SortedMap?>> declared in java.util.SortedMap + $this: VALUE_PARAMETER name: type:java.util.SortedMap + PROPERTY FAKE_OVERRIDE name:keys visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract keys: @[EnhancedNullability] kotlin.collections.MutableSet<@[FlexibleNullability] K of java.util.SortedMap?> + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap) returnType:@[EnhancedNullability] kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Boolean?> [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:keys visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract fun (): @[EnhancedNullability] kotlin.collections.MutableSet<@[FlexibleNullability] K of java.util.SortedMap?> declared in java.util.SortedMap + $this: VALUE_PARAMETER name: type:java.util.SortedMap + PROPERTY FAKE_OVERRIDE name:size visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract size: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Map<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:size visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract fun (): kotlin.Int declared in java.util.SortedMap + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?> + PROPERTY FAKE_OVERRIDE name:values visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract values: @[EnhancedNullability] kotlin.collections.MutableCollection<@[FlexibleNullability] V of java.util.SortedMap?> + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap) returnType:@[EnhancedNullability] kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Boolean?> [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:values visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract fun (): @[EnhancedNullability] kotlin.collections.MutableCollection<@[FlexibleNullability] V of java.util.SortedMap?> declared in java.util.SortedMap + $this: VALUE_PARAMETER name: type:java.util.SortedMap diff --git a/compiler/testData/ir/irText/fakeOverrides/annotatedTypeParameter.kt b/compiler/testData/ir/irText/fakeOverrides/annotatedTypeParameter.kt new file mode 100644 index 00000000000..06ed45d9fc6 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/annotatedTypeParameter.kt @@ -0,0 +1,21 @@ +// TARGET_BACKEND: JVM_IR +// WITH_STDLIB +// FULL_JDK +// ENABLE_IR_FAKE_OVERRIDE_GENERATION +// SEPARATE_SIGNATURE_DUMP_FOR_K2 +// ISSUE: KT-65302 + +// FILE: Base.java +import org.jetbrains.annotations.NotNull; + +public class Base<@NotNull T> { + public T foo(T s) {} +} + +// FILE: A.kt +class A : Base() + +// FILE: B.kt +import java.util.SortedMap + +abstract class B : SortedMap diff --git a/compiler/testData/ir/irText/fakeOverrides/annotatedTypeParameter.kt.txt b/compiler/testData/ir/irText/fakeOverrides/annotatedTypeParameter.kt.txt new file mode 100644 index 00000000000..5213eec7803 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/annotatedTypeParameter.kt.txt @@ -0,0 +1,21 @@ +// FILE: A.kt + +class A : Base { + constructor() /* primary */ { + super/*Base*/() + /* () */ + + } + +} + +// FILE: B.kt + +abstract class B : SortedMap { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + +} diff --git a/compiler/testData/ir/irText/fakeOverrides/annotatedTypeParameter.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/annotatedTypeParameter.sig.kt.txt new file mode 100644 index 00000000000..f5dec7fcdd0 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/annotatedTypeParameter.sig.kt.txt @@ -0,0 +1,215 @@ +// FILE: A.kt + +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +class A : Base { + // CHECK: + // Mangled name: A#(){} + // Public signature: /A.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: A#foo(kotlin.Int{EnhancedNullability}){}kotlin.Int{EnhancedNullability} + // Public signature: /A.foo|-4507688816392864704[0] + // Public signature debug description: foo(kotlin.Int{EnhancedNullability}){}kotlin.Int{EnhancedNullability} + /* fake */ override fun foo(s: @EnhancedNullability Int): @EnhancedNullability Int + +} + +// FILE: B.kt + +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +abstract class B : SortedMap { + // CHECK: + // Mangled name: B#(){} + // Public signature: /B.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: B#clear(){} + // Public signature: /B.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + abstract /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: B#comparator(){}java.util.Comparator? + // Public signature: /B.comparator|5589924097229555022[0] + // Public signature debug description: comparator(){}java.util.Comparator? + abstract /* fake */ override fun comparator(): Comparator? + + // CHECK JVM_IR: + // 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?{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?{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 + // Public signature: /B.containsKey|-8235831514988883911[0] + // Public signature debug description: containsKey(kotlin.Boolean?){}kotlin.Boolean + abstract /* fake */ override fun containsKey(key: Boolean?): Boolean + + // CHECK JVM_IR: + // Mangled name: B#containsValue(kotlin.Boolean?){}kotlin.Boolean + // Public signature: /B.containsValue|-1908976232534565921[0] + // Public signature debug description: containsValue(kotlin.Boolean?){}kotlin.Boolean + abstract /* fake */ override fun containsValue(value: Boolean?): Boolean + + // CHECK JVM_IR: + // Mangled name: B#firstKey(){}kotlin.Boolean? + // Public signature: /B.firstKey|2260152268809084632[0] + // Public signature debug description: firstKey(){}kotlin.Boolean? + abstract /* fake */ override fun firstKey(): Boolean? + + // CHECK: + // 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? + // Public signature: /B.get|-7784602833684913808[0] + // Public signature debug description: get(kotlin.Boolean?){}kotlin.Boolean? + abstract /* fake */ override operator fun get(key: Boolean?): Boolean? + + // CHECK JVM_IR: + // Mangled name: B#headMap(kotlin.Boolean?){}java.util.SortedMap? + // Public signature: /B.headMap|3429232571675833436[0] + // Public signature debug description: headMap(kotlin.Boolean?){}java.util.SortedMap? + abstract /* fake */ override fun headMap(p0: Boolean?): SortedMap? + + // CHECK JVM_IR: + // Mangled name: B#isEmpty(){}kotlin.Boolean + // Public signature: /B.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + abstract /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: B#lastKey(){}kotlin.Boolean? + // Public signature: /B.lastKey|-5878782178389103210[0] + // Public signature debug description: lastKey(){}kotlin.Boolean? + abstract /* fake */ override fun lastKey(): Boolean? + + // CHECK JVM_IR: + // 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? + // Public signature: /B.put|-5368624398980599224[0] + // Public signature debug description: put(kotlin.Boolean?;kotlin.Boolean?){}kotlin.Boolean? + abstract /* fake */ override fun put(key: Boolean?, value: Boolean?): Boolean? + + // CHECK: + // Mangled name: B#putAll(kotlin.collections.Map){} + // Public signature: /B.putAll|-226841264386034617[0] + // Public signature debug description: putAll(kotlin.collections.Map){} + abstract /* fake */ override fun putAll(from: Map): Unit + + // CHECK JVM_IR: + // 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? + // Public signature: /B.remove|-5821443140623761137[0] + // Public signature debug description: remove(kotlin.Boolean?){}kotlin.Boolean? + abstract /* fake */ override fun remove(key: Boolean?): Boolean? + + // CHECK JVM_IR: + // 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?{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|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? + // Public signature: /B.subMap|-1324986874260553961[0] + // Public signature debug description: subMap(kotlin.Boolean?;kotlin.Boolean?){}java.util.SortedMap? + abstract /* fake */ override fun subMap(p0: Boolean?, p1: Boolean?): SortedMap? + + // CHECK JVM_IR: + // Mangled name: B#tailMap(kotlin.Boolean?){}java.util.SortedMap? + // Public signature: /B.tailMap|-6557184974773795520[0] + // Public signature debug description: tailMap(kotlin.Boolean?){}java.util.SortedMap? + abstract /* fake */ override fun tailMap(p0: Boolean?): SortedMap? + + // CHECK: + // Mangled name: B{}entries + // Public signature: /B.entries|-586096469347622282[0] + // Public signature debug description: {}entries + abstract /* fake */ override val entries: @EnhancedNullability MutableSet<@EnhancedNullability MutableEntry> + // CHECK JVM_IR: + // Mangled name: B#(){}kotlin.collections.MutableSet{EnhancedNullability}>{EnhancedNullability} + // Public signature: /B.entries.|5073510598625478346[0] + // Public signature debug description: (){}kotlin.collections.MutableSet{EnhancedNullability}>{EnhancedNullability} + abstract /* fake */ override get(): @EnhancedNullability MutableSet<@EnhancedNullability MutableEntry> + + // CHECK: + // Mangled name: B{}keys + // Public signature: /B.keys|-1539062068328255324[0] + // Public signature debug description: {}keys + abstract /* fake */ override val keys: @EnhancedNullability MutableSet + // CHECK JVM_IR: + // Mangled name: B#(){}kotlin.collections.MutableSet{EnhancedNullability} + // Public signature: /B.keys.|-3437886487554544497[0] + // Public signature debug description: (){}kotlin.collections.MutableSet{EnhancedNullability} + abstract /* fake */ override get(): @EnhancedNullability MutableSet + + // CHECK: + // Mangled name: B{}size + // Public signature: /B.size|-6253659984320132064[0] + // Public signature debug description: {}size + abstract /* fake */ override val size: Int + // CHECK JVM_IR: + // Mangled name: B#(){}kotlin.Int + // Public signature: /B.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + abstract /* fake */ override get(): Int + + // CHECK: + // Mangled name: B{}values + // Public signature: /B.values|-764749005844117249[0] + // Public signature debug description: {}values + abstract /* fake */ override val values: @EnhancedNullability MutableCollection + // CHECK JVM_IR: + // Mangled name: B#(){}kotlin.collections.MutableCollection{EnhancedNullability} + // Public signature: /B.values.|2965564880775457094[0] + // Public signature debug description: (){}kotlin.collections.MutableCollection{EnhancedNullability} + abstract /* fake */ override get(): @EnhancedNullability MutableCollection + +} diff --git a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/ir/ClassicJvmIrTextTestGenerated.java b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/ir/ClassicJvmIrTextTestGenerated.java index 37c27e4db80..b36722c9e0c 100644 --- a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/ir/ClassicJvmIrTextTestGenerated.java +++ b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/ir/ClassicJvmIrTextTestGenerated.java @@ -2692,6 +2692,12 @@ public class ClassicJvmIrTextTestGenerated extends AbstractClassicJvmIrTextTest KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); } + @Test + @TestMetadata("annotatedTypeParameter.kt") + public void testAnnotatedTypeParameter() { + runTest("compiler/testData/ir/irText/fakeOverrides/annotatedTypeParameter.kt"); + } + @Test @TestMetadata("fakeOverrideOfRaw.kt") public void testFakeOverrideOfRaw() {