diff --git a/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/LLFirBlackBoxCodegenBasedTestGenerated.java b/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/LLFirBlackBoxCodegenBasedTestGenerated.java index ddfafa114d8..e90596be229 100644 --- a/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/LLFirBlackBoxCodegenBasedTestGenerated.java +++ b/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/LLFirBlackBoxCodegenBasedTestGenerated.java @@ -52538,6 +52538,12 @@ public class LLFirBlackBoxCodegenBasedTestGenerated extends AbstractLLFirBlackBo runTest("compiler/testData/codegen/box/specialBuiltins/explicitSuperCall.kt"); } + @Test + @TestMetadata("irrelevantRemoveAndJavaList.kt") + public void testIrrelevantRemoveAndJavaList() throws Exception { + runTest("compiler/testData/codegen/box/specialBuiltins/irrelevantRemoveAndJavaList.kt"); + } + @Test @TestMetadata("irrelevantRemoveAtOverride.kt") public void testIrrelevantRemoveAtOverride() throws Exception { diff --git a/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/LLFirReversedBlackBoxCodegenBasedTestGenerated.java b/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/LLFirReversedBlackBoxCodegenBasedTestGenerated.java index ac1e562ea11..f0510081d9f 100644 --- a/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/LLFirReversedBlackBoxCodegenBasedTestGenerated.java +++ b/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/LLFirReversedBlackBoxCodegenBasedTestGenerated.java @@ -52538,6 +52538,12 @@ public class LLFirReversedBlackBoxCodegenBasedTestGenerated extends AbstractLLFi runTest("compiler/testData/codegen/box/specialBuiltins/explicitSuperCall.kt"); } + @Test + @TestMetadata("irrelevantRemoveAndJavaList.kt") + public void testIrrelevantRemoveAndJavaList() throws Exception { + runTest("compiler/testData/codegen/box/specialBuiltins/irrelevantRemoveAndJavaList.kt"); + } + @Test @TestMetadata("irrelevantRemoveAtOverride.kt") public void testIrrelevantRemoveAtOverride() throws Exception { diff --git a/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirLightTreeBlackBoxCodegenTestGenerated.java b/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirLightTreeBlackBoxCodegenTestGenerated.java index 0c0a795ff8c..9c43858e98b 100644 --- a/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirLightTreeBlackBoxCodegenTestGenerated.java +++ b/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirLightTreeBlackBoxCodegenTestGenerated.java @@ -52021,6 +52021,12 @@ public class FirLightTreeBlackBoxCodegenTestGenerated extends AbstractFirLightTr runTest("compiler/testData/codegen/box/specialBuiltins/explicitSuperCall.kt"); } + @Test + @TestMetadata("irrelevantRemoveAndJavaList.kt") + public void testIrrelevantRemoveAndJavaList() throws Exception { + runTest("compiler/testData/codegen/box/specialBuiltins/irrelevantRemoveAndJavaList.kt"); + } + @Test @TestMetadata("irrelevantRemoveAtOverride.kt") public void testIrrelevantRemoveAtOverride() throws Exception { diff --git a/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirLightTreeBlackBoxCodegenWithIrFakeOverrideGeneratorTestGenerated.java b/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirLightTreeBlackBoxCodegenWithIrFakeOverrideGeneratorTestGenerated.java index e3ed538e2be..b4fecc2a3e7 100644 --- a/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirLightTreeBlackBoxCodegenWithIrFakeOverrideGeneratorTestGenerated.java +++ b/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirLightTreeBlackBoxCodegenWithIrFakeOverrideGeneratorTestGenerated.java @@ -52021,6 +52021,12 @@ public class FirLightTreeBlackBoxCodegenWithIrFakeOverrideGeneratorTestGenerated runTest("compiler/testData/codegen/box/specialBuiltins/explicitSuperCall.kt"); } + @Test + @TestMetadata("irrelevantRemoveAndJavaList.kt") + public void testIrrelevantRemoveAndJavaList() throws Exception { + runTest("compiler/testData/codegen/box/specialBuiltins/irrelevantRemoveAndJavaList.kt"); + } + @Test @TestMetadata("irrelevantRemoveAtOverride.kt") public void testIrrelevantRemoveAtOverride() throws Exception { diff --git a/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirPsiBlackBoxCodegenTestGenerated.java b/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirPsiBlackBoxCodegenTestGenerated.java index 6c0f5e7d84c..2fdd1d74f34 100644 --- a/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirPsiBlackBoxCodegenTestGenerated.java +++ b/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirPsiBlackBoxCodegenTestGenerated.java @@ -52073,6 +52073,12 @@ public class FirPsiBlackBoxCodegenTestGenerated extends AbstractFirPsiBlackBoxCo runTest("compiler/testData/codegen/box/specialBuiltins/explicitSuperCall.kt"); } + @Test + @TestMetadata("irrelevantRemoveAndJavaList.kt") + public void testIrrelevantRemoveAndJavaList() throws Exception { + runTest("compiler/testData/codegen/box/specialBuiltins/irrelevantRemoveAndJavaList.kt"); + } + @Test @TestMetadata("irrelevantRemoveAtOverride.kt") public void testIrrelevantRemoveAtOverride() throws Exception { diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/overrides/CopyIrTreeWithSymbolsForFakeOverrides.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/overrides/CopyIrTreeWithSymbolsForFakeOverrides.kt index b934666520c..2b966701de3 100644 --- a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/overrides/CopyIrTreeWithSymbolsForFakeOverrides.kt +++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/overrides/CopyIrTreeWithSymbolsForFakeOverrides.kt @@ -16,6 +16,7 @@ import org.jetbrains.kotlin.ir.types.impl.buildSimpleType import org.jetbrains.kotlin.ir.types.impl.makeTypeProjection import org.jetbrains.kotlin.ir.util.* import org.jetbrains.kotlin.ir.visitors.acceptVoid +import org.jetbrains.kotlin.name.StandardClassIds.Annotations.EnhancedNullability import org.jetbrains.kotlin.name.StandardClassIds.Annotations.FlexibleNullability import org.jetbrains.kotlin.utils.addIfNotNull import org.jetbrains.kotlin.utils.memoryOptimizedMap @@ -106,9 +107,10 @@ class CopyIrTreeWithSymbolsForFakeOverrides( } private companion object { - // TODO (KT-64715): RawTypeAnnotation, FlexibleMutability, EnhancedNullability, RawType, FlexibleArrayElementVariance? + // TODO (KT-64715): RawTypeAnnotation, FlexibleMutability, RawType, FlexibleArrayElementVariance? val TYPE_ANNOTATIONS_TO_MERGE = listOf( FlexibleNullability.asSingleFqName(), + EnhancedNullability.asSingleFqName(), ) } } diff --git a/compiler/testData/codegen/box/specialBuiltins/irrelevantRemoveAndJavaList.kt b/compiler/testData/codegen/box/specialBuiltins/irrelevantRemoveAndJavaList.kt new file mode 100644 index 00000000000..8bd2182db23 --- /dev/null +++ b/compiler/testData/codegen/box/specialBuiltins/irrelevantRemoveAndJavaList.kt @@ -0,0 +1,24 @@ +// TARGET_BACKEND: JVM +// FULL_JDK + +import java.util.LinkedList + +interface KotlinInterface { + fun remove(i: Int): Boolean +} + +var result = "Fail" + +abstract class C : LinkedList(), KotlinInterface + +class D : C() { + override fun remove(i: Int): Boolean { + result = "OK" + return true + } +} + +fun box(): String { + D().remove(0) + return result +} diff --git a/compiler/testData/ir/irText/declarations/kt65432.fir.ir.txt b/compiler/testData/ir/irText/declarations/kt65432.fir.ir.txt index fe52e2a6fb7..a758cee875a 100644 --- a/compiler/testData/ir/irText/declarations/kt65432.fir.ir.txt +++ b/compiler/testData/ir/irText/declarations/kt65432.fir.ir.txt @@ -183,21 +183,21 @@ FILE fqName: fileName:/1.kt overridden: public open fun isEmpty (): kotlin.Boolean declared in java.util.ArrayList $this: VALUE_PARAMETER name: type:java.util.ArrayList - FUN FAKE_OVERRIDE name:contains visibility:public modality:OPEN <> ($this:java.util.ArrayList, p0:kotlin.Int) returnType:kotlin.Boolean [fake_override,operator] + FUN FAKE_OVERRIDE name:contains visibility:public modality:OPEN <> ($this:java.util.ArrayList, p0:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Boolean [fake_override,operator] overridden: public open fun contains (p0: @[EnhancedNullability] E of java.util.ArrayList): kotlin.Boolean 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:indexOf visibility:public modality:OPEN <> ($this:java.util.ArrayList, p0:kotlin.Int) returnType:kotlin.Int [fake_override] + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:indexOf visibility:public modality:OPEN <> ($this:java.util.ArrayList, p0:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Int [fake_override] overridden: public open fun indexOf (p0: @[EnhancedNullability] E of java.util.ArrayList): kotlin.Int 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:lastIndexOf visibility:public modality:OPEN <> ($this:java.util.ArrayList, p0:kotlin.Int) returnType:kotlin.Int [fake_override] + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:lastIndexOf visibility:public modality:OPEN <> ($this:java.util.ArrayList, p0:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Int [fake_override] overridden: public open fun lastIndexOf (p0: @[EnhancedNullability] E of java.util.ArrayList): kotlin.Int declared in java.util.ArrayList $this: VALUE_PARAMETER name: type:java.util.ArrayList - VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Int FUN FAKE_OVERRIDE name:clone visibility:public modality:OPEN <> ($this:java.util.ArrayList) returnType:@[EnhancedNullability] kotlin.Any [fake_override] overridden: public open fun clone (): @[EnhancedNullability] kotlin.Any declared in java.util.ArrayList @@ -212,78 +212,78 @@ FILE fqName: fileName:/1.kt TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false $this: VALUE_PARAMETER name: type:java.util.ArrayList VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.KotlinClass.toArray?>? - FUN FAKE_OVERRIDE name:get visibility:public modality:OPEN <> ($this:java.util.ArrayList, p0:kotlin.Int) returnType:kotlin.Int [fake_override,operator] + FUN FAKE_OVERRIDE name:get visibility:public modality:OPEN <> ($this:java.util.ArrayList, p0:kotlin.Int) returnType:@[EnhancedNullability] kotlin.Int [fake_override,operator] overridden: public open fun get (p0: kotlin.Int): @[EnhancedNullability] E of java.util.ArrayList declared in java.util.ArrayList $this: VALUE_PARAMETER name: type:java.util.ArrayList VALUE_PARAMETER name:p0 index:0 type:kotlin.Int - FUN FAKE_OVERRIDE name:set visibility:public modality:OPEN <> ($this:java.util.ArrayList, p0:kotlin.Int, p1:kotlin.Int) returnType:kotlin.Int [fake_override,operator] + FUN FAKE_OVERRIDE name:set visibility:public modality:OPEN <> ($this:java.util.ArrayList, p0:kotlin.Int, p1:@[EnhancedNullability] kotlin.Int) returnType:@[EnhancedNullability] kotlin.Int [fake_override,operator] overridden: public open fun set (p0: kotlin.Int, p1: @[EnhancedNullability] E of java.util.ArrayList): @[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 - VALUE_PARAMETER name:p1 index:1 type:kotlin.Int - FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:java.util.ArrayList, p0:kotlin.Int) returnType:kotlin.Boolean [fake_override] + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:java.util.ArrayList, p0:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Boolean [fake_override] overridden: public open fun add (p0: @[EnhancedNullability] E of java.util.ArrayList): kotlin.Boolean 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:add visibility:public modality:OPEN <> ($this:java.util.ArrayList, p0:kotlin.Int, p1:kotlin.Int) returnType:kotlin.Unit [fake_override] + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:java.util.ArrayList, p0:kotlin.Int, p1:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Unit [fake_override] overridden: public open fun add (p0: kotlin.Int, p1: @[EnhancedNullability] E of java.util.ArrayList): kotlin.Unit declared in java.util.ArrayList $this: VALUE_PARAMETER name: type:java.util.ArrayList VALUE_PARAMETER name:p0 index:0 type:kotlin.Int - VALUE_PARAMETER name:p1 index:1 type:kotlin.Int - FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:java.util.ArrayList, p0:kotlin.Int) returnType:kotlin.Boolean [fake_override] + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:java.util.ArrayList, p0:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Boolean [fake_override] overridden: public open fun remove (p0: @[EnhancedNullability] E of java.util.ArrayList): kotlin.Boolean declared in java.util.ArrayList $this: VALUE_PARAMETER name: type:java.util.ArrayList - VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Int FUN FAKE_OVERRIDE name:clear visibility:public modality:OPEN <> ($this:java.util.ArrayList) returnType:kotlin.Unit [fake_override] overridden: public open fun clear (): kotlin.Unit declared in java.util.ArrayList $this: VALUE_PARAMETER name: type:java.util.ArrayList - FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:java.util.ArrayList, p0:@[EnhancedNullability] kotlin.collections.Collection) returnType:kotlin.Boolean [fake_override] + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:java.util.ArrayList, p0:@[EnhancedNullability] kotlin.collections.Collection) returnType:kotlin.Boolean [fake_override] overridden: public open fun addAll (p0: @[EnhancedNullability] kotlin.collections.Collection): kotlin.Boolean declared in java.util.ArrayList $this: VALUE_PARAMETER name: type:java.util.ArrayList - VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.collections.Collection - FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:java.util.ArrayList, p0:kotlin.Int, p1:@[EnhancedNullability] kotlin.collections.Collection) returnType:kotlin.Boolean [fake_override] + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.collections.Collection + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:java.util.ArrayList, p0:kotlin.Int, p1:@[EnhancedNullability] kotlin.collections.Collection) returnType:kotlin.Boolean [fake_override] overridden: public open fun addAll (p0: kotlin.Int, p1: @[EnhancedNullability] kotlin.collections.Collection): kotlin.Boolean declared in java.util.ArrayList $this: VALUE_PARAMETER name: type:java.util.ArrayList VALUE_PARAMETER name:p0 index:0 type:kotlin.Int - VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] kotlin.collections.Collection + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] kotlin.collections.Collection FUN FAKE_OVERRIDE name:removeRange visibility:protected/*protected and package*/ modality:OPEN <> ($this:java.util.ArrayList, p0:kotlin.Int, p1:kotlin.Int) returnType:kotlin.Unit [fake_override] overridden: protected/*protected and package*/ open fun removeRange (p0: kotlin.Int, p1: kotlin.Int): kotlin.Unit declared in java.util.ArrayList $this: VALUE_PARAMETER name: type:java.util.ArrayList VALUE_PARAMETER name:p0 index:0 type:kotlin.Int VALUE_PARAMETER name:p1 index:1 type:kotlin.Int - FUN FAKE_OVERRIDE name:removeAll visibility:public modality:OPEN <> ($this:java.util.ArrayList, p0:kotlin.collections.Collection) returnType:kotlin.Boolean [fake_override] + FUN FAKE_OVERRIDE name:removeAll visibility:public modality:OPEN <> ($this:java.util.ArrayList, p0:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int>) returnType:kotlin.Boolean [fake_override] overridden: public open fun removeAll (p0: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.ArrayList>): kotlin.Boolean declared in java.util.ArrayList $this: VALUE_PARAMETER name: type:java.util.ArrayList - VALUE_PARAMETER name:p0 index:0 type:kotlin.collections.Collection - FUN FAKE_OVERRIDE name:retainAll visibility:public modality:OPEN <> ($this:java.util.ArrayList, p0:kotlin.collections.Collection) returnType:kotlin.Boolean [fake_override] + VALUE_PARAMETER name:p0 index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:retainAll visibility:public modality:OPEN <> ($this:java.util.ArrayList, p0:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int>) returnType:kotlin.Boolean [fake_override] overridden: public open fun retainAll (p0: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.ArrayList>): kotlin.Boolean declared in java.util.ArrayList $this: VALUE_PARAMETER name: type:java.util.ArrayList - VALUE_PARAMETER name:p0 index:0 type:kotlin.collections.Collection - FUN FAKE_OVERRIDE name:listIterator visibility:public modality:OPEN <> ($this:java.util.ArrayList, p0:kotlin.Int) returnType:@[EnhancedNullability] kotlin.collections.MutableListIterator [fake_override] + VALUE_PARAMETER name:p0 index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:listIterator visibility:public modality:OPEN <> ($this:java.util.ArrayList, p0:kotlin.Int) returnType:@[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] kotlin.Int> [fake_override] overridden: 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:listIterator visibility:public modality:OPEN <> ($this:java.util.ArrayList) returnType:@[EnhancedNullability] kotlin.collections.MutableListIterator [fake_override] + FUN FAKE_OVERRIDE name:listIterator visibility:public modality:OPEN <> ($this:java.util.ArrayList) returnType:@[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] kotlin.Int> [fake_override] overridden: public open fun listIterator (): @[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] E of java.util.ArrayList> declared in java.util.ArrayList $this: VALUE_PARAMETER name: type:java.util.ArrayList - FUN FAKE_OVERRIDE name:iterator visibility:public modality:OPEN <> ($this:java.util.ArrayList) returnType:@[EnhancedNullability] kotlin.collections.MutableIterator [fake_override,operator] + FUN FAKE_OVERRIDE name:iterator visibility:public modality:OPEN <> ($this:java.util.ArrayList) returnType:@[EnhancedNullability] kotlin.collections.MutableIterator<@[EnhancedNullability] kotlin.Int> [fake_override,operator] overridden: public open fun iterator (): @[EnhancedNullability] kotlin.collections.MutableIterator<@[EnhancedNullability] E of java.util.ArrayList> declared in java.util.ArrayList $this: VALUE_PARAMETER name: type:java.util.ArrayList - FUN FAKE_OVERRIDE name:subList visibility:public modality:OPEN <> ($this:java.util.ArrayList, p0:kotlin.Int, p1:kotlin.Int) returnType:@[EnhancedNullability] kotlin.collections.MutableList [fake_override] + FUN FAKE_OVERRIDE name:subList visibility:public modality:OPEN <> ($this:java.util.ArrayList, p0:kotlin.Int, p1:kotlin.Int) returnType:@[EnhancedNullability] kotlin.collections.MutableList<@[EnhancedNullability] kotlin.Int> [fake_override] overridden: public open fun subList (p0: kotlin.Int, p1: kotlin.Int): @[EnhancedNullability] kotlin.collections.MutableList<@[EnhancedNullability] E of java.util.ArrayList> declared in java.util.ArrayList $this: VALUE_PARAMETER name: type:java.util.ArrayList @@ -298,16 +298,16 @@ FILE fqName: fileName:/1.kt overridden: public open fun hashCode (): kotlin.Int declared in java.util.ArrayList $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> - FUN FAKE_OVERRIDE name:containsAll visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?>, p0:kotlin.collections.Collection) returnType:kotlin.Boolean [fake_override] + FUN FAKE_OVERRIDE name:containsAll visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?>, p0:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int>) returnType:kotlin.Boolean [fake_override] overridden: public open fun containsAll (p0: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.ArrayList>): kotlin.Boolean declared in java.util.ArrayList $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> - VALUE_PARAMETER name:p0 index:0 type:kotlin.collections.Collection + VALUE_PARAMETER name:p0 index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int> FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] kotlin.String [fake_override] overridden: public open fun toString (): @[EnhancedNullability] kotlin.String declared in java.util.ArrayList $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> - FUN FAKE_OVERRIDE name:removeAt visibility:public modality:OPEN <> ($this:java.util.ArrayList, p0:kotlin.Int) returnType:kotlin.Int [fake_override,operator] + FUN FAKE_OVERRIDE name:removeAt visibility:public modality:OPEN <> ($this:java.util.ArrayList, p0:kotlin.Int) returnType:@[EnhancedNullability] kotlin.Int [fake_override,operator] overridden: public open fun removeAt (p0: kotlin.Int): @[EnhancedNullability] E of java.util.ArrayList declared in java.util.ArrayList $this: VALUE_PARAMETER name: type:java.util.ArrayList diff --git a/compiler/testData/ir/irText/declarations/kt65432.fir.sig.kt.txt b/compiler/testData/ir/irText/declarations/kt65432.fir.sig.kt.txt index 43b12a03715..0f554b33744 100644 --- a/compiler/testData/ir/irText/declarations/kt65432.fir.sig.kt.txt +++ b/compiler/testData/ir/irText/declarations/kt65432.fir.sig.kt.txt @@ -206,28 +206,28 @@ open class KotlinClass : ArrayList { constructor() /* primary */ // CHECK JVM_IR: - // Mangled name: KotlinClass#add(kotlin.Int){}kotlin.Boolean - // Public signature: /KotlinClass.add|-1806173376318726841[0] - // Public signature debug description: add(kotlin.Int){}kotlin.Boolean - /* fake */ override fun add(p0: Int): Boolean + // Mangled name: KotlinClass#add(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + // Public signature: /KotlinClass.add|7559962077055454748[0] + // Public signature debug description: add(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun add(p0: @EnhancedNullability Int): Boolean // CHECK: - // Mangled name: KotlinClass#add(kotlin.Int;kotlin.Int){} - // Public signature: /KotlinClass.add|-6416567052772437491[0] - // Public signature debug description: add(kotlin.Int;kotlin.Int){} - /* fake */ override fun add(p0: Int, p1: Int): Unit + // Mangled name: KotlinClass#add(kotlin.Int;kotlin.Int{EnhancedNullability}){} + // Public signature: /KotlinClass.add|-3194712170900556378[0] + // Public signature debug description: add(kotlin.Int;kotlin.Int{EnhancedNullability}){} + /* fake */ override fun add(p0: Int, p1: @EnhancedNullability Int): Unit // CHECK JVM_IR: - // Mangled name: KotlinClass#addAll(kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean - // Public signature: /KotlinClass.addAll|-2033819616667572066[0] - // Public signature debug description: addAll(kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean - /* fake */ override fun addAll(p0: @EnhancedNullability Collection): Boolean + // Mangled name: KotlinClass#addAll(kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + // Public signature: /KotlinClass.addAll|-8388196230555083661[0] + // Public signature debug description: addAll(kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun addAll(p0: @EnhancedNullability Collection): Boolean // CHECK JVM_IR: - // Mangled name: KotlinClass#addAll(kotlin.Int;kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean - // Public signature: /KotlinClass.addAll|7567819331579950214[0] - // Public signature debug description: addAll(kotlin.Int;kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean - /* fake */ override fun addAll(p0: Int, p1: @EnhancedNullability Collection): Boolean + // Mangled name: KotlinClass#addAll(kotlin.Int;kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + // Public signature: /KotlinClass.addAll|30670022050259765[0] + // Public signature debug description: addAll(kotlin.Int;kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun addAll(p0: Int, p1: @EnhancedNullability Collection): Boolean // CHECK: // Mangled name: KotlinClass#clear(){} @@ -242,16 +242,16 @@ open class KotlinClass : ArrayList { /* fake */ override fun clone(): @EnhancedNullability Any // CHECK JVM_IR: - // Mangled name: KotlinClass#contains(kotlin.Int){}kotlin.Boolean - // Public signature: /KotlinClass.contains|5978686608528191145[0] - // Public signature debug description: contains(kotlin.Int){}kotlin.Boolean - /* fake */ override operator fun contains(p0: Int): Boolean + // Mangled name: KotlinClass#contains(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + // Public signature: /KotlinClass.contains|3736388240191289860[0] + // Public signature debug description: contains(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + /* fake */ override operator fun contains(p0: @EnhancedNullability Int): Boolean // CHECK JVM_IR: - // Mangled name: KotlinClass#containsAll(kotlin.collections.Collection){}kotlin.Boolean - // Public signature: /KotlinClass.containsAll|5891935227751154106[0] - // Public signature debug description: containsAll(kotlin.collections.Collection){}kotlin.Boolean - /* fake */ override fun containsAll(p0: Collection): Boolean + // Mangled name: KotlinClass#containsAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /KotlinClass.containsAll|-6765067201579764726[0] + // Public signature debug description: containsAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun containsAll(p0: Collection<@EnhancedNullability Int>): Boolean // CHECK: // Mangled name: KotlinClass#ensureCapacity(kotlin.Int){} @@ -266,10 +266,10 @@ open class KotlinClass : ArrayList { /* fake */ override operator fun equals(p0: Any?): Boolean // CHECK JVM_IR: - // Mangled name: KotlinClass#get(kotlin.Int){}kotlin.Int - // Public signature: /KotlinClass.get|3217555545696752959[0] - // Public signature debug description: get(kotlin.Int){}kotlin.Int - /* fake */ override operator fun get(p0: Int): Int + // Mangled name: KotlinClass#get(kotlin.Int){}kotlin.Int{EnhancedNullability} + // Public signature: /KotlinClass.get|-8822924217357855534[0] + // Public signature debug description: get(kotlin.Int){}kotlin.Int{EnhancedNullability} + /* fake */ override operator fun get(p0: Int): @EnhancedNullability Int // CHECK JVM_IR: // Mangled name: KotlinClass#hashCode(){}kotlin.Int @@ -278,10 +278,10 @@ open class KotlinClass : ArrayList { /* fake */ override fun hashCode(): Int // CHECK JVM_IR: - // Mangled name: KotlinClass#indexOf(kotlin.Int){}kotlin.Int - // Public signature: /KotlinClass.indexOf|5710916612120162838[0] - // Public signature debug description: indexOf(kotlin.Int){}kotlin.Int - /* fake */ override fun indexOf(p0: Int): Int + // Mangled name: KotlinClass#indexOf(kotlin.Int{EnhancedNullability}){}kotlin.Int + // Public signature: /KotlinClass.indexOf|866974352596659798[0] + // Public signature debug description: indexOf(kotlin.Int{EnhancedNullability}){}kotlin.Int + /* fake */ override fun indexOf(p0: @EnhancedNullability Int): Int // CHECK JVM_IR: // Mangled name: KotlinClass#isEmpty(){}kotlin.Boolean @@ -290,46 +290,46 @@ open class KotlinClass : ArrayList { /* fake */ override fun isEmpty(): Boolean // CHECK JVM_IR: - // Mangled name: KotlinClass#iterator(){}kotlin.collections.MutableIterator{EnhancedNullability} - // Public signature: /KotlinClass.iterator|-5915142189962474933[0] - // Public signature debug description: iterator(){}kotlin.collections.MutableIterator{EnhancedNullability} - /* fake */ override operator fun iterator(): @EnhancedNullability MutableIterator + // Mangled name: KotlinClass#iterator(){}kotlin.collections.MutableIterator{EnhancedNullability} + // Public signature: /KotlinClass.iterator|115627760567581658[0] + // Public signature debug description: iterator(){}kotlin.collections.MutableIterator{EnhancedNullability} + /* fake */ override operator fun iterator(): @EnhancedNullability MutableIterator<@EnhancedNullability Int> // CHECK JVM_IR: - // Mangled name: KotlinClass#lastIndexOf(kotlin.Int){}kotlin.Int - // Public signature: /KotlinClass.lastIndexOf|-172555725694166910[0] - // Public signature debug description: lastIndexOf(kotlin.Int){}kotlin.Int - /* fake */ override fun lastIndexOf(p0: Int): Int + // Mangled name: KotlinClass#lastIndexOf(kotlin.Int{EnhancedNullability}){}kotlin.Int + // Public signature: /KotlinClass.lastIndexOf|1115527748420890033[0] + // Public signature debug description: lastIndexOf(kotlin.Int{EnhancedNullability}){}kotlin.Int + /* fake */ override fun lastIndexOf(p0: @EnhancedNullability Int): Int // CHECK JVM_IR: - // Mangled name: KotlinClass#listIterator(){}kotlin.collections.MutableListIterator{EnhancedNullability} - // Public signature: /KotlinClass.listIterator|-3740700113407466328[0] - // Public signature debug description: listIterator(){}kotlin.collections.MutableListIterator{EnhancedNullability} - /* fake */ override fun listIterator(): @EnhancedNullability MutableListIterator + // Mangled name: KotlinClass#listIterator(){}kotlin.collections.MutableListIterator{EnhancedNullability} + // Public signature: /KotlinClass.listIterator|4960815808465755041[0] + // Public signature debug description: listIterator(){}kotlin.collections.MutableListIterator{EnhancedNullability} + /* fake */ override fun listIterator(): @EnhancedNullability MutableListIterator<@EnhancedNullability Int> // CHECK JVM_IR: - // Mangled name: KotlinClass#listIterator(kotlin.Int){}kotlin.collections.MutableListIterator{EnhancedNullability} - // Public signature: /KotlinClass.listIterator|2313954087549974075[0] - // Public signature debug description: listIterator(kotlin.Int){}kotlin.collections.MutableListIterator{EnhancedNullability} - /* fake */ override fun listIterator(p0: Int): @EnhancedNullability MutableListIterator + // Mangled name: KotlinClass#listIterator(kotlin.Int){}kotlin.collections.MutableListIterator{EnhancedNullability} + // Public signature: /KotlinClass.listIterator|-2268028930611070307[0] + // Public signature debug description: listIterator(kotlin.Int){}kotlin.collections.MutableListIterator{EnhancedNullability} + /* fake */ override fun listIterator(p0: Int): @EnhancedNullability MutableListIterator<@EnhancedNullability Int> // CHECK JVM_IR: - // Mangled name: KotlinClass#remove(kotlin.Int){}kotlin.Boolean - // Public signature: /KotlinClass.remove|-2631909738569200722[0] - // Public signature debug description: remove(kotlin.Int){}kotlin.Boolean - /* fake */ override fun remove(p0: Int): Boolean + // Mangled name: KotlinClass#remove(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + // Public signature: /KotlinClass.remove|2933193249427016334[0] + // Public signature debug description: remove(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun remove(p0: @EnhancedNullability Int): Boolean // CHECK JVM_IR: - // Mangled name: KotlinClass#removeAll(kotlin.collections.Collection){}kotlin.Boolean - // Public signature: /KotlinClass.removeAll|-3862070029132854703[0] - // Public signature debug description: removeAll(kotlin.collections.Collection){}kotlin.Boolean - /* fake */ override fun removeAll(p0: Collection): Boolean + // Mangled name: KotlinClass#removeAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /KotlinClass.removeAll|-5493620261823900507[0] + // Public signature debug description: removeAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun removeAll(p0: Collection<@EnhancedNullability Int>): Boolean // CHECK JVM_IR: - // Mangled name: KotlinClass#removeAt(kotlin.Int){}kotlin.Int - // Public signature: /KotlinClass.removeAt|1718425690973201805[0] - // Public signature debug description: removeAt(kotlin.Int){}kotlin.Int - /* fake */ override operator fun removeAt(p0: Int): Int + // Mangled name: KotlinClass#removeAt(kotlin.Int){}kotlin.Int{EnhancedNullability} + // Public signature: /KotlinClass.removeAt|6480490686215931144[0] + // Public signature debug description: removeAt(kotlin.Int){}kotlin.Int{EnhancedNullability} + /* fake */ override operator fun removeAt(p0: Int): @EnhancedNullability Int // CHECK: // Mangled name: KotlinClass#removeRange(kotlin.Int;kotlin.Int){} @@ -338,22 +338,22 @@ open class KotlinClass : ArrayList { protected_and_package /* fake */ override fun removeRange(p0: Int, p1: Int): Unit // CHECK JVM_IR: - // Mangled name: KotlinClass#retainAll(kotlin.collections.Collection){}kotlin.Boolean - // Public signature: /KotlinClass.retainAll|1291083757121901219[0] - // Public signature debug description: retainAll(kotlin.collections.Collection){}kotlin.Boolean - /* fake */ override fun retainAll(p0: Collection): Boolean + // Mangled name: KotlinClass#retainAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /KotlinClass.retainAll|-3550913358824719637[0] + // Public signature debug description: retainAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun retainAll(p0: Collection<@EnhancedNullability Int>): Boolean // CHECK JVM_IR: - // Mangled name: KotlinClass#set(kotlin.Int;kotlin.Int){}kotlin.Int - // Public signature: /KotlinClass.set|2686031312585099809[0] - // Public signature debug description: set(kotlin.Int;kotlin.Int){}kotlin.Int - /* fake */ override operator fun set(p0: Int, p1: Int): Int + // Mangled name: KotlinClass#set(kotlin.Int;kotlin.Int{EnhancedNullability}){}kotlin.Int{EnhancedNullability} + // Public signature: /KotlinClass.set|-7932912415931410975[0] + // Public signature debug description: set(kotlin.Int;kotlin.Int{EnhancedNullability}){}kotlin.Int{EnhancedNullability} + /* fake */ override operator fun set(p0: Int, p1: @EnhancedNullability Int): @EnhancedNullability Int // CHECK JVM_IR: - // Mangled name: KotlinClass#subList(kotlin.Int;kotlin.Int){}kotlin.collections.MutableList{EnhancedNullability} - // Public signature: /KotlinClass.subList|-7245971573298952132[0] - // Public signature debug description: subList(kotlin.Int;kotlin.Int){}kotlin.collections.MutableList{EnhancedNullability} - /* fake */ override fun subList(p0: Int, p1: Int): @EnhancedNullability MutableList + // Mangled name: KotlinClass#subList(kotlin.Int;kotlin.Int){}kotlin.collections.MutableList{EnhancedNullability} + // Public signature: /KotlinClass.subList|127837164145565172[0] + // Public signature debug description: subList(kotlin.Int;kotlin.Int){}kotlin.collections.MutableList{EnhancedNullability} + /* fake */ override fun subList(p0: Int, p1: Int): @EnhancedNullability MutableList<@EnhancedNullability Int> // CHECK JVM_IR: // Mangled name: KotlinClass#toArray(){}kotlin.Array? diff --git a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/JvmAbiConsistencyTestBoxGenerated.java b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/JvmAbiConsistencyTestBoxGenerated.java index 4bc56538422..febba5d5cae 100644 --- a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/JvmAbiConsistencyTestBoxGenerated.java +++ b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/JvmAbiConsistencyTestBoxGenerated.java @@ -51337,6 +51337,12 @@ public class JvmAbiConsistencyTestBoxGenerated extends AbstractJvmAbiConsistency runTest("compiler/testData/codegen/box/specialBuiltins/explicitSuperCall.kt"); } + @Test + @TestMetadata("irrelevantRemoveAndJavaList.kt") + public void testIrrelevantRemoveAndJavaList() throws Exception { + runTest("compiler/testData/codegen/box/specialBuiltins/irrelevantRemoveAndJavaList.kt"); + } + @Test @TestMetadata("irrelevantRemoveAtOverride.kt") public void testIrrelevantRemoveAtOverride() throws Exception { diff --git a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/BlackBoxCodegenTestGenerated.java b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/BlackBoxCodegenTestGenerated.java index f5a9168f5ba..cb535ee5e03 100644 --- a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/BlackBoxCodegenTestGenerated.java +++ b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/BlackBoxCodegenTestGenerated.java @@ -48281,6 +48281,12 @@ public class BlackBoxCodegenTestGenerated extends AbstractBlackBoxCodegenTest { runTest("compiler/testData/codegen/box/specialBuiltins/explicitSuperCall.kt"); } + @Test + @TestMetadata("irrelevantRemoveAndJavaList.kt") + public void testIrrelevantRemoveAndJavaList() throws Exception { + runTest("compiler/testData/codegen/box/specialBuiltins/irrelevantRemoveAndJavaList.kt"); + } + @Test @TestMetadata("irrelevantRemoveAtOverride.kt") public void testIrrelevantRemoveAtOverride() throws Exception { diff --git a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrBlackBoxCodegenTestGenerated.java b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrBlackBoxCodegenTestGenerated.java index 02862b1c713..98c55e3f105 100644 --- a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrBlackBoxCodegenTestGenerated.java +++ b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrBlackBoxCodegenTestGenerated.java @@ -51389,6 +51389,12 @@ public class IrBlackBoxCodegenTestGenerated extends AbstractIrBlackBoxCodegenTes runTest("compiler/testData/codegen/box/specialBuiltins/explicitSuperCall.kt"); } + @Test + @TestMetadata("irrelevantRemoveAndJavaList.kt") + public void testIrrelevantRemoveAndJavaList() throws Exception { + runTest("compiler/testData/codegen/box/specialBuiltins/irrelevantRemoveAndJavaList.kt"); + } + @Test @TestMetadata("irrelevantRemoveAtOverride.kt") public void testIrrelevantRemoveAtOverride() throws Exception { diff --git a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrBlackBoxCodegenWithIrInlinerTestGenerated.java b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrBlackBoxCodegenWithIrInlinerTestGenerated.java index f06aaeffd26..54527496a42 100644 --- a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrBlackBoxCodegenWithIrInlinerTestGenerated.java +++ b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrBlackBoxCodegenWithIrInlinerTestGenerated.java @@ -51389,6 +51389,12 @@ public class IrBlackBoxCodegenWithIrInlinerTestGenerated extends AbstractIrBlack runTest("compiler/testData/codegen/box/specialBuiltins/explicitSuperCall.kt"); } + @Test + @TestMetadata("irrelevantRemoveAndJavaList.kt") + public void testIrrelevantRemoveAndJavaList() throws Exception { + runTest("compiler/testData/codegen/box/specialBuiltins/irrelevantRemoveAndJavaList.kt"); + } + @Test @TestMetadata("irrelevantRemoveAtOverride.kt") public void testIrrelevantRemoveAtOverride() throws Exception { diff --git a/compiler/tests-gen/org/jetbrains/kotlin/codegen/LightAnalysisModeTestGenerated.java b/compiler/tests-gen/org/jetbrains/kotlin/codegen/LightAnalysisModeTestGenerated.java index e17335cd90d..c8ddbe80089 100644 --- a/compiler/tests-gen/org/jetbrains/kotlin/codegen/LightAnalysisModeTestGenerated.java +++ b/compiler/tests-gen/org/jetbrains/kotlin/codegen/LightAnalysisModeTestGenerated.java @@ -41400,6 +41400,11 @@ public class LightAnalysisModeTestGenerated extends AbstractLightAnalysisModeTes runTest("compiler/testData/codegen/box/specialBuiltins/explicitSuperCall.kt"); } + @TestMetadata("irrelevantRemoveAndJavaList.kt") + public void testIrrelevantRemoveAndJavaList() throws Exception { + runTest("compiler/testData/codegen/box/specialBuiltins/irrelevantRemoveAndJavaList.kt"); + } + @TestMetadata("irrelevantRemoveAtOverride.kt") public void testIrrelevantRemoveAtOverride() throws Exception { runTest("compiler/testData/codegen/box/specialBuiltins/irrelevantRemoveAtOverride.kt");