IR: copy EnhancedNullability in CopyIrTreeWithSymbolsForFakeOverrides

Otherwise it leads to the following problem in the newly added test.

Suppose that we have a fake override `remove(Int)` inherited from
LinkedList _without_ EnhancedNullability on its parameter type. By
normal Kotlin rules, this method should override the method from
KotlinInterface. However, on JVM we have another overridability check in
IrJavaIncompatibilityRulesOverridabilityCondition which ensures that
"JVM primitivity" of parameter types is the same for the base and the
overridden method.

So the fake override `remove(Int)` from LinkedList is determined to be
override-incompatible with `remove(Int)` from KotlinInterface. But when
we try to create symbols for all fake overrides in the class, we get a
clash because there are two fake overrides with exactly the same
IdSignature, neither of which overrides the other.

If we keep the EnhancedNullability annotation on the parameter, it
starts working because the logic of computing signature in
JvmIrMangler.JvmIrManglerComputer.mangleTypePlatformSpecific adds an
"{EnhancedNullability}" mark to the IdSignature of a fake override from
LinkedList.

 #KT-65499 Fixed
This commit is contained in:
Alexander Udalov
2024-02-02 15:41:43 +01:00
committed by Space Team
parent f05c972efb
commit 53c5230520
14 changed files with 188 additions and 103 deletions
@@ -52538,6 +52538,12 @@ public class LLFirBlackBoxCodegenBasedTestGenerated extends AbstractLLFirBlackBo
runTest("compiler/testData/codegen/box/specialBuiltins/explicitSuperCall.kt"); 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 @Test
@TestMetadata("irrelevantRemoveAtOverride.kt") @TestMetadata("irrelevantRemoveAtOverride.kt")
public void testIrrelevantRemoveAtOverride() throws Exception { public void testIrrelevantRemoveAtOverride() throws Exception {
@@ -52538,6 +52538,12 @@ public class LLFirReversedBlackBoxCodegenBasedTestGenerated extends AbstractLLFi
runTest("compiler/testData/codegen/box/specialBuiltins/explicitSuperCall.kt"); 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 @Test
@TestMetadata("irrelevantRemoveAtOverride.kt") @TestMetadata("irrelevantRemoveAtOverride.kt")
public void testIrrelevantRemoveAtOverride() throws Exception { public void testIrrelevantRemoveAtOverride() throws Exception {
@@ -52021,6 +52021,12 @@ public class FirLightTreeBlackBoxCodegenTestGenerated extends AbstractFirLightTr
runTest("compiler/testData/codegen/box/specialBuiltins/explicitSuperCall.kt"); 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 @Test
@TestMetadata("irrelevantRemoveAtOverride.kt") @TestMetadata("irrelevantRemoveAtOverride.kt")
public void testIrrelevantRemoveAtOverride() throws Exception { public void testIrrelevantRemoveAtOverride() throws Exception {
@@ -52021,6 +52021,12 @@ public class FirLightTreeBlackBoxCodegenWithIrFakeOverrideGeneratorTestGenerated
runTest("compiler/testData/codegen/box/specialBuiltins/explicitSuperCall.kt"); 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 @Test
@TestMetadata("irrelevantRemoveAtOverride.kt") @TestMetadata("irrelevantRemoveAtOverride.kt")
public void testIrrelevantRemoveAtOverride() throws Exception { public void testIrrelevantRemoveAtOverride() throws Exception {
@@ -52073,6 +52073,12 @@ public class FirPsiBlackBoxCodegenTestGenerated extends AbstractFirPsiBlackBoxCo
runTest("compiler/testData/codegen/box/specialBuiltins/explicitSuperCall.kt"); 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 @Test
@TestMetadata("irrelevantRemoveAtOverride.kt") @TestMetadata("irrelevantRemoveAtOverride.kt")
public void testIrrelevantRemoveAtOverride() throws Exception { public void testIrrelevantRemoveAtOverride() throws Exception {
@@ -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.types.impl.makeTypeProjection
import org.jetbrains.kotlin.ir.util.* import org.jetbrains.kotlin.ir.util.*
import org.jetbrains.kotlin.ir.visitors.acceptVoid 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.name.StandardClassIds.Annotations.FlexibleNullability
import org.jetbrains.kotlin.utils.addIfNotNull import org.jetbrains.kotlin.utils.addIfNotNull
import org.jetbrains.kotlin.utils.memoryOptimizedMap import org.jetbrains.kotlin.utils.memoryOptimizedMap
@@ -106,9 +107,10 @@ class CopyIrTreeWithSymbolsForFakeOverrides(
} }
private companion object { private companion object {
// TODO (KT-64715): RawTypeAnnotation, FlexibleMutability, EnhancedNullability, RawType, FlexibleArrayElementVariance? // TODO (KT-64715): RawTypeAnnotation, FlexibleMutability, RawType, FlexibleArrayElementVariance?
val TYPE_ANNOTATIONS_TO_MERGE = listOf( val TYPE_ANNOTATIONS_TO_MERGE = listOf(
FlexibleNullability.asSingleFqName(), FlexibleNullability.asSingleFqName(),
EnhancedNullability.asSingleFqName(),
) )
} }
} }
@@ -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<Int>(), KotlinInterface
class D : C() {
override fun remove(i: Int): Boolean {
result = "OK"
return true
}
}
fun box(): String {
D().remove(0)
return result
}
+30 -30
View File
@@ -183,21 +183,21 @@ FILE fqName:<root> fileName:/1.kt
overridden: overridden:
public open fun isEmpty (): kotlin.Boolean declared in java.util.ArrayList public open fun isEmpty (): kotlin.Boolean declared in java.util.ArrayList
$this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<kotlin.Int> $this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<kotlin.Int>
FUN FAKE_OVERRIDE name:contains visibility:public modality:OPEN <> ($this:java.util.ArrayList<kotlin.Int>, p0:kotlin.Int) returnType:kotlin.Boolean [fake_override,operator] FUN FAKE_OVERRIDE name:contains visibility:public modality:OPEN <> ($this:java.util.ArrayList<kotlin.Int>, p0:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Boolean [fake_override,operator]
overridden: overridden:
public open fun contains (p0: @[EnhancedNullability] E of java.util.ArrayList): kotlin.Boolean declared in java.util.ArrayList public open fun contains (p0: @[EnhancedNullability] E of java.util.ArrayList): kotlin.Boolean declared in java.util.ArrayList
$this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<kotlin.Int> $this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<kotlin.Int>
VALUE_PARAMETER name:p0 index:0 type:kotlin.Int VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Int
FUN FAKE_OVERRIDE name:indexOf visibility:public modality:OPEN <> ($this:java.util.ArrayList<kotlin.Int>, p0:kotlin.Int) returnType:kotlin.Int [fake_override] FUN FAKE_OVERRIDE name:indexOf visibility:public modality:OPEN <> ($this:java.util.ArrayList<kotlin.Int>, p0:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Int [fake_override]
overridden: overridden:
public open fun indexOf (p0: @[EnhancedNullability] E of java.util.ArrayList): kotlin.Int declared in java.util.ArrayList public open fun indexOf (p0: @[EnhancedNullability] E of java.util.ArrayList): kotlin.Int declared in java.util.ArrayList
$this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<kotlin.Int> $this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<kotlin.Int>
VALUE_PARAMETER name:p0 index:0 type:kotlin.Int VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Int
FUN FAKE_OVERRIDE name:lastIndexOf visibility:public modality:OPEN <> ($this:java.util.ArrayList<kotlin.Int>, p0:kotlin.Int) returnType:kotlin.Int [fake_override] FUN FAKE_OVERRIDE name:lastIndexOf visibility:public modality:OPEN <> ($this:java.util.ArrayList<kotlin.Int>, p0:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Int [fake_override]
overridden: overridden:
public open fun lastIndexOf (p0: @[EnhancedNullability] E of java.util.ArrayList): kotlin.Int declared in java.util.ArrayList public open fun lastIndexOf (p0: @[EnhancedNullability] E of java.util.ArrayList): kotlin.Int declared in java.util.ArrayList
$this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<kotlin.Int> $this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<kotlin.Int>
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<kotlin.Int>) returnType:@[EnhancedNullability] kotlin.Any [fake_override] FUN FAKE_OVERRIDE name:clone visibility:public modality:OPEN <> ($this:java.util.ArrayList<kotlin.Int>) returnType:@[EnhancedNullability] kotlin.Any [fake_override]
overridden: overridden:
public open fun clone (): @[EnhancedNullability] kotlin.Any declared in java.util.ArrayList public open fun clone (): @[EnhancedNullability] kotlin.Any declared in java.util.ArrayList
@@ -212,78 +212,78 @@ FILE fqName:<root> fileName:/1.kt
TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false
$this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<kotlin.Int> $this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<kotlin.Int>
VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array<out @[FlexibleNullability] T of <root>.KotlinClass.toArray?>? VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array<out @[FlexibleNullability] T of <root>.KotlinClass.toArray?>?
FUN FAKE_OVERRIDE name:get visibility:public modality:OPEN <> ($this:java.util.ArrayList<kotlin.Int>, p0:kotlin.Int) returnType:kotlin.Int [fake_override,operator] FUN FAKE_OVERRIDE name:get visibility:public modality:OPEN <> ($this:java.util.ArrayList<kotlin.Int>, p0:kotlin.Int) returnType:@[EnhancedNullability] kotlin.Int [fake_override,operator]
overridden: overridden:
public open fun get (p0: kotlin.Int): @[EnhancedNullability] E of java.util.ArrayList declared in java.util.ArrayList public open fun get (p0: kotlin.Int): @[EnhancedNullability] E of java.util.ArrayList declared in java.util.ArrayList
$this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<kotlin.Int> $this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<kotlin.Int>
VALUE_PARAMETER name:p0 index:0 type:kotlin.Int VALUE_PARAMETER name:p0 index:0 type:kotlin.Int
FUN FAKE_OVERRIDE name:set visibility:public modality:OPEN <> ($this:java.util.ArrayList<kotlin.Int>, 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<kotlin.Int>, p0:kotlin.Int, p1:@[EnhancedNullability] kotlin.Int) returnType:@[EnhancedNullability] kotlin.Int [fake_override,operator]
overridden: 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 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:<this> type:java.util.ArrayList<kotlin.Int> $this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<kotlin.Int>
VALUE_PARAMETER name:p0 index:0 type:kotlin.Int VALUE_PARAMETER name:p0 index:0 type:kotlin.Int
VALUE_PARAMETER name:p1 index:1 type:kotlin.Int VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] kotlin.Int
FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:java.util.ArrayList<kotlin.Int>, p0:kotlin.Int) returnType:kotlin.Boolean [fake_override] FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:java.util.ArrayList<kotlin.Int>, p0:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Boolean [fake_override]
overridden: overridden:
public open fun add (p0: @[EnhancedNullability] E of java.util.ArrayList): kotlin.Boolean declared in java.util.ArrayList public open fun add (p0: @[EnhancedNullability] E of java.util.ArrayList): kotlin.Boolean declared in java.util.ArrayList
$this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<kotlin.Int> $this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<kotlin.Int>
VALUE_PARAMETER name:p0 index:0 type:kotlin.Int VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Int
FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:java.util.ArrayList<kotlin.Int>, p0:kotlin.Int, p1:kotlin.Int) returnType:kotlin.Unit [fake_override] FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:java.util.ArrayList<kotlin.Int>, p0:kotlin.Int, p1:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Unit [fake_override]
overridden: overridden:
public open fun add (p0: kotlin.Int, p1: @[EnhancedNullability] E of java.util.ArrayList): kotlin.Unit declared in java.util.ArrayList 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:<this> type:java.util.ArrayList<kotlin.Int> $this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<kotlin.Int>
VALUE_PARAMETER name:p0 index:0 type:kotlin.Int VALUE_PARAMETER name:p0 index:0 type:kotlin.Int
VALUE_PARAMETER name:p1 index:1 type:kotlin.Int VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] kotlin.Int
FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:java.util.ArrayList<kotlin.Int>, p0:kotlin.Int) returnType:kotlin.Boolean [fake_override] FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:java.util.ArrayList<kotlin.Int>, p0:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Boolean [fake_override]
overridden: overridden:
public open fun remove (p0: @[EnhancedNullability] E of java.util.ArrayList): kotlin.Boolean declared in java.util.ArrayList public open fun remove (p0: @[EnhancedNullability] E of java.util.ArrayList): kotlin.Boolean declared in java.util.ArrayList
$this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<kotlin.Int> $this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<kotlin.Int>
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<kotlin.Int>) returnType:kotlin.Unit [fake_override] FUN FAKE_OVERRIDE name:clear visibility:public modality:OPEN <> ($this:java.util.ArrayList<kotlin.Int>) returnType:kotlin.Unit [fake_override]
overridden: overridden:
public open fun clear (): kotlin.Unit declared in java.util.ArrayList public open fun clear (): kotlin.Unit declared in java.util.ArrayList
$this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<kotlin.Int> $this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<kotlin.Int>
FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:java.util.ArrayList<kotlin.Int>, p0:@[EnhancedNullability] kotlin.collections.Collection<out kotlin.Int>) returnType:kotlin.Boolean [fake_override] FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:java.util.ArrayList<kotlin.Int>, p0:@[EnhancedNullability] kotlin.collections.Collection<out @[EnhancedNullability] kotlin.Int>) returnType:kotlin.Boolean [fake_override]
overridden: overridden:
public open fun addAll (p0: @[EnhancedNullability] kotlin.collections.Collection<out @[EnhancedNullability] E of java.util.ArrayList>): kotlin.Boolean declared in java.util.ArrayList public open fun addAll (p0: @[EnhancedNullability] kotlin.collections.Collection<out @[EnhancedNullability] E of java.util.ArrayList>): kotlin.Boolean declared in java.util.ArrayList
$this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<kotlin.Int> $this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<kotlin.Int>
VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.collections.Collection<out kotlin.Int> VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.collections.Collection<out @[EnhancedNullability] kotlin.Int>
FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:java.util.ArrayList<kotlin.Int>, p0:kotlin.Int, p1:@[EnhancedNullability] kotlin.collections.Collection<out kotlin.Int>) returnType:kotlin.Boolean [fake_override] FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:java.util.ArrayList<kotlin.Int>, p0:kotlin.Int, p1:@[EnhancedNullability] kotlin.collections.Collection<out @[EnhancedNullability] kotlin.Int>) returnType:kotlin.Boolean [fake_override]
overridden: overridden:
public open fun addAll (p0: kotlin.Int, p1: @[EnhancedNullability] kotlin.collections.Collection<out @[EnhancedNullability] E of java.util.ArrayList>): kotlin.Boolean declared in java.util.ArrayList public open fun addAll (p0: kotlin.Int, p1: @[EnhancedNullability] kotlin.collections.Collection<out @[EnhancedNullability] E of java.util.ArrayList>): kotlin.Boolean declared in java.util.ArrayList
$this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<kotlin.Int> $this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<kotlin.Int>
VALUE_PARAMETER name:p0 index:0 type:kotlin.Int VALUE_PARAMETER name:p0 index:0 type:kotlin.Int
VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] kotlin.collections.Collection<out kotlin.Int> VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] kotlin.collections.Collection<out @[EnhancedNullability] kotlin.Int>
FUN FAKE_OVERRIDE name:removeRange visibility:protected/*protected and package*/ modality:OPEN <> ($this:java.util.ArrayList<kotlin.Int>, p0:kotlin.Int, p1:kotlin.Int) returnType:kotlin.Unit [fake_override] FUN FAKE_OVERRIDE name:removeRange visibility:protected/*protected and package*/ modality:OPEN <> ($this:java.util.ArrayList<kotlin.Int>, p0:kotlin.Int, p1:kotlin.Int) returnType:kotlin.Unit [fake_override]
overridden: overridden:
protected/*protected and package*/ open fun removeRange (p0: kotlin.Int, p1: kotlin.Int): kotlin.Unit declared in java.util.ArrayList protected/*protected and package*/ open fun removeRange (p0: kotlin.Int, p1: kotlin.Int): kotlin.Unit declared in java.util.ArrayList
$this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<kotlin.Int> $this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<kotlin.Int>
VALUE_PARAMETER name:p0 index:0 type:kotlin.Int VALUE_PARAMETER name:p0 index:0 type:kotlin.Int
VALUE_PARAMETER name:p1 index:1 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<kotlin.Int>, p0:kotlin.collections.Collection<kotlin.Int>) returnType:kotlin.Boolean [fake_override] FUN FAKE_OVERRIDE name:removeAll visibility:public modality:OPEN <> ($this:java.util.ArrayList<kotlin.Int>, p0:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int>) returnType:kotlin.Boolean [fake_override]
overridden: overridden:
public open fun removeAll (p0: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.ArrayList>): kotlin.Boolean declared in java.util.ArrayList 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:<this> type:java.util.ArrayList<kotlin.Int> $this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<kotlin.Int>
VALUE_PARAMETER name:p0 index:0 type:kotlin.collections.Collection<kotlin.Int> 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<kotlin.Int>, p0:kotlin.collections.Collection<kotlin.Int>) returnType:kotlin.Boolean [fake_override] FUN FAKE_OVERRIDE name:retainAll visibility:public modality:OPEN <> ($this:java.util.ArrayList<kotlin.Int>, p0:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int>) returnType:kotlin.Boolean [fake_override]
overridden: overridden:
public open fun retainAll (p0: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.ArrayList>): kotlin.Boolean declared in java.util.ArrayList 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:<this> type:java.util.ArrayList<kotlin.Int> $this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<kotlin.Int>
VALUE_PARAMETER name:p0 index:0 type:kotlin.collections.Collection<kotlin.Int> 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<kotlin.Int>, p0:kotlin.Int) returnType:@[EnhancedNullability] kotlin.collections.MutableListIterator<kotlin.Int> [fake_override] FUN FAKE_OVERRIDE name:listIterator visibility:public modality:OPEN <> ($this:java.util.ArrayList<kotlin.Int>, p0:kotlin.Int) returnType:@[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] kotlin.Int> [fake_override]
overridden: overridden:
public open fun listIterator (p0: kotlin.Int): @[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] E of java.util.ArrayList> declared in java.util.ArrayList public open fun listIterator (p0: kotlin.Int): @[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] E of java.util.ArrayList> declared in java.util.ArrayList
$this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<kotlin.Int> $this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<kotlin.Int>
VALUE_PARAMETER name:p0 index:0 type:kotlin.Int VALUE_PARAMETER name:p0 index:0 type:kotlin.Int
FUN FAKE_OVERRIDE name:listIterator visibility:public modality:OPEN <> ($this:java.util.ArrayList<kotlin.Int>) returnType:@[EnhancedNullability] kotlin.collections.MutableListIterator<kotlin.Int> [fake_override] FUN FAKE_OVERRIDE name:listIterator visibility:public modality:OPEN <> ($this:java.util.ArrayList<kotlin.Int>) returnType:@[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] kotlin.Int> [fake_override]
overridden: overridden:
public open fun listIterator (): @[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] E of java.util.ArrayList> declared in java.util.ArrayList public open fun listIterator (): @[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] E of java.util.ArrayList> declared in java.util.ArrayList
$this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<kotlin.Int> $this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<kotlin.Int>
FUN FAKE_OVERRIDE name:iterator visibility:public modality:OPEN <> ($this:java.util.ArrayList<kotlin.Int>) returnType:@[EnhancedNullability] kotlin.collections.MutableIterator<kotlin.Int> [fake_override,operator] FUN FAKE_OVERRIDE name:iterator visibility:public modality:OPEN <> ($this:java.util.ArrayList<kotlin.Int>) returnType:@[EnhancedNullability] kotlin.collections.MutableIterator<@[EnhancedNullability] kotlin.Int> [fake_override,operator]
overridden: overridden:
public open fun iterator (): @[EnhancedNullability] kotlin.collections.MutableIterator<@[EnhancedNullability] E of java.util.ArrayList> declared in java.util.ArrayList public open fun iterator (): @[EnhancedNullability] kotlin.collections.MutableIterator<@[EnhancedNullability] E of java.util.ArrayList> declared in java.util.ArrayList
$this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<kotlin.Int> $this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<kotlin.Int>
FUN FAKE_OVERRIDE name:subList visibility:public modality:OPEN <> ($this:java.util.ArrayList<kotlin.Int>, p0:kotlin.Int, p1:kotlin.Int) returnType:@[EnhancedNullability] kotlin.collections.MutableList<kotlin.Int> [fake_override] FUN FAKE_OVERRIDE name:subList visibility:public modality:OPEN <> ($this:java.util.ArrayList<kotlin.Int>, p0:kotlin.Int, p1:kotlin.Int) returnType:@[EnhancedNullability] kotlin.collections.MutableList<@[EnhancedNullability] kotlin.Int> [fake_override]
overridden: 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 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:<this> type:java.util.ArrayList<kotlin.Int> $this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<kotlin.Int>
@@ -298,16 +298,16 @@ FILE fqName:<root> fileName:/1.kt
overridden: overridden:
public open fun hashCode (): kotlin.Int declared in java.util.ArrayList public open fun hashCode (): kotlin.Int declared in java.util.ArrayList
$this: VALUE_PARAMETER name:<this> type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> $this: VALUE_PARAMETER name:<this> 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<kotlin.Int>) 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: overridden:
public open fun containsAll (p0: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.ArrayList>): kotlin.Boolean declared in java.util.ArrayList 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:<this> type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> $this: VALUE_PARAMETER name:<this> type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?>
VALUE_PARAMETER name:p0 index:0 type:kotlin.collections.Collection<kotlin.Int> 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] FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] kotlin.String [fake_override]
overridden: overridden:
public open fun toString (): @[EnhancedNullability] kotlin.String declared in java.util.ArrayList public open fun toString (): @[EnhancedNullability] kotlin.String declared in java.util.ArrayList
$this: VALUE_PARAMETER name:<this> type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> $this: VALUE_PARAMETER name:<this> type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?>
FUN FAKE_OVERRIDE name:removeAt visibility:public modality:OPEN <> ($this:java.util.ArrayList<kotlin.Int>, p0:kotlin.Int) returnType:kotlin.Int [fake_override,operator] FUN FAKE_OVERRIDE name:removeAt visibility:public modality:OPEN <> ($this:java.util.ArrayList<kotlin.Int>, p0:kotlin.Int) returnType:@[EnhancedNullability] kotlin.Int [fake_override,operator]
overridden: overridden:
public open fun removeAt (p0: kotlin.Int): @[EnhancedNullability] E of java.util.ArrayList declared in java.util.ArrayList public open fun removeAt (p0: kotlin.Int): @[EnhancedNullability] E of java.util.ArrayList declared in java.util.ArrayList
$this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<kotlin.Int> $this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<kotlin.Int>
@@ -206,28 +206,28 @@ open class KotlinClass : ArrayList<Int> {
constructor() /* primary */ constructor() /* primary */
// CHECK JVM_IR: // CHECK JVM_IR:
// Mangled name: KotlinClass#add(kotlin.Int){}kotlin.Boolean // Mangled name: KotlinClass#add(kotlin.Int{EnhancedNullability}){}kotlin.Boolean
// Public signature: /KotlinClass.add|-1806173376318726841[0] // Public signature: /KotlinClass.add|7559962077055454748[0]
// Public signature debug description: add(kotlin.Int){}kotlin.Boolean // Public signature debug description: add(kotlin.Int{EnhancedNullability}){}kotlin.Boolean
/* fake */ override fun add(p0: Int): Boolean /* fake */ override fun add(p0: @EnhancedNullability Int): Boolean
// CHECK: // CHECK:
// Mangled name: KotlinClass#add(kotlin.Int;kotlin.Int){} // Mangled name: KotlinClass#add(kotlin.Int;kotlin.Int{EnhancedNullability}){}
// Public signature: /KotlinClass.add|-6416567052772437491[0] // Public signature: /KotlinClass.add|-3194712170900556378[0]
// Public signature debug description: add(kotlin.Int;kotlin.Int){} // Public signature debug description: add(kotlin.Int;kotlin.Int{EnhancedNullability}){}
/* fake */ override fun add(p0: Int, p1: Int): Unit /* fake */ override fun add(p0: Int, p1: @EnhancedNullability Int): Unit
// CHECK JVM_IR: // CHECK JVM_IR:
// Mangled name: KotlinClass#addAll(kotlin.collections.Collection<out|kotlin.Int>{EnhancedNullability}){}kotlin.Boolean // Mangled name: KotlinClass#addAll(kotlin.collections.Collection<out|kotlin.Int{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean
// Public signature: /KotlinClass.addAll|-2033819616667572066[0] // Public signature: /KotlinClass.addAll|-8388196230555083661[0]
// Public signature debug description: addAll(kotlin.collections.Collection<out|kotlin.Int>{EnhancedNullability}){}kotlin.Boolean // Public signature debug description: addAll(kotlin.collections.Collection<out|kotlin.Int{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean
/* fake */ override fun addAll(p0: @EnhancedNullability Collection<out Int>): Boolean /* fake */ override fun addAll(p0: @EnhancedNullability Collection<out @EnhancedNullability Int>): Boolean
// CHECK JVM_IR: // CHECK JVM_IR:
// Mangled name: KotlinClass#addAll(kotlin.Int;kotlin.collections.Collection<out|kotlin.Int>{EnhancedNullability}){}kotlin.Boolean // Mangled name: KotlinClass#addAll(kotlin.Int;kotlin.collections.Collection<out|kotlin.Int{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean
// Public signature: /KotlinClass.addAll|7567819331579950214[0] // Public signature: /KotlinClass.addAll|30670022050259765[0]
// Public signature debug description: addAll(kotlin.Int;kotlin.collections.Collection<out|kotlin.Int>{EnhancedNullability}){}kotlin.Boolean // Public signature debug description: addAll(kotlin.Int;kotlin.collections.Collection<out|kotlin.Int{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean
/* fake */ override fun addAll(p0: Int, p1: @EnhancedNullability Collection<out Int>): Boolean /* fake */ override fun addAll(p0: Int, p1: @EnhancedNullability Collection<out @EnhancedNullability Int>): Boolean
// CHECK: // CHECK:
// Mangled name: KotlinClass#clear(){} // Mangled name: KotlinClass#clear(){}
@@ -242,16 +242,16 @@ open class KotlinClass : ArrayList<Int> {
/* fake */ override fun clone(): @EnhancedNullability Any /* fake */ override fun clone(): @EnhancedNullability Any
// CHECK JVM_IR: // CHECK JVM_IR:
// Mangled name: KotlinClass#contains(kotlin.Int){}kotlin.Boolean // Mangled name: KotlinClass#contains(kotlin.Int{EnhancedNullability}){}kotlin.Boolean
// Public signature: /KotlinClass.contains|5978686608528191145[0] // Public signature: /KotlinClass.contains|3736388240191289860[0]
// Public signature debug description: contains(kotlin.Int){}kotlin.Boolean // Public signature debug description: contains(kotlin.Int{EnhancedNullability}){}kotlin.Boolean
/* fake */ override operator fun contains(p0: Int): Boolean /* fake */ override operator fun contains(p0: @EnhancedNullability Int): Boolean
// CHECK JVM_IR: // CHECK JVM_IR:
// Mangled name: KotlinClass#containsAll(kotlin.collections.Collection<kotlin.Int>){}kotlin.Boolean // Mangled name: KotlinClass#containsAll(kotlin.collections.Collection<kotlin.Int{EnhancedNullability}>){}kotlin.Boolean
// Public signature: /KotlinClass.containsAll|5891935227751154106[0] // Public signature: /KotlinClass.containsAll|-6765067201579764726[0]
// Public signature debug description: containsAll(kotlin.collections.Collection<kotlin.Int>){}kotlin.Boolean // Public signature debug description: containsAll(kotlin.collections.Collection<kotlin.Int{EnhancedNullability}>){}kotlin.Boolean
/* fake */ override fun containsAll(p0: Collection<Int>): Boolean /* fake */ override fun containsAll(p0: Collection<@EnhancedNullability Int>): Boolean
// CHECK: // CHECK:
// Mangled name: KotlinClass#ensureCapacity(kotlin.Int){} // Mangled name: KotlinClass#ensureCapacity(kotlin.Int){}
@@ -266,10 +266,10 @@ open class KotlinClass : ArrayList<Int> {
/* fake */ override operator fun equals(p0: Any?): Boolean /* fake */ override operator fun equals(p0: Any?): Boolean
// CHECK JVM_IR: // CHECK JVM_IR:
// Mangled name: KotlinClass#get(kotlin.Int){}kotlin.Int // Mangled name: KotlinClass#get(kotlin.Int){}kotlin.Int{EnhancedNullability}
// Public signature: /KotlinClass.get|3217555545696752959[0] // Public signature: /KotlinClass.get|-8822924217357855534[0]
// Public signature debug description: get(kotlin.Int){}kotlin.Int // Public signature debug description: get(kotlin.Int){}kotlin.Int{EnhancedNullability}
/* fake */ override operator fun get(p0: Int): Int /* fake */ override operator fun get(p0: Int): @EnhancedNullability Int
// CHECK JVM_IR: // CHECK JVM_IR:
// Mangled name: KotlinClass#hashCode(){}kotlin.Int // Mangled name: KotlinClass#hashCode(){}kotlin.Int
@@ -278,10 +278,10 @@ open class KotlinClass : ArrayList<Int> {
/* fake */ override fun hashCode(): Int /* fake */ override fun hashCode(): Int
// CHECK JVM_IR: // CHECK JVM_IR:
// Mangled name: KotlinClass#indexOf(kotlin.Int){}kotlin.Int // Mangled name: KotlinClass#indexOf(kotlin.Int{EnhancedNullability}){}kotlin.Int
// Public signature: /KotlinClass.indexOf|5710916612120162838[0] // Public signature: /KotlinClass.indexOf|866974352596659798[0]
// Public signature debug description: indexOf(kotlin.Int){}kotlin.Int // Public signature debug description: indexOf(kotlin.Int{EnhancedNullability}){}kotlin.Int
/* fake */ override fun indexOf(p0: Int): Int /* fake */ override fun indexOf(p0: @EnhancedNullability Int): Int
// CHECK JVM_IR: // CHECK JVM_IR:
// Mangled name: KotlinClass#isEmpty(){}kotlin.Boolean // Mangled name: KotlinClass#isEmpty(){}kotlin.Boolean
@@ -290,46 +290,46 @@ open class KotlinClass : ArrayList<Int> {
/* fake */ override fun isEmpty(): Boolean /* fake */ override fun isEmpty(): Boolean
// CHECK JVM_IR: // CHECK JVM_IR:
// Mangled name: KotlinClass#iterator(){}kotlin.collections.MutableIterator<kotlin.Int>{EnhancedNullability} // Mangled name: KotlinClass#iterator(){}kotlin.collections.MutableIterator<kotlin.Int{EnhancedNullability}>{EnhancedNullability}
// Public signature: /KotlinClass.iterator|-5915142189962474933[0] // Public signature: /KotlinClass.iterator|115627760567581658[0]
// Public signature debug description: iterator(){}kotlin.collections.MutableIterator<kotlin.Int>{EnhancedNullability} // Public signature debug description: iterator(){}kotlin.collections.MutableIterator<kotlin.Int{EnhancedNullability}>{EnhancedNullability}
/* fake */ override operator fun iterator(): @EnhancedNullability MutableIterator<Int> /* fake */ override operator fun iterator(): @EnhancedNullability MutableIterator<@EnhancedNullability Int>
// CHECK JVM_IR: // CHECK JVM_IR:
// Mangled name: KotlinClass#lastIndexOf(kotlin.Int){}kotlin.Int // Mangled name: KotlinClass#lastIndexOf(kotlin.Int{EnhancedNullability}){}kotlin.Int
// Public signature: /KotlinClass.lastIndexOf|-172555725694166910[0] // Public signature: /KotlinClass.lastIndexOf|1115527748420890033[0]
// Public signature debug description: lastIndexOf(kotlin.Int){}kotlin.Int // Public signature debug description: lastIndexOf(kotlin.Int{EnhancedNullability}){}kotlin.Int
/* fake */ override fun lastIndexOf(p0: Int): Int /* fake */ override fun lastIndexOf(p0: @EnhancedNullability Int): Int
// CHECK JVM_IR: // CHECK JVM_IR:
// Mangled name: KotlinClass#listIterator(){}kotlin.collections.MutableListIterator<kotlin.Int>{EnhancedNullability} // Mangled name: KotlinClass#listIterator(){}kotlin.collections.MutableListIterator<kotlin.Int{EnhancedNullability}>{EnhancedNullability}
// Public signature: /KotlinClass.listIterator|-3740700113407466328[0] // Public signature: /KotlinClass.listIterator|4960815808465755041[0]
// Public signature debug description: listIterator(){}kotlin.collections.MutableListIterator<kotlin.Int>{EnhancedNullability} // Public signature debug description: listIterator(){}kotlin.collections.MutableListIterator<kotlin.Int{EnhancedNullability}>{EnhancedNullability}
/* fake */ override fun listIterator(): @EnhancedNullability MutableListIterator<Int> /* fake */ override fun listIterator(): @EnhancedNullability MutableListIterator<@EnhancedNullability Int>
// CHECK JVM_IR: // CHECK JVM_IR:
// Mangled name: KotlinClass#listIterator(kotlin.Int){}kotlin.collections.MutableListIterator<kotlin.Int>{EnhancedNullability} // Mangled name: KotlinClass#listIterator(kotlin.Int){}kotlin.collections.MutableListIterator<kotlin.Int{EnhancedNullability}>{EnhancedNullability}
// Public signature: /KotlinClass.listIterator|2313954087549974075[0] // Public signature: /KotlinClass.listIterator|-2268028930611070307[0]
// Public signature debug description: listIterator(kotlin.Int){}kotlin.collections.MutableListIterator<kotlin.Int>{EnhancedNullability} // Public signature debug description: listIterator(kotlin.Int){}kotlin.collections.MutableListIterator<kotlin.Int{EnhancedNullability}>{EnhancedNullability}
/* fake */ override fun listIterator(p0: Int): @EnhancedNullability MutableListIterator<Int> /* fake */ override fun listIterator(p0: Int): @EnhancedNullability MutableListIterator<@EnhancedNullability Int>
// CHECK JVM_IR: // CHECK JVM_IR:
// Mangled name: KotlinClass#remove(kotlin.Int){}kotlin.Boolean // Mangled name: KotlinClass#remove(kotlin.Int{EnhancedNullability}){}kotlin.Boolean
// Public signature: /KotlinClass.remove|-2631909738569200722[0] // Public signature: /KotlinClass.remove|2933193249427016334[0]
// Public signature debug description: remove(kotlin.Int){}kotlin.Boolean // Public signature debug description: remove(kotlin.Int{EnhancedNullability}){}kotlin.Boolean
/* fake */ override fun remove(p0: Int): Boolean /* fake */ override fun remove(p0: @EnhancedNullability Int): Boolean
// CHECK JVM_IR: // CHECK JVM_IR:
// Mangled name: KotlinClass#removeAll(kotlin.collections.Collection<kotlin.Int>){}kotlin.Boolean // Mangled name: KotlinClass#removeAll(kotlin.collections.Collection<kotlin.Int{EnhancedNullability}>){}kotlin.Boolean
// Public signature: /KotlinClass.removeAll|-3862070029132854703[0] // Public signature: /KotlinClass.removeAll|-5493620261823900507[0]
// Public signature debug description: removeAll(kotlin.collections.Collection<kotlin.Int>){}kotlin.Boolean // Public signature debug description: removeAll(kotlin.collections.Collection<kotlin.Int{EnhancedNullability}>){}kotlin.Boolean
/* fake */ override fun removeAll(p0: Collection<Int>): Boolean /* fake */ override fun removeAll(p0: Collection<@EnhancedNullability Int>): Boolean
// CHECK JVM_IR: // CHECK JVM_IR:
// Mangled name: KotlinClass#removeAt(kotlin.Int){}kotlin.Int // Mangled name: KotlinClass#removeAt(kotlin.Int){}kotlin.Int{EnhancedNullability}
// Public signature: /KotlinClass.removeAt|1718425690973201805[0] // Public signature: /KotlinClass.removeAt|6480490686215931144[0]
// Public signature debug description: removeAt(kotlin.Int){}kotlin.Int // Public signature debug description: removeAt(kotlin.Int){}kotlin.Int{EnhancedNullability}
/* fake */ override operator fun removeAt(p0: Int): Int /* fake */ override operator fun removeAt(p0: Int): @EnhancedNullability Int
// CHECK: // CHECK:
// Mangled name: KotlinClass#removeRange(kotlin.Int;kotlin.Int){} // Mangled name: KotlinClass#removeRange(kotlin.Int;kotlin.Int){}
@@ -338,22 +338,22 @@ open class KotlinClass : ArrayList<Int> {
protected_and_package /* fake */ override fun removeRange(p0: Int, p1: Int): Unit protected_and_package /* fake */ override fun removeRange(p0: Int, p1: Int): Unit
// CHECK JVM_IR: // CHECK JVM_IR:
// Mangled name: KotlinClass#retainAll(kotlin.collections.Collection<kotlin.Int>){}kotlin.Boolean // Mangled name: KotlinClass#retainAll(kotlin.collections.Collection<kotlin.Int{EnhancedNullability}>){}kotlin.Boolean
// Public signature: /KotlinClass.retainAll|1291083757121901219[0] // Public signature: /KotlinClass.retainAll|-3550913358824719637[0]
// Public signature debug description: retainAll(kotlin.collections.Collection<kotlin.Int>){}kotlin.Boolean // Public signature debug description: retainAll(kotlin.collections.Collection<kotlin.Int{EnhancedNullability}>){}kotlin.Boolean
/* fake */ override fun retainAll(p0: Collection<Int>): Boolean /* fake */ override fun retainAll(p0: Collection<@EnhancedNullability Int>): Boolean
// CHECK JVM_IR: // CHECK JVM_IR:
// Mangled name: KotlinClass#set(kotlin.Int;kotlin.Int){}kotlin.Int // Mangled name: KotlinClass#set(kotlin.Int;kotlin.Int{EnhancedNullability}){}kotlin.Int{EnhancedNullability}
// Public signature: /KotlinClass.set|2686031312585099809[0] // Public signature: /KotlinClass.set|-7932912415931410975[0]
// Public signature debug description: set(kotlin.Int;kotlin.Int){}kotlin.Int // Public signature debug description: set(kotlin.Int;kotlin.Int{EnhancedNullability}){}kotlin.Int{EnhancedNullability}
/* fake */ override operator fun set(p0: Int, p1: Int): Int /* fake */ override operator fun set(p0: Int, p1: @EnhancedNullability Int): @EnhancedNullability Int
// CHECK JVM_IR: // CHECK JVM_IR:
// Mangled name: KotlinClass#subList(kotlin.Int;kotlin.Int){}kotlin.collections.MutableList<kotlin.Int>{EnhancedNullability} // Mangled name: KotlinClass#subList(kotlin.Int;kotlin.Int){}kotlin.collections.MutableList<kotlin.Int{EnhancedNullability}>{EnhancedNullability}
// Public signature: /KotlinClass.subList|-7245971573298952132[0] // Public signature: /KotlinClass.subList|127837164145565172[0]
// Public signature debug description: subList(kotlin.Int;kotlin.Int){}kotlin.collections.MutableList<kotlin.Int>{EnhancedNullability} // Public signature debug description: subList(kotlin.Int;kotlin.Int){}kotlin.collections.MutableList<kotlin.Int{EnhancedNullability}>{EnhancedNullability}
/* fake */ override fun subList(p0: Int, p1: Int): @EnhancedNullability MutableList<Int> /* fake */ override fun subList(p0: Int, p1: Int): @EnhancedNullability MutableList<@EnhancedNullability Int>
// CHECK JVM_IR: // CHECK JVM_IR:
// Mangled name: KotlinClass#toArray(){}kotlin.Array<out|kotlin.Any?>? // Mangled name: KotlinClass#toArray(){}kotlin.Array<out|kotlin.Any?>?
@@ -51337,6 +51337,12 @@ public class JvmAbiConsistencyTestBoxGenerated extends AbstractJvmAbiConsistency
runTest("compiler/testData/codegen/box/specialBuiltins/explicitSuperCall.kt"); 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 @Test
@TestMetadata("irrelevantRemoveAtOverride.kt") @TestMetadata("irrelevantRemoveAtOverride.kt")
public void testIrrelevantRemoveAtOverride() throws Exception { public void testIrrelevantRemoveAtOverride() throws Exception {
@@ -48281,6 +48281,12 @@ public class BlackBoxCodegenTestGenerated extends AbstractBlackBoxCodegenTest {
runTest("compiler/testData/codegen/box/specialBuiltins/explicitSuperCall.kt"); 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 @Test
@TestMetadata("irrelevantRemoveAtOverride.kt") @TestMetadata("irrelevantRemoveAtOverride.kt")
public void testIrrelevantRemoveAtOverride() throws Exception { public void testIrrelevantRemoveAtOverride() throws Exception {
@@ -51389,6 +51389,12 @@ public class IrBlackBoxCodegenTestGenerated extends AbstractIrBlackBoxCodegenTes
runTest("compiler/testData/codegen/box/specialBuiltins/explicitSuperCall.kt"); 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 @Test
@TestMetadata("irrelevantRemoveAtOverride.kt") @TestMetadata("irrelevantRemoveAtOverride.kt")
public void testIrrelevantRemoveAtOverride() throws Exception { public void testIrrelevantRemoveAtOverride() throws Exception {
@@ -51389,6 +51389,12 @@ public class IrBlackBoxCodegenWithIrInlinerTestGenerated extends AbstractIrBlack
runTest("compiler/testData/codegen/box/specialBuiltins/explicitSuperCall.kt"); 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 @Test
@TestMetadata("irrelevantRemoveAtOverride.kt") @TestMetadata("irrelevantRemoveAtOverride.kt")
public void testIrrelevantRemoveAtOverride() throws Exception { public void testIrrelevantRemoveAtOverride() throws Exception {
@@ -41400,6 +41400,11 @@ public class LightAnalysisModeTestGenerated extends AbstractLightAnalysisModeTes
runTest("compiler/testData/codegen/box/specialBuiltins/explicitSuperCall.kt"); 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") @TestMetadata("irrelevantRemoveAtOverride.kt")
public void testIrrelevantRemoveAtOverride() throws Exception { public void testIrrelevantRemoveAtOverride() throws Exception {
runTest("compiler/testData/codegen/box/specialBuiltins/irrelevantRemoveAtOverride.kt"); runTest("compiler/testData/codegen/box/specialBuiltins/irrelevantRemoveAtOverride.kt");